API Errors

The ReST based functions will generate errors that will be one of the errors listed in this section.

Access Forbidden

The server has deemed that you do not have the power to do what you are trying to do. We restrict this sort of operation to supervisors, overlords and other deities.

Code: 403 Forbidden

{
  "message" : "User role is insufficient for this operation",
  "error" : "ACCESS_FORBIDDEN"
}

Active Breakout Session

It’s an active breakout session, it cannot be modify

Code: 400 BadRequest

{
  "message" : "Cannot modify active breakout session",
  "error" : "ACTIVE_BREAKOUT_SESSION"
}

Already Star Channel

The channel is already star channel so it cannot be upgraded.

Code: 200 OK

{
  "message" : "The channel is already star channel",
  "error" : "ALREADY_STAR_CHANNEL"
}

Another Breakout Session Is Active

Cannot start breakout session because another breakout session is active

Code: 400 BadRequest

{
  "message" : "Cannot start breakout session because another breakout session is active",
  "error" : "ANOTHER_BREAKOUT_SESSION_IS_ACTIVE"
}

Api Token Not Found

No such api token

Code: 404 NotFound

{
  "message" : "No such api token: $id",
  "error" : "API_TOKEN_NOT_FOUND"
}

App Session Not Found

There is no such app session

Code: 404 NotFound

{
  "message" : "App session not found",
  "error" : "APP_SESSION_NOT_FOUND"
}

Auth Provider Not Allowed

Provider is not available for given client. In this case, we actually support the provider but the specific client does not allow you to use it for this purpose. Client identifier Third party provider

Code: 400 BadRequest

{
  "message" : "Selected provider($provider) is not available for given client $clientId",
  "error" : "AUTH_PROVIDER_NOT_ALLOWED"
}

Bad Request

The request was malformed or contained errors that make it impossible to process. The message describing the malformation exactly

Code: 400 BadRequest

{
  "message" : "Badly formed request from client: $message",
  "error" : "BAD_REQUEST"
}

Breakout Room Participant Already Assigned

Breakout room participant already assigned to a different room for the same breakout session

Code: 400 BadRequest

{
  "message" : "Breakout room participant already assigned to a different room for the same breakout session",
  "error" : "BREAKOUT_ROOM_PARTICIPANT_ALREADY_ASSIGNED"
}

Broadcast Internal Failure

No channel was found for provided URL in given client context

Code: 500 InternalServerError

{
  "message" : "Error occur while invoking broadcast service",
  "error" : "BROADCAST_INTERNAL_FAILURE"
}

Broadcast Not Enabled

Broadcast is not enabled for a given channel

Code: 400 BadRequest

{
  "message" : "Broadcast is not enabled for this channel.",
  "error" : "BROADCAST_NOT_ENABLED"
}

Cannot Assign Token

There was some problem during assignment of the specified token. The error message will provide more information. The message that describes the problem The channel uuid that has to be assigned

Code: 500 InternalServerError

{
  "message" : "Unable to assign this token: $message",
  "error" : "CANNOT_ASSIGN_TOKEN"
}

Cannot Create User

Cannot create user.

Code: 400 BadRequest

{
  "message" : "User creation was unsuccessful: $reason",
  "error" : "CANNOT_CREATE_USER"
}

Cannot Deassign Token

There was some problem when deassigning the token. The message that describes the problem

Code: 500 InternalServerError

{
  "message" : "Unable to deassign this token: $message",
  "error" : "CANNOT_DEASSIGN_TOKEN"
}

Cannot Delete Channel

We don’t allow owners to delete any channels unless they are sub channels.

Code: 403 Forbidden

{
  "message" : "Only subchannels can be deleted",
  "error" : "CANNOT_DELETE_CHANNEL"
}

Cannot Scope Number

Cannot scope given number

Code: 400 BadRequest

{
  "message" : "Cannot scope given number: $reason",
  "error" : "CANNOT_SCOPE_NUMBER"
}

Channel Mode Switch In Progress

The system is currenly switching the mode for this channel. This happens pretty quickly but you did catch us in the act. Just wait for a hundred milliseconds and try again.

Code: 409 Conflict

{
  "message" : "Channel mode switch is already in progress",
  "error" : "CHANNEL_MODE_SWITCH_IN_PROGRESS"
}

Channel Must Be Active

Code: 400 BadRequest

{
  "message" : "The channel must be active for this operation to succeed",
  "error" : "CHANNEL_MUST_BE_ACTIVE"
}

Channel Name Not Unique

The channel name you requested is not unique. Get creative!

Code: 400 BadRequest

{
  "message" : "Someone has already taken this channel name",
  "error" : "CHANNEL_NAME_NOT_UNIQUE"
}

Channel Not Created

Reported if channel creation failed because the database was unable to add the record. We hope never to see this happen….. The failed name requested

Code: 500 InternalServerError

{
  "message" : "Database did not create the channel",
  "error" : "CHANNEL_NOT_CREATED"
}

Client Disabled

Trying to access resource from client that has been disabled

Code: 403 Forbidden

{
  "message" : "Trying to access resource from client that has been disabled",
  "error" : "CLIENT_DISABLED"
}

Client Endpoint Not Found

The client endpoint you are looking for is just not there.

Code: 404 NotFound

{
  "message" : "No such client endpoint: $id",
  "error" : "CLIENT_ENDPOINT_NOT_FOUND"
}

Client Name Not Unique

The client name you requested is not unique. Get creative!

Code: 400 BadRequest

{
  "message" : "Given client name has been taken already",
  "error" : "CLIENT_NAME_NOT_UNIQUE"
}

Client Not Found

The client id that you used for given call is not known to us. Please check your request carefully.

Code: 404 NotFound

{
  "message" : "No such client: $clientId",
  "error" : "CLIENT_NOT_FOUND"
}

Completed Breakout Session

It’s an completed breakout session, it cannot be modify

Code: 400 BadRequest

{
  "message" : "Cannot modify completed breakout session",
  "error" : "COMPLETED_BREAKOUT_SESSION"
}

Configuration Error

Somehow, an internal configuration file was not correctly set up. We hope we never see this!

Code: 500 InternalServerError

{
  "message" : "The configuration is broken: $message",
  "error" : "CONFIGURATION_ERROR"
}

Data Not Available

The data you are looking for is not available We did our best.

Code: 404 NotFound

{
  "message" : "The data you are requesting does not have a value",
  "error" : "DATA_NOT_AVAILABLE"
}

Database Error

Something went wrong in the database access. It was something we could not handle so the details of the error that the database delivered are in the error message. We are keen to eliminate these but the database is so creative. Message from the database

Code: 500 InternalServerError

{
  "message" : "Database access error: $reason",
  "error" : "DATABASE_ERROR"
}

Default Provider Not On List

Provider choosen to be default is not present on authentication providers list Provider name

Code: 400 BadRequest

{
  "message" : "Selected provider is not on auth providers list: $provider",
  "error" : "DEFAULT_PROVIDER_NOT_ON_LIST"
}

Dial In Disabled

You cannot configure SIP inbound calls from that channel. Dial in has been disabled.

Code: 403 Forbidden

{
  "message" : "You cannot configure SIP inbound calls from that channel. Dial in has been disabled.",
  "error" : "DIAL_IN_DISABLED"
}

Dial Out Disabled

You cannot make a SIP calls from that channel. Dial out has been disabled.

Code: 403 Forbidden

{
  "message" : "You cannot make a SIP calls from that channel. Dial out has been disabled.",
  "error" : "DIAL_OUT_DISABLED"
}

Existing Not Unique Handles

Cannot change the client configuration as there exists non unique users handles already.

Code: 403 Forbidden

{
  "message" : "Cannot change the client configuration as there exists non unique users handles already.",
  "error" : "EXISTING_NOT_UNIQUE_HANDLES"
}

Existing Reservation

Reservation already exists

Code: 400 BadRequest

{
  "message" : "Reservation for a given number already exists",
  "error" : "EXISTING_RESERVATION"
}

Expired Email Verification

The link you presented to validate your email has expired.

Code: 404 NotFound

{
  "message" : "The email verification link has expired",
  "error" : "EXPIRED_EMAIL_VERIFICATION"
}

Forbidden User

The user making the request has been forbidden from using Horn’s services. This happens if we think your behaviour is pretty bad…. The user that was requested but is forbidden

Code: 403 Forbidden

{
  "message" : "The user with ID $userRequested has been forbidden on horn",
  "error" : "FORBIDDEN_USER"
}

Friendly U R L Not Unique

Given URL path is already taken in that client context

Code: 400 BadRequest

{
  "message" : "Given URL path is already taken in that client context",
  "error" : "FRIENDLY_U_R_L_NOT_UNIQUE"
}

Friendly U R Ls Disabled

Friendly URLs are disabled in that client context

Code: 400 BadRequest

{
  "message" : "Friendly URLs are disabled in that client context",
  "error" : "FRIENDLY_U_R_LS_DISABLED"
}

Gateway Endpoint Not Found

Gateway endpoint not found

Code: 404 NotFound

{
  "message" : "Endpoint not found",
  "error" : "GATEWAY_ENDPOINT_NOT_FOUND"
}

Guest Users Not Available

User is not logged into channel

Code: 403 Forbidden

{
  "message" : "Guest users is not available in this channel",
  "error" : "GUEST_USERS_NOT_AVAILABLE"
}

Handle Not Unique

The handle requested is not unique. Get creative!

Code: 400 BadRequest

{
  "message" : "Someone has already taken this handle",
  "error" : "HANDLE_NOT_UNIQUE"
}

Image Extension Not Allowed

You are attempting to upload an image in a format that we do not understand. We do all the boring formats that keep the rest of the world happy so try one of those.

Code: 400 BadRequest

{
  "message" : "The image extension is not allowed: $ext",
  "error" : "IMAGE_EXTENSION_NOT_ALLOWED"
}

Image Is Malformed

Whatever image was sent, we could not understand it. Please check it carefully then send it again.

Code: 404 NotFound

{
  "message" : "The image is malformed",
  "error" : "IMAGE_IS_MALFORMED"
}

Image Resolution Over Limit

You have exceeded the image resolution that we allow for the platform. Dig out some image manipulation tool, shrink that puppy and try again.

Code: 400 BadRequest

{
  "message" : "The image resolution exceed the limits: $limit, the actual size is: $size",
  "error" : "IMAGE_RESOLUTION_OVER_LIMIT"
}

Image Size Over Limit

The image file is just too big for us to manage. Compress it, shrink it or express yourself with another image.

Code: 400 BadRequest

{
  "message" : "The image size exceed the limits: $limit",
  "error" : "IMAGE_SIZE_OVER_LIMIT"
}

Image Stream Is Empty

We were unable to retrieve the image. Check the image URL.

Code: 404 NotFound

{
  "message" : "The image stream is Empty",
  "error" : "IMAGE_STREAM_IS_EMPTY"
}

Insufficient Privileges

Guess what? Our authentication service did not find you or your token acceptable. It may have expired or be malformed.

Code: 403 Forbidden

{
  "message" : "Insufficient privileges to execute operation",
  "error" : "INSUFFICIENT_PRIVILEGES"
}

Invalid Channel Mode

The requested channel service mode is not supported. The illegal mode request

Code: 400 BadRequest

{
  "message" : "Invalid channel service mode requested: $mode",
  "error" : "INVALID_CHANNEL_MODE"
}

Invalid Channel State For User

Channel state for given user is unknown or invalid

Code: 500 InternalServerError

{
  "message" : "Invalid channel state: $state",
  "error" : "INVALID_CHANNEL_STATE_FOR_USER"
}

Invalid Handle

User handle is invalid, possibly because it has leading or trailing white space.

Code: 400 BadRequest

{
  "message" : "Handle is invalid because it has leading and or trailing white space",
  "error" : "INVALID_HANDLE"
}

Invalid Handle Reservation Nonce

The request presented an invalid or expired handle reservation NONCE. Either you have already used the NONCE to retrieve a reserved handle or you dreamed up the NONCE.

Code: 404 NotFound

{
  "message" : "The handle reservation NONCE is invalid or has expired",
  "error" : "INVALID_HANDLE_RESERVATION_NONCE"
}

Invalid Levels List

Client provided invalid comma separated list of ACL levels

Code: 400 BadRequest

{
  "message" : "Levels should be comma separated integers: $levels",
  "error" : "INVALID_LEVELS_LIST"
}

Invalid Maximum Users Setting

The maximum number of users in a channel must be some number greater than two and some value less than the maximum value permitted system wide. This is an internal function so regular users will not see this message.

Code: 400 BadRequest

{
  "message" : "Invalid settings for maximum number of users. It must be greater than or equal to 2 and less than the preset limits",
  "error" : "INVALID_MAXIMUM_USERS_SETTING"
}

Invalid Media Pool Size

Invalid media pool size

Code: 400 BadRequest

{
  "message" : "Invalid media pool size",
  "error" : "INVALID_MEDIA_POOL_SIZE"
}

Invalid Name

Name is invalid, possibly because it has leading or trailing white space.

Code: 400 BadRequest

{
  "message" : "Given name is invalid because it has leading and or trailing white space",
  "error" : "INVALID_NAME"
}

Invalid Parameter

Client provided invalid sort option

Code: 400 BadRequest

{
  "message" : "Invalid $name parameter value: $value ",
  "error" : "INVALID_PARAMETER"
}

Invalid Phone Number

Our attempt to communicate with the audio streaming servers was thwarted. Just try the operation again.

Code: 400 BadRequest

{
  "message" : "The phone number ($number) is not in a valid format (e.g. +1(434)260-HORN,*123#)",
  "error" : "INVALID_PHONE_NUMBER"
}

Invalid Platform

You are using a computing platform that we don’t know about.

Code: 400 BadRequest

{
  "message" : "Invalid platform was selected: $platform",
  "error" : "INVALID_PLATFORM"
}

Invalid Recording Asset Kind

Recording asset kind was invalid

Code: 400 BadRequest

{
  "message" : "Invalid kind parameter",
  "error" : "INVALID_RECORDING_ASSET_KIND"
}

Invalid Recording Asset State

Recording asset state was invalid

Code: 404 NotFound

{
  "message" : "Invalid recording asset state: $state",
  "error" : "INVALID_RECORDING_ASSET_STATE"
}

Invalid Request Missing Fields

Invalid request because of missing fields

Code: 400 BadRequest

{
  "message" : "Some or all fields are missing in request: $fields",
  "error" : "INVALID_REQUEST_MISSING_FIELDS"
}

Invalid Requestded State

Lobby door can be open or close.

Code: 400 BadRequest

{
  "message" : "Valid states are ${options.mkString(",
  "error" : "INVALID_REQUESTDED_STATE"
}

Invalid Sort Option

Client provided invalid sort option

Code: 400 BadRequest

{
  "message" : "Invalid sort option: $option",
  "error" : "INVALID_SORT_OPTION"
}

Invalid Sort Order

Client provided invalid sort option

Code: 400 BadRequest

{
  "message" : "Invalid sort order: $order",
  "error" : "INVALID_SORT_ORDER"
}

Invalid Token Type

The feature token type requested was not a valid feature token for this operation. The type of token required for the operation that resulted in the failure

Code: 400 BadRequest

{
  "message" : "Invalid token type requested. This operation requires a '$requestedType' token",
  "error" : "INVALID_TOKEN_TYPE"
}

Invalid Url Name

Channel URL name is invalid, possibly because it has leading or trailing white space

Code: 400 BadRequest

{
  "message" : "Url name is invalid because it has leading and or trailing white space",
  "error" : "INVALID_URL_NAME"
}

Invalid User Search Ordering

The selected user search ordering is not supported. Supported orderings are handle and reputation so the request was rejected.

Code: 400 BadRequest

{
  "message" : "User search ordering parameter was invalid",
  "error" : "INVALID_USER_SEARCH_ORDERING"
}

Invitation Expired

Given provider is already reserved for a client

Code: 400 BadRequest

{
  "message" : "Invitation expired",
  "error" : "INVITATION_EXPIRED"
}

Is Star Channel

You attempted to treat an ordinary channel as a star channel. You may have asked an ordinary channel for its child channels or some such.

Code: 403 Forbidden

{
  "message" : "The channel is already a star channel",
  "error" : "IS_STAR_CHANNEL"
}

J W T Validation Failure

JWT Validation failed

Code: 400 BadRequest

{
  "message" : "Validation failed: $reason.",
  "error" : "J_W_T_VALIDATION_FAILURE"
}

Kafka Logging Disabled

We hose everything at Kafka but in some poetic Kafkaesque turn of events, Kafka is not getting our messages. Very much our issue and we are sorry…

Code: 500 InternalServerError

{
  "message" : "Failed to write log message to Kafka. Logging is now disabled",
  "error" : "KAFKA_LOGGING_DISABLED"
}

Kafka Logging Error

We hose everything at Kafka but in some poetic Kafkaesque turn of events, Kafka is not getting our messages. Very much our issue and we are sorry…

Code: 500 InternalServerError

{
  "message" : "Failed to write log message to Kafka",
  "error" : "KAFKA_LOGGING_ERROR"
}

Malformed Email

Horn has a very minimal idea of what a well formed email is. Your submission did not even look like our minimal idea.

Code: 400 BadRequest

{
  "message" : "Malformed email address supplied",
  "error" : "MALFORMED_EMAIL"
}

Malformed Url

The URL that you submitted could not be parsed. It should conform to the RFC on the matter.

Code: 400 BadRequest

{
  "message" : "Malformed url supplied",
  "error" : "MALFORMED_URL"
}

Media Not Found

File not found

Code: 404 NotFound

{
  "message" : "File not found.",
  "error" : "MEDIA_NOT_FOUND"
}

Missing Parameter

Invalid duration parameter

Code: 400 BadRequest

{
  "message" : "Missing parameter $name",
  "error" : "MISSING_PARAMETER"
}

No Active Breakout Session

There is no active breakout session

Code: 204 NoContent

{
  "message" : "There is no active breakout session",
  "error" : "NO_ACTIVE_BREAKOUT_SESSION"
}

No Channel Assigned

The deassigning of the token failed, because the token does not have channel or user assigned already.

Code: 200 OK

{
  "message" : "The token is deassigned already",
  "error" : "NO_CHANNEL_ASSIGNED"
}

No Channel Found For U R L

No channel was found for provided URL in given client context

Code: 404 NotFound

{
  "message" : "No channel found for that URL",
  "error" : "NO_CHANNEL_FOUND_FOR_U_R_L"
}

No Credentials Supplied

You did not supply suitable authentication credentials for rest based auth requests. Get a token and try again.

Code: 401 Unauthorized

{
  "message" : "Authentication credentials were not provided",
  "error" : "NO_CREDENTIALS_SUPPLIED"
}

No Invitation

Invitation not found for given code

Code: 404 NotFound

{
  "message" : "Invitation not found",
  "error" : "NO_INVITATION"
}

No Recording Provider Found

You have not set up a recording (upload) provider for this channel so we are unable to send the recording to a place that you can access it.

Code: 404 NotFound

{
  "message" : "No recording provider found for this channel",
  "error" : "NO_RECORDING_PROVIDER_FOUND"
}

No Selected Template

Given channel doesn’t have template selected

Code: 204 NoContent

{
  "message" : "Given channel doesn't have template selected",
  "error" : "NO_SELECTED_TEMPLATE"
}

No Space Left

There is not enough space left in media pool to upload a file.

Code: 507 InsufficientStorage

{
  "message" : "There is not enough space left in media pool to upload a file.",
  "error" : "NO_SPACE_LEFT"
}

No User Email

We requested a user’s email from their authentication provider but were unable to retrieve it The user id

Code: 404 NotFound

{
  "message" : "The user with ID $userId has no provided email address",
  "error" : "NO_USER_EMAIL"
}

No Validator

Given client has no validator configured

Code: 500 InternalServerError

{
  "message" : "There is no validator configured for client: $clientId",
  "error" : "NO_VALIDATOR"
}

No Validator Assigned

Given client has no validator assigned so operation cannot be performed (i.e. predefined user creation)

Code: 400 BadRequest

{
  "message" : "Your client has no validator assigned so this operation cannot be performed",
  "error" : "NO_VALIDATOR_ASSIGNED"
}

Non Event Room

You cannot configure breakout session as that channel is not an event room

Code: 403 Forbidden

{
  "message" : "You cannot configure breakout session as that channel is not an event room.",
  "error" : "NON_EVENT_ROOM"
}

Non Existing Email

No such email

Code: 404 NotFound

{
  "message" : "No such email: $email",
  "error" : "NON_EXISTING_EMAIL"
}

Non Existing Number

No such number

Code: 404 NotFound

{
  "message" : "No such number: $phone",
  "error" : "NON_EXISTING_NUMBER"
}

Non Existing Origin User

The requested origin (predefined) user cannot be found.

Code: 404 NotFound

{
  "message" : "No such user: $originId",
  "error" : "NON_EXISTING_ORIGIN_USER"
}

Non Existing Reservation

Reservation for given number is not available now

Code: 404 NotFound

{
  "message" : "There is no active reservation",
  "error" : "NON_EXISTING_RESERVATION"
}

Non Existing Validator

The requested validator cannot be found.

Code: 404 NotFound

{
  "message" : "No such validator: $validatorId",
  "error" : "NON_EXISTING_VALIDATOR"
}

Nonexistent Access Level

The access level you requested does not exist.

Code: 404 NotFound

{
  "message" : "The requested access level does not exist",
  "error" : "NONEXISTENT_ACCESS_LEVEL"
}

Nonexistent Auth Token

There was a problem retrieving the user credentials for this authentication token. It may be that the authentication service is temporarily unavailable so try again. The user that request for token

Code: 401 Unauthorized

{
  "message" : "Cannot fetch auth token for user: $id",
  "error" : "NONEXISTENT_AUTH_TOKEN"
}

Nonexistent Breakout Room

The breakout room does not exist

Code: 400 BadRequest

{
  "message" : "The breakout room with ID $roomId does not exist",
  "error" : "NONEXISTENT_BREAKOUT_ROOM"
}

Nonexistent Breakout Session

The breakout session does not exist

Code: 400 BadRequest

{
  "message" : "The breakout session does not exist",
  "error" : "NONEXISTENT_BREAKOUT_SESSION"
}

Nonexistent Channel

The requested action could not be performed because the channel in the request does not exist. The channel that was requested but not found

Code: 404 NotFound

{
  "message" : "The channel with ID $channelRequested does not exist",
  "error" : "NONEXISTENT_CHANNEL"
}

Nonexistent Token

The feature token you requested does not exist.

Code: 404 NotFound

{
  "message" : "The requested token does not exist",
  "error" : "NONEXISTENT_TOKEN"
}

Nonexistent User

The requested action could not be performed because the user in the request does not exist. The user that was requested but not found

Code: 404 NotFound

{
  "message" : "The user with ID $userRequested was not found",
  "error" : "NONEXISTENT_USER"
}

Nonexistent User Handle

The specific user as referenced by their handle was not found. Users sometimes change their handles or you just did not spell it right. The user handle that was requested but not found

Code: 404 NotFound

{
  "message" : "The user with handle $handle was not found",
  "error" : "NONEXISTENT_USER_HANDLE"
}

Not An Active Session

Given session id is not an active session in a given channel.

Code: 204 NoContent

{
  "message" : "Given session id is not an active session in a given channel.",
  "error" : "NOT_AN_ACTIVE_SESSION"
}

Not Authenticated

Guess what? Our authentication service did not find you or your token acceptable. It may have expired or be malformed.

Code: 401 Unauthorized

{
  "message" : "You are not authenticated",
  "error" : "NOT_AUTHENTICATED"
}

Not Channel Operator

The calling user attempted an operation that is only permitted by operators for this channel. The ID of the requesting user.

Code: 403 Forbidden

{
  "message" : "You are not the operator of this channel",
  "error" : "NOT_CHANNEL_OPERATOR"
}

Not Channel Owner

The calling user attempted an operation that is only permitted by the owner of the channel. The ID of the requesting user.

Code: 403 Forbidden

{
  "message" : "You are not the owner of this channel",
  "error" : "NOT_CHANNEL_OWNER"
}

Not Panelist

The request can only be performed by users that are also panelists for the channel. The ID of the requesting user.

Code: 403 Forbidden

{
  "message" : "The requesting user is not a panelist",
  "error" : "NOT_PANELIST"
}

Not Permitted

The calling user does not have permission to perform the requested operation.

Code: 403 Forbidden

{
  "message" : "Operation not permitted: $reason",
  "error" : "NOT_PERMITTED"
}

Not Star Channel

You attempted to treat an ordinary channel as a star channel. You may have asked an ordinary channel for its child channels or some such.

Code: 403 Forbidden

{
  "message" : "Channel is not a star channel",
  "error" : "NOT_STAR_CHANNEL"
}

Not Token Owner

The requesting user is attempting to manipulate a token that they don’t own. We cannot let you do that! The ID of the requesting user.

Code: 403 Forbidden

{
  "message" : "You are not the owner of this token",
  "error" : "NOT_TOKEN_OWNER"
}

Not Top Level Channel

You attempted some operation that assumes this channel is a star channel. Star channels are special because they can have star children.

Code: 400 BadRequest

{
  "message" : "This operation is only permitted on top level channels",
  "error" : "NOT_TOP_LEVEL_CHANNEL"
}

Not Unregistered User

The requested action could not be performed because user is not an unregistered user. The user that was requested

Code: 403 Forbidden

{
  "message" : "The user with ID $userId is not an unregistered user",
  "error" : "NOT_UNREGISTERED_USER"
}

Not Updated

The database/storage was not updated because the entity already exists in the database. Please let us know if you see this one. The reason why the data store was not updated

Code: 200 OK

{
  "message" : "Value already exists in storage: $reason",
  "error" : "NOT_UPDATED"
}

Other Client Context

Error returned when there is an action that tries access items (users/channels) from other client contexts

Code: 403 Forbidden

{
  "message" : "Trying to access resource from another client context",
  "error" : "OTHER_CLIENT_CONTEXT"
}

Owner Is Priviledged

Return this error if an operation involving the channel owner is prohibited. One example is channel owners are automatically operators and cannot be removed as operators. We value our channel owners at Horn.

Code: 304 NotModified

{
  "message" : "You cannot do that to a channel owner",
  "error" : "OWNER_IS_PRIVILEDGED"
}

P S T N Provider Error

Something went wrong while we were trying to communicate with our upstream PSTN provider. There is not much a user can do about this but it will pop up on our radar immediatly.

Code: 400 BadRequest

{
  "message" : "Unable to complete SIP request. Upstream PSTN server returned code $status and message '$message'",
  "error" : "P_S_T_N_PROVIDER_ERROR"
}

Panelists Limit Reached

At some point, too many panelists are not a good thing. You attempted to add too many panelists.

Code: 400 BadRequest

{
  "message" : "Penelist limit reached",
  "error" : "PANELISTS_LIMIT_REACHED"
}

Pin Incorrect

There was a problem when adding new channel pin

Code: 400 BadRequest

{
  "message" : "Given pin is incorrect: $reason",
  "error" : "PIN_INCORRECT"
}

Provider Already Reserved

Given provider is already reserved for a client

Code: 400 BadRequest

{
  "message" : "Provider '$provider' is already reserved for client $clientId",
  "error" : "PROVIDER_ALREADY_RESERVED"
}

Provider Not Supported

The oauth or recording upload provider you have requested is not supported. Unsupported provider name

Code: 404 NotFound

{
  "message" : "",
  "error" : "PROVIDER_NOT_SUPPORTED"
}

Proxy For Lookup Error

Reported if channel creation failed

Code: 500 InternalServerError

{
  "message" : "Cannot find/create channel with id: $id. Try again in a moment.",
  "error" : "PROXY_FOR_LOOKUP_ERROR"
}

Recording Asset Not Found

The recording asset you are looking for is just not there.

Code: 404 NotFound

{
  "message" : "No such recording asset: $id",
  "error" : "RECORDING_ASSET_NOT_FOUND"
}

Recording From Other Channel

The recording you are looking for is there but it belongs to other channel that you provided as a context

Code: 400 BadRequest

{
  "message" : "Recording belongs to other channel",
  "error" : "RECORDING_FROM_OTHER_CHANNEL"
}

Recording Has End Time

The recording you are trying to set “end time” for already has one set

Code: 400 BadRequest

{
  "message" : "Recording has end time set",
  "error" : "RECORDING_HAS_END_TIME"
}

Recording Has Ready Time

The recording you are trying to set “ready time” for already has one set

Code: 400 BadRequest

{
  "message" : "Recording has ready time set",
  "error" : "RECORDING_HAS_READY_TIME"
}

Recording Not Ended

The operation you are trying to do requires recording to ended but its in progress still

Code: 400 BadRequest

{
  "message" : "Recording not ended yet",
  "error" : "RECORDING_NOT_ENDED"
}

Recording Not Found

The recording you are looking for is just not there. Typically, a recording failed to upload and now you need to change its upload provider but you have the wrong recording or it got uploaded in the mean time.

Code: 404 NotFound

{
  "message" : "Recording not found",
  "error" : "RECORDING_NOT_FOUND"
}

Recording Not Ready

The operation you are trying to do requires recording to be ready but its not yet ready

Code: 400 BadRequest

{
  "message" : "Recording not yet ready",
  "error" : "RECORDING_NOT_READY"
}

Recording State Invalid

Recordings have various states (recording, complete, uploaded, failed etc). In this case, you have tried to do something that you cannot do to a recording in the state that it is on the server.

Code: 400 BadRequest

{
  "message" : "Recording state not valid",
  "error" : "RECORDING_STATE_INVALID"
}

Redirection Loop

We have detected a redirection loop and are cowardly avoiding seeing if the infinite loop is really infinite. Check the URL you want us to redirect to.

Code: 508 LoopDetected

{
  "message" : "The request cannot be processed because of redirect loop",
  "error" : "REDIRECTION_LOOP"
}

Search Limit Exceeded

We limit searches to save you from having to download our entire database. This is how we suggest you take smaller bites at the search.

Code: 400 BadRequest

{
  "message" : "Search return count limit exceeded",
  "error" : "SEARCH_LIMIT_EXCEEDED"
}

Session Not Found

Cannot find session for given id

Code: 404 NotFound

{
  "message" : "No such session: $id",
  "error" : "SESSION_NOT_FOUND"
}

Streaming Api Error

Our attempt to communicate with the audio streaming servers was thwarted. Just try the operation again.

Code: 500 InternalServerError

{
  "message" : "Audio server REST error: $s",
  "error" : "STREAMING_API_ERROR"
}

Template Not Found

Given template was not found

Code: 404 NotFound

{
  "message" : "No such template",
  "error" : "TEMPLATE_NOT_FOUND"
}

Terms Not Current

Just so we understand each other, Horn has terms and agreements with you. In this case, we have changed the terms to make the deal better for all of us and you need to read and accept these terms before continuing.

Code: 401 Unauthorized

{
  "message" : "The user has not agreed to the current terms & conditions",
  "error" : "TERMS_NOT_CURRENT"
}

Terms Version Invalid

Just so we understand each other, Horn has terms and agreements with you. In this case, you are agreeing to terms we don’t have. Check what the latest terms are and accept those.

Code: 400 BadRequest

{
  "message" : "The accepted terms and conditions version is not valid",
  "error" : "TERMS_VERSION_INVALID"
}

Text Too Long

The text you supplied was too long for whatever you wanted us to do with it. Brevity will make this message go away. The maximum length allowed for this field

Code: 400 BadRequest

{
  "message" : "The text string submitted was too long for the field. Limit is $maxLen characters",
  "error" : "TEXT_TOO_LONG"
}

Text Too Short

The text field you supplied is too short for us to use! Get creative and send us more. The error message will tell you how long it has to be. The maximum length allowed for this field

Code: 400 BadRequest

{
  "message" : "The text string submitted was too short for the field. Limit is $minLen characters",
  "error" : "TEXT_TOO_SHORT"
}

Third Part Service Error

The error was caused by a request to a third part service failed or was not properly handled. The information about error

Code: 500 InternalServerError

{
  "message" : "The error was caused by third part service: $message",
  "error" : "THIRD_PART_SERVICE_ERROR"
}

Time To Leave Out Of Range

TTL parameter higher than max

Code: 400 BadRequest

{
  "message" : "TTL parameter out of range. Max is: $max",
  "error" : "TIME_TO_LEAVE_OUT_OF_RANGE"
}

Token Already In Use

The token is in use and cannot be reassigned. Deassign it or use another token.

Code: 409 Conflict

{
  "message" : "The requested token has already been allocated",
  "error" : "TOKEN_ALREADY_IN_USE"
}

Token Channel Mismatch

An operation has been requested for a token that is assigned to a different channel and cannot be applied to this channel.

Code: 409 Conflict

{
  "message" : "Token is not for this channel ",
  "error" : "TOKEN_CHANNEL_MISMATCH"
}

Token Has Expired

The requested token has expired.

Code: 402 PaymentRequired

{
  "message" : "The requested token has expired",
  "error" : "TOKEN_HAS_EXPIRED"
}

Token Logic Error

The error is thrown when some condition does not fit to specified token logic. The error message will give more information. The information about the error

Code: 406 NotAcceptable

{
  "message" : "Token logic error: $message",
  "error" : "TOKEN_LOGIC_ERROR"
}

Unique Handle Is Active

Unique handle is active, use request with nonce.

Code: 400 BadRequest

{
  "message" : "Unique handle is active, use request with nonce",
  "error" : "UNIQUE_HANDLE_IS_ACTIVE"
}

Unknown Auth Provider

The supplied provider is not supported as authorization provider. Third party provider

Code: 400 BadRequest

{
  "message" : "Unsupported provider(s): $provider",
  "error" : "UNKNOWN_AUTH_PROVIDER"
}

Unknown Language Code

The languages you have requested are not known to us. Please tell us about this and we will learn your language and make this message go away.

Code: 400 BadRequest

{
  "message" : "Given language codes: ${codes.mkString(",
  "error" : "UNKNOWN_LANGUAGE_CODE"
}

Unverified Email

Operation requires verified email

Code: 403 Forbidden

{
  "message" : "Cannot perform operation without email verification ",
  "error" : "UNVERIFIED_EMAIL"
}

User Already Registered

The user you are attempting to register is already registered with Horn.

Code: 400 BadRequest

{
  "message" : "This user is already registered",
  "error" : "USER_ALREADY_REGISTERED"
}

User Context Required

User context is required for given action

Code: 400 BadRequest

{
  "message" : "Cannot perform operation because it requires user context and you probably used API Token which has no user related to it.",
  "error" : "USER_CONTEXT_REQUIRED"
}

User Id Is Not Long

Horn user IDs are Long (64 bit) integers. The value you provided cannot be parsed as a Long.

Code: 500 InternalServerError

{
  "message" : "The user ID retrieved is not a Long",
  "error" : "USER_ID_IS_NOT_LONG"
}

User Is Forbidden

The user making the request has been forbidden from using Horn’s services. This happens if we think your behaviour is pretty bad….

Code: 403 Forbidden

{
  "message" : "The user has been forbidden on horn",
  "error" : "USER_IS_FORBIDDEN"
}

User Not In Channel

User is not logged into channel

Code: 400 BadRequest

{
  "message" : "Given user[$id] is not logged into channel",
  "error" : "USER_NOT_IN_CHANNEL"
}

User Not Registered

Horn does not have any details for the user you just attempted to get details on.

Code: 404 NotFound

{
  "message" : "The user is not registered with Horn",
  "error" : "USER_NOT_REGISTERED"
}

Validator Not Found

Given validator was not found

Code: 404 NotFound

{
  "message" : "No such validator",
  "error" : "VALIDATOR_NOT_FOUND"
}

Video Token Not Assigned

The operation requested requires that a video token be assigned to the channel but a suitable token was not found.

Code: 400 BadRequest

{
  "message" : "The video token was not assigned to the channel",
  "error" : "VIDEO_TOKEN_NOT_ASSIGNED"
}

Wrong Duration Format

Invalid duration parameter

Code: 400 BadRequest

{
  "message" : "Duration need to be a positive number provided with a unit, i.e. 1m for 1 minute or 1d for one day.",
  "error" : "WRONG_DURATION_FORMAT"
}

Wrong Token Type

Given token type was incorrect. For example, you cannot use an operator token to get a premium channel.

Code: 400 BadRequest

{
  "message" : "The given token type was incorrect: $message",
  "error" : "WRONG_TOKEN_TYPE"
}

Wrong User Kind

Given user is not predefined user

Code: 400 BadRequest

{
  "message" : "Cannot perform this operation on user $kind ",
  "error" : "WRONG_USER_KIND"
}

Api Token Not Found

No Such Api Token

Code: 404 NotFound

{
  "message" : "\"No Such API Token\"",
  "error" : "API_TOKEN_NOT_FOUND"
}

Auth Pair Already Exist

Looks like your provider ID is not unique.

Code: 409 Conflict

{
  "message" : "s\"ProviderID[$providerId] already exist for provider[$provider]\"",
  "error" : "AUTH_PAIR_ALREADY_EXIST"
}

Auth Provider Not Allowed

Provider is not available for given client. In this case, we actually support the provider but the specific client does not allow you to use it for this purpose. Client identifier Third party provider

Code: 400 BadRequest

{
  "message" : "s\"Selected provider($provider) is not available for given client $clientId\"",
  "error" : "AUTH_PROVIDER_NOT_ALLOWED"
}

Auth Timeout

We can’t wait forever till you authorize correctly so we got bored and timed your request out.

Code: 408 RequestTimeout

{
  "message" : "\"User timed out during authentication process\"",
  "error" : "AUTH_TIMEOUT"
}

Auth Verifier Missing

Provider did not supply an oauth verification code.

Code: 401 Unauthorized

{
  "message" : "\"Provider did not supply an oauth verifier\"",
  "error" : "AUTH_VERIFIER_MISSING"
}

Authentication Error

An error occurred during authentication with third party provider. What went wrong

Code: 500 InternalServerError

{
  "message" : "s\"There was a problem during authentication: $reason\"",
  "error" : "AUTHENTICATION_ERROR"
}

Client Mismatch

The client id provided in request path doesn’t match client Id from user invitation.

Code: 400 BadRequest

{
  "message" : "s\"The client id provided in request path doesn't match client Id from user invitation.\"",
  "error" : "CLIENT_MISMATCH"
}

Client Not In Context

The client id provided in request path doesn’t match client Id from user invitation.

Code: 400 BadRequest

{
  "message" : "s\"Requester do not belong to client Id context provided in request path.\"",
  "error" : "CLIENT_NOT_IN_CONTEXT"
}

Expired Invitation

The invitation code has expired.

Code: 400 BadRequest

{
  "message" : "\"Invitation has expired\"",
  "error" : "EXPIRED_INVITATION"
}

Expired Token

The authorization token that you are using has expired. Re-authenticate please.

Code: 401 Unauthorized

{
  "message" : "\"Token has expired\"",
  "error" : "EXPIRED_TOKEN"
}

Failed Creating Nonce

There was a problem when creating temporary identifier.

Code: 500 InternalServerError

{
  "message" : "\"Failed to create a state NONCE\"",
  "error" : "FAILED_CREATING_NONCE"
}

Insufficient Privilege

User cannot perform the requested action because of insufficient privileges

Code: 403 Forbidden

{
  "message" : "\"User has insufficient privileges for this action\"",
  "error" : "INSUFFICIENT_PRIVILEGE"
}

Internal Error

Something has happened that should never happen. Please let us know about this. The reason that the underlying fault reported.

Code: 500 InternalServerError

{
  "message" : "reason",
  "error" : "INTERNAL_ERROR"
}

Invalid Handle Reservation Nonce

The request presented an invalid or expired context NONCE. Either it was already used the NONCE or you dreamed up the NONCE.

Code: 400 BadRequest

{
  "message" : "s\"The request presented an invalid or expired context NONCE.\"",
  "error" : "INVALID_HANDLE_RESERVATION_NONCE"
}

Invalid Role

Requested role is invalid

Code: 400 BadRequest

{
  "message" : "\"Invalid role requested\"",
  "error" : "INVALID_ROLE"
}

Invitation Not Found

The invitation code has expired.

Code: 404 NotFound

{
  "message" : "\"Invitation code is invalid\"",
  "error" : "INVITATION_NOT_FOUND"
}

Invitation Required

The invitation code is required.

Code: 400 BadRequest

{
  "message" : "\"Invitation code is required\"",
  "error" : "INVITATION_REQUIRED"
}

Login Denied

Authorization was denied. The exact reason is provided in the error message.

Code: 401 Unauthorized

{
  "message" : "s\"Login denied, reason: $reason\"",
  "error" : "LOGIN_DENIED"
}

Method Not Allowed For Api Token

API Token cannot call for given request (i.e. its user-specific and api tokens are not tight to any user)

Code: 400 BadRequest

{
  "message" : "s\"Request cannot be processed because you're using an API Token which has no user association.\"",
  "error" : "METHOD_NOT_ALLOWED_FOR_API_TOKEN"
}

No Credentials Supplied

There were no authentication credentials in the request. Please check your request and ensure that there is an “Authorization” header present with a valid bearer token.

Code: 401 Unauthorized

{
  "message" : "\"Authentication credentials were not provided\"",
  "error" : "NO_CREDENTIALS_SUPPLIED"
}

Nonce Not Found

The temporary identifier (NONCE) that you have provided does not exist. Please restart the OAuth process to get a new one.

Code: 404 NotFound

{
  "message" : "\"Nonce not found\"",
  "error" : "NONCE_NOT_FOUND"
}

Not An Auth Provider

We don’t recognize that provider that you requested. Third party provider

Code: 400 BadRequest

{
  "message" : "s\"Provider is not an oAuth provider: $provider\"",
  "error" : "NOT_AN_AUTH_PROVIDER"
}

Not Authenticated

Guess what? Our authentication service did not find you or your token acceptable. It may be malformed or just forged!

Code: 401 Unauthorized

{
  "message" : "\"User not authorised\"",
  "error" : "NOT_AUTHENTICATED"
}

Parsing Access Details Failed

We’re not able to get any user access from provider.

Code: 503 ServiceUnavailable

{
  "message" : "s\"Cannot get access details from $providerName, reason: $reason\"",
  "error" : "PARSING_ACCESS_DETAILS_FAILED"
}

Profile Not Found

Cannot find profile for provider provider pointing to user profile

Code: 404 NotFound

{
  "message" : "s\"$provider profile not found\"",
  "error" : "PROFILE_NOT_FOUND"
}

Provider Request Failed

Request to a third party provider has failed. There could be many reasons for this but it is probably Horn’s problem.

Code: 503 ServiceUnavailable

{
  "message" : "s\"$requestName request to provider[$providerName] failed with status: $statusCode, reason: $reason\"",
  "error" : "PROVIDER_REQUEST_FAILED"
}

Third Part Service Error

The error was caused by a request to a third part service failed or was not properly handled. The information about error

Code: 500 InternalServerError

{
  "message" : "s\"The error was caused by third part service: $cause\"",
  "error" : "THIRD_PART_SERVICE_ERROR"
}

Unknown Auth Provider

The supplied provider is not supported as authorization provider. Third party provider

Code: 404 NotFound

{
  "message" : "s\"Unsupported provider: $provider\"",
  "error" : "UNKNOWN_AUTH_PROVIDER"
}

User Already Registered

An error occurred during authentication when give account is already connected with different user..

Code: 400 BadRequest

{
  "message" : "s\"Give account is already connected with different user.\"",
  "error" : "USER_ALREADY_REGISTERED"
}

User Not Found

Requested user id doesn’t exist. User id

Code: 404 NotFound

{
  "message" : "s\"User ${userId.getOrElse(\"\")} not found\"",
  "error" : "USER_NOT_FOUND"
}

Wrong Client Id

The client id that you used for given call is not known to us. Please check your request carefully.

Code: 404 NotFound

{
  "message" : "s\"Provided clientId didn't match any known client\"",
  "error" : "WRONG_CLIENT_ID"
}

Wrong Redirect Url

Redirect URL in request is not relative to the base URL specified for the client.

Code: 400 BadRequest

{
  "message" : "\"Redirect URL is not relative to base URL\"",
  "error" : "WRONG_REDIRECT_URL"
}