# facialExpressionSignatureType

This method can get or set the signature used by the facial expression detection.

The "universal" signature contains some generic parameters. It doesn't need (nor accept) any training. It is the default signature. Cortex uses it automatically when the profile doesn't contain any training.

The "trained" signature uses the [training](https://emotiv.gitbook.io/cortex-api/bci/training) from the user. The profile must contain at least one training before you can switch to this signature.

## Parameters

| Name        | Type     | Required | Description                                                                                           |
| ----------- | -------- | -------- | ----------------------------------------------------------------------------------------------------- |
| cortexToken | `string` | yes      | A token returned by [authorize](https://emotiv.gitbook.io/cortex-api/authentication/authorize).       |
| status      | `string` | yes      | Must be "get" or "set".                                                                               |
| profile     | `string` | no       | The name of a profile.                                                                                |
| session     | `string` | no       | A session id returned by [createSession](https://emotiv.gitbook.io/cortex-api/session/createsession). |
| signature   | `string` | no       | If the status is "set", then this parameter must be "universal" or "trained".                         |

You must set one of these 2 parameters: **profile** or **session**. [Read this](https://emotiv.gitbook.io/cortex-api/advanced-bci/..#profile-name-or-session-id) for details.

## Result

The result is an object containing these fields:

| Name         | Type               | Description                                                                                                                         |
| ------------ | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| currentSig   | `string`           | The current signature used by the profile. Can be "universal" or "trained".                                                         |
| availableSig | `array of strings` | The signatures you can use with the profile. The "universal" one is always available, but the "trained" one requires some training. |

## Examples

### Get

{% tabs %}
{% tab title="Request" %}

```javascript
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "facialExpressionSignatureType",
    "params": {
        "cortexToken": "xxx",
        "status": "get",
        "session": "xxx"
    }
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "currentSig": "universal",
        "availableSig": ["universal","trained"]
    }
}
```

{% endtab %}
{% endtabs %}

### Set

{% tabs %}
{% tab title="Request" %}

```javascript
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "facialExpressionSignatureType",
    "params": {
        "cortexToken": "xxx",
        "status": "set",
        "session": "xxx",
        "signature": "trained"
    }
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "currentSig": "trained",
        "availableSig": ["universal","trained"]
    }
}
```

{% endtab %}
{% endtabs %}
