Cortex API
  • Getting Started
  • Connecting to the Cortex API
  • Overview of API flow
  • Authentication
    • getCortexInfo
    • getUserLogin
    • requestAccess
    • hasAccessRight
    • authorize
    • generateNewToken
    • getUserInformation
    • getLicenseInfo
  • Headsets
    • controlDevice
    • queryHeadsets
    • updateHeadset
    • updateHeadsetCustomInfo
    • syncWithHeadsetClock
    • Headset object
  • Sessions
    • createSession
    • updateSession
    • querySessions
    • Session object
  • Data Subscription
    • subscribe
    • unsubscribe
    • Data sample object
  • Records
    • createRecord
    • stopRecord
    • updateRecord
    • deleteRecord
    • exportRecord
    • queryRecords
    • getRecordInfos
    • configOptOut
    • requestToDownloadRecordData
    • Record object
  • Markers
    • injectMarker
    • updateMarker
    • Marker object
  • Subjects
    • createSubject
    • updateSubject
    • deleteSubjects
    • querySubjects
    • getDemographicAttributes
    • Subject object
  • BCI
    • queryProfile
    • getCurrentProfile
    • setupProfile
    • loadGuestProfile
    • getDetectionInfo
    • training
    • Readonly profile
  • Advanced BCI
    • getTrainedSignatureActions
    • getTrainingTime
    • facialExpressionSignatureType
    • facialExpressionThreshold
    • mentalCommandActiveAction
    • mentalCommandBrainMap
    • mentalCommandGetSkillRating
    • mentalCommandTrainingThreshold
    • mentalCommandActionSensitivity
  • Warning Objects
  • Error Codes
  • Troubleshooting Guide
  • Release Notes
  • cortexaccess tool
Powered by GitBook
On this page
  • -32700 Parse Error
  • -32600 Invalid Request
  • -32601 Method Not Found
  • -32602 Invalid Parameters
  • -32603 Internal Error
  • -32000 Server Internal Error
  • -32002 Invalid License ID
  • -32003 Internet Connection Error
  • -32004 Headset Unavailable
  • -32005 A session already exists with this headset
  • -32006 No license to activate a session
  • -32007 The session doesn't exist
  • -32012 The session must be activated
  • -32014 Invalid Cortex token
  • -32015 The Cortex token has expired
  • -32016 Invalid stream
  • -32017 Record already started
  • -32019 Session limit has been reached
  • -32020 The headset must be connected with a USB cable
  • -32021 Invalid client credentials
  • -32022 Device limit has been reached
  • -32024 The license has expired
  • -32027 Cannot use this license
  • -32029 License hard limit has been reached
  • -32031 Invalid profile name
  • -32033 No user
  • -32034 The Cortex token is for another user
  • -32037 Cannot train this action
  • -32044 Profile already loaded on another headset
  • -32045 No profile loaded for this headset
  • -32046 Profile loaded by another application
  • -32102 Not approved in EMOTIV Launcher
  • -32104 Failed to connect or disconnect the headset
  • -32106 The user account is not active
  • -32108 Cloud token error
  • -32109 Cortex token error
  • -32110 Must be online to use this license
  • -32112 The session is already active
  • -32113 Invalid record ID
  • -32114 No record in progress
  • -32115 The time of the marker is too far in the past
  • -32116 The time of the marker is too far in the future
  • -32117 Marker not found
  • -32118 The profile name already exists
  • -32119 The marker is already stopped
  • -32123 Corrupted database
  • -32124 Subject not found
  • -32125 Subject already exists
  • -32127 Profile already loaded for this headset
  • -32129 Invalid record title
  • -32137 Cannot open output file
  • -32138 Stream not supported for export

Error Codes

PreviousWarning ObjectsNextTroubleshooting Guide

Last updated 1 year ago

Here is a list of the error codes that the Cortex API can return. This list is not exhaustive (yet) and will be updated in the future.

-32700 Parse Error

The message you sent to Cortex is not a valid . This is a bug is your application.

-32600 Invalid Request

The message you sent to Cortex is a valid JSON object but it doesn't contain the expected fields. This a bug is your application. Please check

-32601 Method Not Found

You sent a request with an invalid method name. This a bug is your application. Please check this documentation to see which methods are available.

-32602 Invalid Parameters

You sent a request to call a valid method, but the parameters are wrong. It can be because:

  • You didn't provide a required parameter

  • You provided a parameters with an invalid name

  • The name of parameter is correct but the value is invalid

This is a bug in your application. Please check the documentation of the method.

-32603 Internal Error

-32000 Server Internal Error

-32002 Invalid License ID

-32003 Internet Connection Error

Cortex must connect to the EMOTIV cloud to process your request, but the connection failed. Please make sure that you computer has a working internet connection.

-32004 Headset Unavailable

You sent a request to perform an action on a specific headset, but Cortex cannot find this headset. Some possible reasons for this error:

  • You provided an invalid headset ID in your request

  • The headset was disconnected (maybe it is out of range of your computer)

  • The headset was switched off

-32005 A session already exists with this headset

-32006 No license to activate a session

-32007 The session doesn't exist

You included a session ID in the parameters of your request, but Cortex cannot find this session. It can be because you session ID is invalid or because the session is already closed.

-32012 The session must be activated

-32014 Invalid Cortex token

-32015 The Cortex token has expired

-32016 Invalid stream

  • The stream is not available for this headset. For example, the motion data of an EPOC X headset can be disable.

-32017 Record already started

-32019 Session limit has been reached

-32020 The headset must be connected with a USB cable

-32021 Invalid client credentials

Your request includes an invalid client ID or an invalid client secret.

-32022 Device limit has been reached

-32024 The license has expired

-32027 Cannot use this license

-32029 License hard limit has been reached

-32031 Invalid profile name

-32033 No user

-32034 The Cortex token is for another user

-32037 Cannot train this action

-32044 Profile already loaded on another headset

-32045 No profile loaded for this headset

You tried to unload a training profile from a headset, but no profile was loaded for this headset.

-32046 Profile loaded by another application

-32102 Not approved in EMOTIV Launcher

-32104 Failed to connect or disconnect the headset

-32106 The user account is not active

-32108 Cloud token error

The EMOTIV cloud refused the user credentials provided by Cortex. The user must logout and login again.

-32109 Cortex token error

-32110 Must be online to use this license

-32112 The session is already active

-32113 Invalid record ID

You are trying to access a record that doesn't exist, or the record exist but you don't have the permission to access it.

-32114 No record in progress

-32115 The time of the marker is too far in the past

You are trying to inject a marker but its time is too far in the past. You should inject your markers in real time, at the moment the event you want to mark happens.

-32116 The time of the marker is too far in the future

You are trying to inject a marker but its time is too far in the future. You should inject your markers in real time, at the moment the event you want to mark happens.

-32117 Marker not found

-32118 The profile name already exists

-32119 The marker is already stopped

-32123 Corrupted database

-32124 Subject not found

-32125 Subject already exists

You are trying to create a subject, but another subject with the same name already exists.

-32127 Profile already loaded for this headset

-32129 Invalid record title

You are trying to create or update a record, but the record title is invalid. The title must be 200 characters long or less.

-32137 Cannot open output file

-32138 Stream not supported for export

An unexpected error happened in Cortex while processing your request. This is probably a bug in Cortex. If the problem persists, please contact the .

An unexpected error happened in the EMOTIV cloud while processing your request. It can be a temporary failure of the EMOTIV servers, like when the servers are in maintenance. Or it can be a bug in Cortex. If the problem persists, please contact the .

The EMOTIV cloud cannot find the license of the user. When you call the method , please make sure that you provide a valid license ID, or no license parameter at all. If the problem persists, then the owner of the license must contact the .

You called the method for a specific headset, but your application already has a session for this headset. This is a bug in your application. You cannot create 2 sessions for the same headset at the same time. You must the existing session before creating a new one.

You called or with the parameter "status" set to "active", but your license doesn't authorize you to activate a session. You have a paid EMOTIV license to activate a session. If you already have such a license but the problem still persists, then contact the . You should also read the .

Many methods can return this error: , , , , , , etc...

You called a method that requires an active session, but the current session is inactive. It can happen if you call on an inactive session.

You included a Cortex token in the parameters of your request, but this token is invalid. This is a bug in your application. When a method requires a Cortex token, please make sure that your token comes from the result of the method .

Your Cortex token has expired. You must call the method again to get a new token. The Cortex token is valid for 48 hours.

You called the methods or with an invalid stream. The stream can be invalid for one of these reasons:

The name of the stream is incorrect. Check for the list of the available streams.

The stream is "eeg" but the license doesn't allow you to access this stream. You can check the license with

You called for a specific session, but your application already started a record for the same session. You cannot create 2 records for the same session at the same time.

You tried to activate a session (with or ) but the "localQuota" of the license is zero. You can check the "localQuota" by calling the method . Every time you activate a session, the local quota of the license is reduced by 1.

To solve this error, you must increase the local quota of the license. Call with the parameter "debit". For example, you can call with a "debit" of 10, and this will increase the local quota by 10. Then you will be able to create and activate 10 sessions on this computer.

You called but the headset is connected to the computer via Bluetooth or a USB dongle. Instead, the user should connect the headset with a USB cable.

The license was used on too many devices (eg computer, tablet, phone...) The license has a device limit. You can check it by calling the method . If you want to increase the limit or transfer the license from 1 device to another, then please contact the .

The license of the user has expired. You can check the license with . After the license is renewed, your application must call to get a new token.

You called with a valid license ID but your application doesn't have the permission to use this license.

When the computer is offline, you can use the license for a limited period of time. The end of this period is the "hard limit" of the license. You can check it with . After the "hard limit" has been reached, Cortex must connect to the EMOTIV cloud to validate the license again. To solve this problem, the computer must have an internet connection and then you must call .

You sent a request to perform an action on a specific , but Cortex cannot find this profile.

Cortex cannot process your request because no user is logged in. You must ask the user to log in in .

Your request includes a Cortex token that was created for a specific user, but the current user is a different one. In that case, that must call again and get a new token. You can check the current user with .

You called for an action that cannot be trained.

You tried to a training profile for a specific headset, but this profile is already loaded for another headset. You cannot load the same profile on 2 different headset at the same time.

You tried to perform an operation (eg , ...) on a training profile, but this profile was loaded by another application. An application can only access a profile that loaded by itself. You can call to check if your application loaded the profile of a headset or not.

The user didn't approved your application yet. The user must open and approve your application.

Cortex failed to communicate with the headset. Maybe the wireless connection between the headset and the computer was interrupted. Your application should try again. You can also call to check the status of the headset.

The EMOTIV ID of the user is inactive. The user must contact the . You can call or to check the current user.

There is something wrong with the Cortex token. Your application must call to get a new Cortex token.

Your license cannot work when you are offline. You must be connected to the internet at all time to use this license. You can call to check the current license.

You tried to a session that is already active. You can call to check the status of your sessions.

You are trying to a marker or to a record but no record is is progress.

You called with an invalid marker id.

You are trying to or rename a training profile, but another profile with the same name already exists.

You are trying to a marker that was already updated before.

The local Cortex database is corrupted. Please contact the .

You are trying to or a subject that doesn't exist. Or you are trying to a record with an invalid subject.

You are trying to a training profile for a headset, but a profile was already loaded for this headset before. You must unload the current profile before loading a new one.

You are trying to a record but Cortex cannot open the output CSV or EDF file.

You are trying to a record but one of the data streams you requested is not available.

EMOTIV customer support
EMOTIV customer support
authorize
EMOTIV customer support
createSession
close
updateSession
subscribe
unsubscribe
createRecord
injectMarker
training
createRecord
authorize
authorize
subscribe
unsubscribe
Data Subscription
getLicenseInfo
createRecord
createSession
updateSession
getLicenseInfo
authorize
authorize
updateHeadset
getLicenseInfo
EMOTIV customer support
getLicenseInfo
authorize
authorize
getLicenseInfo
authorize
training profile
EMOTIV Launcher
authorize
getUserLogin
training
load
setupProfile
training
getCurrentProfile
EMOTIV Launcher
queryHeadsets
EMOTIV customer support
getUserLogin
getUserInformation
authorize
getLicenseInfo
activate
querySessions
inject
stop
updateMarker
create
update
EMOTIV customer support
update
delete
create
load
export
export
JSON object
createSession
updateSession
EMOTIV customer support
Connecting to the Cortex API
prerequisite