# auth.sessions

Returns a list of active auth sessions.

The `credentials_data` object varies by `credentials` type: password and socket sessions include `username`; API key sessions additionally include `api_key` (id and name); token sessions include `parent` (the originating credential) and optionally `username`.

Example:

    {
        "jsonrpc": "2.0",
        "id": 1,
        "method": "auth.sessions",
        "params": []
    }

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: filters

#### filters

Type: array Default: []

List of filters for query results. See API documentation for "Query Methods" for more guidance.

No Additional Items

##### Each item of this array must be:

Type: object
Examples:

    [
        [
            "name",
            "=",
            "bob"
        ]
    ]

    [
        [
            "OR",
            [
                [
                    [
                        "name",
                        "=",
                        "bob"
                    ]
                ],
                [
                    [
                        "name",
                        "=",
                        "larry"
                    ]
                ]
            ]
        ]
    ]

##### Parameter 2: options

#### options

Type: object
Default:
{ "extra": {}, "order_by": [], "select": [], "count": false, "get": false, "offset": 0, "limit": 0, "force_sql_filters": false }

Query options including pagination, ordering, and additional parameters.

No Additional Properties

##

#### Extra

Type: object Default: {}

Extra options are defined on a per-endpoint basis and are described in the documentation for the associated query method.

##

#### Order By

Type: array of string Default: []

An array of field names describing the manner in which query results should be ordered. The field names may also have one of more of the following special prefixes: `-` (reverse sort direction), `nulls_first:` (place any null values at the head of the results list), `nulls_last:` (place any null values at the tail of the results list).

No Additional Items

##### Each item of this array must be:

Type: string
Example:

    [
        "size",
        "-devname",
        "nulls_first:-expiretime"
    ]

##

#### Select

Type: array Default: []

An array of field names specifying the exact fields to include in the query return. The dot character `.` may be used to explicitly select only subkeys of the query result.

No Additional Items

##### Each item of this array must be:

## Any of

Type: string
Type: array
No Additional Items

##### Each item of this array must be:

Type: object
Example:

    [
        "username",
        "Authentication.status"
    ]

##

#### Count

Type: boolean Default: false

Return a numeric value representing the number of items that match the specified `query-filters`.

##

#### Get

Type: boolean Default: false

Return the JSON object of the first result matching the specified `query-filters`. The query fails if there specified `query-filters` return no results.

##

#### Offset

Type: integer Default: 0

This specifies the beginning offset of the results array. When combined with the `limit` query-option it may be used to implement pagination of large results arrays. WARNING: some query methods provide volatile results and the onus is on the developer to understand whether pagination is appropriate for a particular query API method.

Value must be greater or equal to `0`

##

#### Limit

Type: integer Default: 0

This specifies the maximum number of results matching the specified `query-filters` to return. When combined wtih the `offset` query-option it may be used to implement pagination of large results arrays.

WARNING: Some query methods provide volatile results and the onus is on the developer to understand whether pagination is appropriate for a particular query API method.

Value must be greater or equal to `0` and lesser or equal to `10000`

##

#### Force Sql Filters

Type: boolean Default: false

Force use of SQL for result filtering to reduce response time. May not work for all methods.

##

#### Result

## Any of

Type: array of object
No Additional Items

##### Each item of this array must be:

#### AuthSessionsEntry

Type: object
No Additional Properties

##

#### Id

Type: string

Unique identifier for the authentication session.

##

#### Current

Type: boolean

Whether this is the current active session.

##

#### Internal

Type: boolean

Whether this is an internal system session.

##

#### Origin

Type: string

Origin information for the session (IP address, hostname, etc.).

##

#### Credentials

Type: enum (of string)

Authentication method used for this session.

- `UNIX_SOCKET`: Local Unix domain socket authentication
- `LOGIN_PASSWORD`: Username and password authentication
- `LOGIN_TWOFACTOR`: Two-factor authentication login
- `LOGIN_ONETIME_PASSWORD`: One-time password authentication
- `API_KEY`: API key authentication
- `TOKEN`: Token-based authentication
- `TRUENAS_NODE`: TrueNAS cluster node authentication

##### Must be one of:

- "UNIX_SOCKET"
- "LOGIN_PASSWORD"
- "LOGIN_TWOFACTOR"
- "LOGIN_ONETIME_PASSWORD"
- "API_KEY"
- "TOKEN"
- "TRUENAS_NODE"

##

#### Credentials Data

Detailed credential information specific to the authentication method.

## Any of

#### BaseCredentialData

Type: object

#### UserCredentialData

Type: object
No Additional Properties

##

#### Username

Type: string

Username of the authenticated user.

##

#### Login Id

Type: string

Unique identifier for the login.

##

#### Login At

Type: string Format: date-time

Timestamp of when the user logged in.

#### APIKeyCredentialData

Type: object
No Additional Properties

##

#### Username

Type: string

Username of the authenticated user.

##

#### Login Id

Type: string

Unique identifier for the login.

##

#### Login At

Type: string Format: date-time

Timestamp of when the user logged in.

##

#### APIKeySessionData

Type: object

API key information used for authentication.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for the API key.

##

#### Name

Type: string

Human-readable name of the API key.

#### TokenCredentialData

Type: object
No Additional Properties

##

#### TokenParentCredentialsData

Type: object

Parent credential information that generated this token.

No Additional Properties

##

#### Credentials

Type: enum (of string)

Type of credentials used to generate this token.

##### Must be one of:

- "UNIX_SOCKET"
- "LOGIN_PASSWORD"
- "LOGIN_TWOFACTOR"
- "API_KEY"
- "TOKEN"
- "TRUENAS_NODE"

##

#### Credentials Data

Credential data used to authenticate the token request.

## Any of

#### BaseCredentialData

Type: object

#### UserCredentialData

Type: object
No Additional Properties

##

#### Username

Type: string

Username of the authenticated user.

##

#### Login Id

Type: string

Unique identifier for the login.

##

#### Login At

Type: string Format: date-time

Timestamp of when the user logged in.

#### APIKeyCredentialData

Type: object
No Additional Properties

##

#### Username

Type: string

Username of the authenticated user.

##

#### Login Id

Type: string

Unique identifier for the login.

##

#### Login At

Type: string Format: date-time

Timestamp of when the user logged in.

##

Type: object

API key information used for authentication.

#### TokenCredentialData

Type: object
No Additional Properties

##

Type: object

Parent credential information that generated this token.

##

#### Login Id

Type: string

Unique identifier for the login.

##

#### Username

Username associated with the token. `null` if not user-specific.

## Any of

Type: string
Type: null

##

#### Login Id

Type: string

Unique identifier for the login.

##

#### Username

Username associated with the token. `null` if not user-specific.

## Any of

Type: string
Type: null

##

#### Created At

Type: string Format: date-time

Timestamp when the session was created.

##

#### Secure Transport

Type: boolean

Whether the session was established over a secure transport (HTTPS/WSS).

#### AuthSessionsEntry

Type: object
No Additional Properties

##

#### Id

Type: string

Unique identifier for the authentication session.

##

#### Current

Type: boolean

Whether this is the current active session.

##

#### Internal

Type: boolean

Whether this is an internal system session.

##

#### Origin

Type: string

Origin information for the session (IP address, hostname, etc.).

##

#### Credentials

Type: enum (of string)

Authentication method used for this session.

- `UNIX_SOCKET`: Local Unix domain socket authentication
- `LOGIN_PASSWORD`: Username and password authentication
- `LOGIN_TWOFACTOR`: Two-factor authentication login
- `LOGIN_ONETIME_PASSWORD`: One-time password authentication
- `API_KEY`: API key authentication
- `TOKEN`: Token-based authentication
- `TRUENAS_NODE`: TrueNAS cluster node authentication

##### Must be one of:

- "UNIX_SOCKET"
- "LOGIN_PASSWORD"
- "LOGIN_TWOFACTOR"
- "LOGIN_ONETIME_PASSWORD"
- "API_KEY"
- "TOKEN"
- "TRUENAS_NODE"

##

#### Credentials Data

Detailed credential information specific to the authentication method.

## Any of

Type: object
Type: object
Type: object
Type: object

##

#### Created At

Type: string Format: date-time

Timestamp when the session was created.

##

#### Secure Transport

Type: boolean

Whether the session was established over a secure transport (HTTPS/WSS).

Type: array of object
No Additional Items

##### Each item of this array must be:

Type: object
Type: object
Type: integer

Required roles: AUTH_SESSIONS_READ