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
  • System requirements and supported platforms
  • Supported headsets
  • Prerequisites
  • Create an EmotivID
  • License
  • Create a Cortex App
  • The Cortex Examples
  • Next Step

Getting Started

NextConnecting to the Cortex API

Last updated 9 months ago

This documentation contains guidance for developing applications with EMOTIV Cortex - the core piece of technology at EMOTIV which brings the brain computer interface to consumer.

The intended audience is anyone with some programming skills who wants to develop a third party application that interacts with an EMOTIV headset.

The Cortex API is built on JSON and WebSockets, making it easy to access from a variety of programming languages and platforms.

End Of Life

Support for the previous generation EMOTIV SDK Community Edition version 3.5, and EMOTIV Cortex v1.x, has reached the end of life on 31st December 2020.

Developers should migrate their applications to work with our new Emotiv Cortex V2, which is described in this document and can be downloaded from our .

System requirements and supported platforms

Learn more about .

Supported headsets

Currently, Cortex supports the following headsets:

Model

Firmware

Connection

EPOC

All

USB dongle

All

USB dongle, BLE 4.0

All

USB dongle, BLE 4.0

Bluetooth® 5.0 will be available with upcoming software and firmware updates

All

USB dongle, BLE 4.0

Insight

All

USB dongle, BLE 4.0

All

BLE 4.0

All

BLE 4.0

Flex

All

nRF dongle with BLE 5

Currently, it is not possible to use a MN8 headset with Cortex on Linux Ubuntu.

Prerequisites

Create an EmotivID

License

With a valid EmotivID, you have access to the basic data streams, including:

  • Motion Data

  • Mental Commands

  • Facial Expressions

  • Performance Metrics (low-resolution, 0.1Hz)

  • Frequency Bands

  • Contact Quality

  • Battery Level

A paid subscription will be required for data streams such as:

  • EEG Data

  • Performance Metrics (high-resolution, 2Hz)

Create a Cortex App

Create the application ID and generate the corresponding client ID and client secret for your application in order to grant access to Cortex API.

  1. Login to www.emotiv.com.

  2. Select Cortex Apps.

  3. Read the Developers EULA carefully and click Accept only if you agree to all the terms and conditions. You cannot develop an application that works with Cortex if you do not agree to all of the terms.

  4. Enter the name of your new application - an application ID will be generated automatically in the form of com.{your-username}.{application-name}. Note that the app ID string must contain only alphanumeric characters (A-Z, a-z, 0-9), hyphens (-), and periods (.).

  5. (If you have purchased a subscription to the EEG Data API) Decide whether your application requires access to the EEG Data stream. If so, understand that your application will only be available to you until you contact EMOTIV for a deployment license. If your application does not require EEG data then you are entitled to share it with up to 10,000 users before contacting EMOTIV for a deployment license.

  6. (If you have purchased a subscription to the EEG Data API and decided that your application would require access to the EEG Data stream), tick "My App requires EEG access". If you forget this, your application cannot subscribe to EEG stream data later.

  7. Click Register Application. A client ID and a client secret will be presented to you. Copy them to somewhere safe immediately as the client secret will ONLY BE SHOWN ONCE ON THIS SCREEN FOR SECURITY. If you lost it, you will have to generate a new application ID later.

The Cortex Examples

Next Step

USB dongle refers to the USB receiver that comes with EPOC+. If you need an additional receiver, you can purchase it from the EMOTIV.

As with other EMOTIV services, you are required to have an EmotivID account. You can create an ID on .

A Developer API license is required to access the Raw EEG API and the High-resolution Performance metrics API. Please complete the , and our customer support team will respond as soon as possible with assistance and licensing options.

Visit for more details. If you have questions about the licensing plans please contact the .

Go to My Account Dashboard ().

(If you have purchased a subscription to the EEG Data API and decided that your application would require access to the EEG Data stream), make sure you submit this form with necessary information. If you don't submit this form, your applications don't have permission to use the license later.

To help you getting started with your application, EMOTIV provides basic examples in various programming languages. There are open source and hosted by Github at

If you have difficulty with the Cortex API, you can also on this Github repository.

If you are upgrading your application from Cortex 1.x to Cortex 2.x, then please be aware that the Cortex API has significantly changed. Please read the for details.

If you are new to the Cortex API, then please start with .

website
the system requirements and support platforms for Cortex
store
www.emotiv.com
SDK application form
https://www.emotiv.com/developer/
EMOTIV Customer Support
https://www.emotiv.com/my-account/
https://account.emotiv.com/cortex-sdk-application-form/
https://github.com/Emotiv/cortex-v2-example
open an issue
Connecting to the Cortex API
EPOC+
EPOC X
EPOC Flex
Insight 2.0
MN8
"My App requires EEG access" option (in step 7)
release notes