Chat now with support
Chat with Support

One Identity Safeguard for Privileged Sessions 6.2.0 - REST API Reference Guide

Introduction Using the SPS REST API Basic settings User management and access control Managing SPS General connection settings HTTP connections Citrix ICA connections RDP connections SSH connections Telnet connections VNC connections Search, download, and index sessions Reporting Health and maintenance Advanced authentication and authorization Completing the Welcome Wizard using REST Enable and configure analytics using REST

Global VNC options

List of options that affect all VNC connections.

URL
GET https://<IP-address-of-SPS>/api/configuration/vnc/options
Cookies
Cookie name Description Required Values
session_id Contains the authentication token of the user Required

The value of the session ID cookie received from the REST server in the authentication response, for example, a1f71d030e657634730b9e887cb59a5e56162860. For details on authentication, see Authenticate to the SPS REST API.

Note that this session ID refers to the connection between the REST client and the SPS REST API. It is not related to the sessions that SPS records (and which also have a session ID, but in a different format).

Sample request

The following command lists global VNC options.

curl --cookie cookies https://<IP-address-of-SPS>/api/configuration/vnc/options
Response

The following is a sample response received when listing global VNC options.

For details of the meta object, see Message format.

{
  "body": {
    "audit": {
      "cleanup": {
        "enabled": false
      },
      "timestamping": {
        "selection": "local",
        "signing_interval": 30
      }
    },
    "service": {
      "enabled": true,
      "log_level": 4
    }
  },
  "key": "options",
  "meta": {
    "first": "/api/configuration/vnc/channel_policies",
    "href": "/api/configuration/vnc/options",
    "last": "/api/configuration/vnc/options",
    "next": null,
    "parent": "/api/configuration/vnc",
    "previous": "/api/configuration/vnc/channel_policies",
    "transaction": "/api/transaction"
  }
}
Element Type Description
key Top level item Contains the ID of the endpoint.
body Top level item Contains the elements of the global VNC options.
audit Top level item Contains settings for timestamping and cleanup.
service Top level item Global setting to enable VNC connections, and specify the logging detail.
enabled boolean Set to true to enable VNC connections.
log_level int Defines the logging detail of VNC connections.
Elements of audit Type Description
cleanup Top level item Global retention settings for VNC connection metadata. To configure retention time for a specific connection policy, use the archive_cleanup_policy element at the endpoint of the policy instead.
channel_database_cleanup_days int Global retention time for the metadata of VNC connections, in days. Must exceed the retention time of the archiving policy (or policies) used for VNC connections, and the connection-specific database cleanup times (if configured).
enabled boolean To enable the global cleanup of VNC connection metadata, set this element to true.
timestamping Top level item Global timestamping settings for VNC connections.
selection string

Configures local or remote timestamping.

  • Set local to use SPS for timestamping.

  • Set remote to configure a remote timestamping server.

server_url string

Required for remote timestamping.

The URL of the timestamping server. Note that HTTPS and password-protected connections are not supported.

oid Top level item The Object Identifier of the policy used for timestamping.
enabled boolean

Required for remote timestamping.

Set to true to configure the Object Identifier of the timestamping policy on the timestamping remote server.

policy_oid string

Required if the oid is enabled.

The Object Identifier of the timestamping policy on the remote timestamping server.

signing_interval int Time interval for timestamping open connections, in seconds.
Examples:

Set SPS as the timestamping server:

{
  "audit": {
    "cleanup": {
      "enabled": false
    },
    "timestamping": {
      "selection": "local",
      "signing_interval": 30
    }
  },
  "service": {
    "enabled": true,
    "log_level": 4
  }
}

Enable cleanup, and set it to occur every 10 days:

{
  "audit": {
    "cleanup": {
      "channel_database_cleanup_days": 10,
      "enabled": true
    },
    "timestamping": {
      "selection": "local",
      "signing_interval": 30
    }
  },
  "service": {
    "enabled": true,
    "log_level": 4
  }
}

Change timestamping to a remote server, without specifying a timestamping policy:

{
  "audit": {
    "cleanup": {
      "channel_database_cleanup_days": 10,
      "enabled": true
    },
    "timestamping": {
        "oid": {
          "enabled": false
        },
        "selection": "remote",
        "server_url": "<url-of-timestamping-server>",
        "signing_interval": 30
      }
  },
  "service": {
    "enabled": true,
    "log_level": 4
  }
}

Change timestamping to a remote server, and specify the 1.2.3 timestamping policy:

{
  "audit": {
    "cleanup": {
      "channel_database_cleanup_days": 10,
      "enabled": true
    },
    "timestamping": {
        "oid": {
          "enabled": true,
          "policy_oid": "1.2.3"
        },
        "selection": "remote",
        "server_url": "<url-of-timestamping-server>",
        "signing_interval": 30
      }
  },
  "service": {
    "enabled": true,
    "log_level": 4
  }
}
Modify global VNC settings

To modify global VNC settings, you have to:

  1. Open a transaction.

    For details, see Open a transaction.

  2. Modify the JSON object of the global VNC settings endpoint.

    PUT the modified JSON object to the https://<IP-address-of-SPS>/api/configuration/vnc/options endpoint. You can find a detailed description of the available parameters listed in Element . The elements of the audit item are described in Elements of audit.

  3. Commit your changes.

    For details, see Commit a transaction.

Status and error codes

The following table lists the typical status and error codes for this request. For a complete list of error codes, see Application level error codes.

Code Description Notes
201 Created The new resource was successfully created.
401 Unauthenticated The requested resource cannot be retrieved because the client is not authenticated and the resource requires authorization to access it. The details section contains the path that was attempted to be accessed, but could not be retrieved.
401 AuthenticationFailure Authenticating the user with the given credentials has failed.
404 NotFound The requested object does not exist.

Search, download, and index sessions

Topics:

Audited sessions

The api/audit/sessions endpoint lists the recorded sessions (active and closed).

URL
GET https://<IP-address-of-SPS>/api/audit/sessions
Cookies
Cookie name Description Required Values
session_id Contains the authentication token of the user Required

The value of the session ID cookie received from the REST server in the authentication response, for example, a1f71d030e657634730b9e887cb59a5e56162860. For details on authentication, see Authenticate to the SPS REST API.

Note that this session ID refers to the connection between the REST client and the SPS REST API. It is not related to the sessions that SPS records (and which also have a session ID, but in a different format).

Sample request

The following command lists the connections.

curl --cookie cookies https://<IP-address-of-SPS>/api/audit/sessions

The following command retrieves the properties of a specific connection.

curl --cookie cookies https://<IP-address-of-SPS>/api/audit/sessions/<session-id>
Response

The following is a sample response received when listing connections.

For details of the meta object, see Message format.

{
  "items": [
    {
      "key": "2",
      "meta": {
        "href": "/api/audit/sessions/2"
      }
    },
    {
      "key": "1",
      "meta": {
        "href": "/api/audit/sessions/1"
      }
    }
  ],
  "meta": {
    "fields": [],
    "first": "/api/audit/sessions?limit=500&offset=0&fields=",
    "href": "/api/audit/sessions",
    "last": "/api/audit/sessions?limit=500&offset=0&fields=",
    "limit": 500,
    "match_count": 39,
    "next": null,
    "offset": 0,
    "parent": "/api/audit",
    "previous": null
  }
}

When retrieving the endpoint of a specific connection, the response is the following.

{
  "body": {
    "active": false,
    "alerts": {
      "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/alerts"
    },
    "analytics": {
      "interesting_events": [],
      "scripted": false,
      "scripted_results": {},
      "similar_sessions": [],
      "tags": []
    },
    "channels": {
      "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/channels"
    },
    "client": {
      "ip": "10.20.30.40",
      "name": "10.20.30.40",
      "port": 59125
    },
    "creation_time": "2018-11-14T12:26:59.244Z",
    "duration": 57,
    "end_time": "2018-09-15T14:22:00+05:00",
    "events": {
      "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/events"
    },
    "hidden": false,
    "indexing": {
      "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/indexing"
    },
    "node_id": "6fed7872-065e-41d2-9cfa-ba75e8cad901",
    "origin": "RECORDING",
    "phantom": false,
    "protocol": "SSH",
    "recording": {
      "archived": false,
      "audit_trail": {
        "archive": null,
        "download": {
          "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/audit_trail"
        }
      },
      "auth_method": "password",
      "channel_policy": "shell-only",
      "command_extracted": false,
      "connection_policy": "myconnectionpolicy",
      "connection_policy_id": "15682863055beac3c8d23bf",
      "content_reference_id": 30,
      "has_accepted_channel": true,
      "index_status": "INDEXED",
      "server_local": {
        "ip": "10.20.30.40",
        "name": "10.20.30.40",
        "port": 55386
      },
      "session_id": "svc/rUhhQZ3jYsY1NDWYp9DEpq/abcde:29",
      "target": {
        "ip": "10.20.30.40",
        "name": "10.20.30.40",
        "port": 221
      },
      "verdict": "Accepted",
      "window_title_extracted": false
    },
    "revision": 15,
    "server": {
      "ip": "10.20.30.40",
      "name": "10.20.30.40",
      "port": 22
    },
    "start_time": "2018-09-15T15:53:00+05:00",
    "user": {
      "id": "myid",
      "name": "myname",
      "server_username": "myserver"
    },
    "verdict": "ACCEPT"
  },
  "key": "rUhhQZ3jYsY1NDWYp9DEpq",
  "meta": {
      "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq",
      "parent": "/api/audit/sessions",
      "remaining_seconds": 594
  }
}
Element Type Description
key string Top level element, contains the key of the connection or audit trail.
body Top level element (string) Contains the properties of the connection.
active boolean If the returned value is true, the connection is ongoing.
alerts Top level item

Contains a link to the details of the alerts. For details, see Session alerts.

An event is listed as alert only if the Actions > Store in Connection Database option is selected in the Content Policy used to handle the session.

"alerts": {
    "href": "/api/audit/sessions/7930f4308efe8aecd710202d815b76ff/alerts"
},
analytics Top level item Contains analytics details of the connection.
channels Top level list

Contains a link to the details of the channel.

"channels": {
    "href": "/api/audit/sessions/svc-rUhhQZ3jYsY1NDWYp9DEpq-kecske-29/channels"
},
client Top level item The IP address and port number of the client.
creation_time date The time this document was created. In optimal cases this is near equal to the session's original start_time. However, it can be later than start_time.
duration int The duration of the session in seconds. Computed value.
end_time ISO 8601 date

The timestamp of the end of the connection. For ongoing connection, the value is null.

Starting with SPS 5 LTS, the timestamp is in ISO 8601 format, for example, 2018-10-11T09:23:38.000+02:00. In earlier versions, it was in UNIX timestamp format.

events Top level item

Contains a link to the details of the events. For details, see Session events.

"events": {
    "href": "/api/audit/sessions/7930f4308efe8aecd710202d815b76ff/events"
},
hidden boolean True if this is a session that has not been displayed on the SPS GUI yet (due to fragmented data about the session).
indexer Top level item

Contains the details of indexing. For details on configuring indexing, see Local services: configuring the indexer.

"indexer": {
    "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/indexer"
},
node_id string The node ID of the SPS machine where this session has been recorded.
origin string

How SPA received this session. The following values are possible:

  • PSM for sessions based on an audit trail recorded by SPS.

  • LOG for sessions built from log data.

protocol string The protocol of the connection.
recording Top level item Contains the properties of the audit trail.
archived boolean If the audit trail has been archived, this value is true, otherwise it is false. For details about the archiving, see the archive object of the psm.audit_trail field.
audit_trail Top level item The path to the audit trail file on SPS. If the session does not have an audit trail, this element is not used. To download the audit trail, see Download audit trails.
auth_method Top level item

Authentication method: The authentication method used in the connection. For example, password

channel_policy string References the name of the channel policy. You can find the list of channel policies for each protocol at the /api/configuration/<protocol>/channel_policies/ endpoint.
command_extracted boolean If commands have been extracted from this terminal session, this value is true, otherwise it is false. The extracted commands are available in the events object field.
connection_policy string The name of the Connection Policy that handled the session, for example, ssh_gateway_auth. This is the name displayed on the Control > Connections page of the SPS web interface, and in the name field of the Connection Policy object. You can find the list of connection policies for each protocol at the /api/configuration/<protocol>/connections/ endpoint.
connection_policy_id string The key of the Connection Policy that handled the session, for example, 54906683158e768e727100. You can find the list of connection policies for each protocol at the /api/configuration/<protocol>/connections/ endpoint.
content_reference_id long The unique ID of the TCP connection.
has_accepted_channel boolean True, if at least the connection has been built successfully, the authentication was successful, and there was actual traffic.
index_status string

Channel's indexing status: Shows if the channel has been indexed. The following values are possible:

  • CHANNEL_OPEN (0): The connection of the channel is still open (indexer is waiting for the connection to close).

  • NOT_INDEXED (1): All channels of the connection have been closed which belong to the connection. The channel is ready for indexing, unless the audit trail was placed in the skipped_connections queue.

  • INDEXING_IN_PROGRESS (2): The channel is being indexed (indexing in progress). Note that SPS will return search results for the parts of the channel are already indexed.

  • INDEXED (3): Indexing the channel is complete.

  • INDEXING_NOT_REQUIRED (4): Indexing not required (indexing is not enabled for the connection).

  • INDEXING_FAILED (5): Indexing failed. The indexer service writes the corresponding error message in the error_message column of the indexer_jobs table. Note that SPS will return search results for the parts of the channel that were successfully indexed before the error occurred. For example, if the error occurred at the end of a long audit trail, you can still search for content from the first part of the audit trail.

  • NO_TRAIL (6): Auditing is not enabled for the channel.

network_id string The ID of the Linux network namespace where the session originated from.
server_local Top level item The IP address and port number of SPS.
session_id string The identifier of the session.
target Top level item The IP address and port number the client targeted for connection.
verdict string

The connection verdict. Possible values are:

  • accept

    The connection attempt was successful.

  • accept-terminated

    The connection violated a content policy, and was terminated by SPS.

  • auth-fail

    Authentication failure.

  • deny

    The connection was denied.

  • fail

    The connection attempt failed.

  • gw-auth-fail

    Gateway authentication failure.

  • key-error

    The connection attempt failed due to a hostkey mismatch.

  • user-mapping-fail

    The connection attempt failed due to a user mapping failure.

window_title_extracted boolean If window titles have been extracted from this graphical session, this value is true, otherwise it is false. The extracted window titles are available in the events object field.
revision int The revision number of the document. A newer document has a larger revision number than an older one. This helps you to determine which session version is newer.
server Top level item The IP address and port number of the remote server.
trail_downloads Top level item

Contains a link to the details of the audit-trail downloads in this session (if any).

"trail_downloads": {
    "href": "/api/audit/sessions/rUhhQZ3jYsY1NDWYp9DEpq/trail_downloads"
},
start_time ISO 8601 date

The timestamp of the start of the connection.

Starting with SPS 5 LTS, the timestamp is in ISO 8601 format, for example, 2018-10-11T09:23:38.000+02:00. In earlier versions, it was in UNIX timestamp format.

user Top level item The details of the user authenticating on the remote server.
id string The ID of the user.
name string The username used for authenticating against the gateway.
server_username string The username used for authenticating on the remote server.
verdict string Indicates what SPS decided about the session. A session verdict that originates from log events or other external events.
Analytics elements Type Description
analytics Top level element

Contains analytics details of the connection. For example:

"analytics": {
    "interesting_events": [],
    "scripted": false,
    "scripted_results": {},
    "similar_sessions": [],
    "tags": []
},
interesting_events string A list of commands and window titles from the session that could be interesting from a security point of view.
score.aggregated int

The risk score that SPA assigned to the session. Values range from 0 to 100, with 100 representing the highest risk.

score.details object This is an object where the keys are algorithm names and values are algorithm-specific details about the score result.
scripted boolean True if the SPA module marked the session as scripted because of non-human activity.
scripted_results object

A key-value pair, where key=<algorithm-name>, value=<reason-of-the-decision>. The algorithm can be clockmaster or gapminder.

Result: True/False. Reason: Either the reason behind the result, or if no result is avalialble, an error message (for example, the baseline has not been built yet).

similar_sessions string Collection of similar sessions from different sources.
tags string The Analytics tags section in Search > Details.
Audit trail elements Type Description
archive Top level element

Indicates whether the audit trail has been archived or not. If the audit trail has not been archived yet, the value of the element is null. For example:

"audit_trail": {
    "archive": {
        "date": "2018-11-25T12:00:05.000Z",
        "path": "2018-11-23/",
        "policy": "8106930065bf7eb4c3cf59",
        "server": "\\\\10.20.30.40\\archive\\abc123 (user: myuser)"
    },
    "download": {
        "href": "/api/audit/sessions/10/audit_trail"
    }
},
date ISO 8601 date The date when the audit trail was archived in ISO 8601 date.
server hostname or IP address The address of the remote server where the audit trail was archived.
path string The path on the remote server where the audit trail was archived.
policy string The ID of the archiving policy that was used to archive the audit trail.
download string The download element allows downloading the audit trail.
Channel elements Type Description
key string Top level element, contains the ID of the channel.
items Top level element (string) The properties of the channel.
active boolean If the returned value is true, the session has not ended yet and the channel is active.
audit_stream_id string The identifier of the channel's audit stream. If the session does not have an audit trail, this element is not used.
channel_id long The unique ID of the channel.
client_x509_subject string The client's certificate in Telnet or VNC sessions. Available only if the <Protocol name> Control > Connections > Client-side transport security settings > Peer certificate validation is enabled in SPS.
duration int The duration of the connection. Computed value.
end_time ISO 8601 date The ISO 8601 date of the end of the connection. For ongoing connections, the value is null.
rule_num string The number of the line in the Channel policy applied to the channel.
start_time ISO 8601 date The ISO 8601 date of the start of the connection.
type string

The type of the channel. Additional elements might be used with certain ICA, SSH and RDP channel types.

verdict string

The channel's connection verdict. Possible values are:

  • accept

    The connection attempt was successful.

  • deny

    The connection attempt was denied.

  • four-eyes-deferred

    Four-eyes authorization is unable to progress as it is waiting for a remote username.

  • four-eyes-error

    An internal error occurred during four-eyes authorization.

  • four-eyes-reject

    The connection attempt was rejected by a four-eyes agent on SPS.

  • four-eyes-timeout

    Four-eyes authorization timed out.

command string

Used with the session exec SSH channel type.

The executed command.

scp_path string

Used with the session exec scp SSH channel type.

The folder used for Secure Copy.

subsystem_name string

Used with the session subsystem sftp SSH channel type.

The name of the used subsystem.

originator.ip string

Used with the local forward and remote forward SSH channel types.

The source address of the forwarded traffic.

originator.name string The source host name of the forwarded traffic. If this information is not available, the value is the IP address instead.
originator.port int

Used with the local forward and remote forward SSH channel types.

The source port of the forwarded traffic.

connected.ip string

Used with the local forward and remote forward SSH channel types.

The target address of the forwarded traffic.

connected.name string The target host name of the forwarded traffic. If this information is not available, the value is the IP address instead.
connected.port int

Used with the local forward and remote forward SSH channel types.

The target port of the forwarded traffic.

dynamic_channel string

Used with the dynamic virtual RDP channel type.

The name of the dynamic channel.

device_name string

Used with the serial redirect, parallel redirect, printer redirect, disk redirect, and scard redirect RDP channel types.

The name of the device.

application string

Used with ICA connections.

The name of the application accessed in a seamless Citrix ICA connection.

four_eyes_authorizer string

The username of the user who authorized the session.

Available only if four-eyes authorization is required for the channel.

four_eyes_description string

The description of the session submitted by the authorizer of the session.

Available only if four-eyes authorization is required for the channel.

Client elements Type Description
client Top level element

The IP address and port number of the client. For example:

"client": {
    "ip": "10.20.30.40",
    "port": 59125
},
ip string The IP address of the client.
name string The host name of the client. If this information is not available, the value is the IP address instead.
port int The port number of the client.
Server elements Type Description
server Top level element

The IP address and port number of the remote server. For example:

"server": {
    "ip": "10.20.30.40",
    "port": 55386
},
ip string The IP address of the remote server.
name string The host name of the remote server. If this information is not available, the value is the IP address instead.
port int The port number of the remote server.
Server_local elements Type Description
server_local Top level element

The IP address and port number of SPS. For example:

"server_local": {
    "ip": "10.20.30.40",
    "port": 55386
},
ip string The IP address of SPS.
name string The host name of SPS. If this information is not available, the value is the IP address instead.
port int The port number of SPS.
Target elements Type Description
target Top level element

The IP address and port number the client targeted for connection. For example:

"target": {
    "ip": "10.20.30.40",
    "port": 221
},
ip string The IP address the client targeted for connection.
name string The host name of the client targeted for connection. If this information is not available, the value is the IP address instead.
port int The port number the client targeted for connection.
Examples:

All possible SSH channel types:

"channels": [
  {
    "key": "1",
    "meta": {
      "href": "/api/audit/sessions/1/channels/1"
    },
    "body": {
      "type": "session shell",
      "verdict": "accept",
      "start_time": 1451901988,
      "end_time": 1451902145,
      "duration": 157
    }
  },
  {
    "key": "2",
    "meta": {
      "href": "/api/audit/sessions/1/channels/2"
    },
    "body": {
      "type": "session exec",
      "verdict": "accept",
      "start_time": 1451902141,
      "end_time": 1451902145,
      "duration": 4,
      "command": "ls"
    }
  },
  {
    "key": "3",
    "meta": {
      "href": "/api/audit/sessions/1/channels/3"
    },
    "body": {
      "type": "session exec scp",
      "verdict": "accept",
      "start_time": 1451902141,
      "end_time": 1451902145,
      "duration": 4,
      "scp_path": "<path-to-folder>"
    }
  },
  {
    "key": "4",
    "meta": {
      "href": "/api/audit/sessions/1/channels/4"
    },
    "body": {
      "type": "session subsystem sftp",
      "verdict": "accept",
      "start_time": 1451902142,
      "end_time": 1451902145,
      "duration": 3,
      "subsystem_name": "sftp"
    }
  },
  {
    "key": "5",
    "meta": {
      "href": "/api/audit/sessions/1/channels/5"
    },
    "body": {
      "type": "local forward",
      "verdict": "accept",
      "start_time": 1451902145,
      "end_time": 1451902146,
      "duration": 1,
      "originator.address": "::1",
      "originator.port": 59578,
      "connected.address": "<server>",
      "connected.port": 22
    }
  },
  {
    "key": "6",
    "meta": {
      "href": "/api/audit/sessions/1/channels/6"
    },
    "body": {
      "type": "remote forward",
      "verdict": "accept",
      "start_time": 1451902145,
      "end_time": 1451902146,
      "duration": 1,
      "originator.address": "::1",
      "originator.port": 42212,
      "connected.address": "localhost",
      "connected.port": 9898
    }
  },
  {
    "key": "7",
    "meta": {
      "href": "/api/audit/sessions/1/channels/7"
    },
    "body": {
    "type": "x11 forward",
    "verdict": "deny",
    "start_time": 1451902149,
    "end_time": 1451902149,
    "duration": 0
    }
  }
 ]

All possible RDP channel types:

"channels": [
  {
    "key": "1",
    "meta": {
      "href": "/api/audit/sessions/1/channels/1"
    },
    "body": {
      "type": "drawing",
      "verdict": "accept",
      "start_time": 1451901988,
      "end_time": 1451902145,
      "duration": 157
    }
  },
  {
    "key": "2",
    "meta": {
      "href": "/api/audit/sessions/1/channels/2"
    },
    "body": {
      "type": "sound",
      "verdict": "accept",
      "start_time": 1451902141,
      "end_time": 1451902145,
      "duration": 4
    }
  },
  {
    "key": "3",
    "meta": {
      "href": "/api/audit/sessions/1/channels/3"
    },
    "body": {
      "type": "clipboard",
      "verdict": "accept",
      "start_time": 1451902141,
      "end_time": 1451902145,
      "duration": 4
    }
  },
  {
    "key": "4",
    "meta": {
      "href": "/api/audit/sessions/1/channels/4"
    },
    "body": {
      "type": "seamless",
      "verdict": "deny",
      "start_time": 1451902142,
      "end_time": 1451902142,
      "duration": 0
    }
  },
  {
    "key": "5",
    "meta": {
      "href": "/api/audit/sessions/1/channels/5"
    },
    "body": {
      "type": "dynamic virtual",
      "verdict": "accept",
      "start_time": 1451902145,
      "end_time": 1451902146,
      "duration": 1,
      "dynamic_channel": "Microsoft::Windows::RDS::Geometry::v08.01"
    }
  },
  {
    "key": "6",
    "meta": {
      "href": "/api/audit/sessions/1/channels/6"
    },
    "body": {
      "type": "custom",
      "verdict": "deny",
      "start_time": 1451902145,
      "end_time": 1451902145,
      "duration": 0
    }
  },
  {
    "key": "7",
    "meta": {
      "href": "/api/audit/sessions/1/channels/7"
    },
    "body": {
      "type": "serial redirect",
      "verdict": "accept",
      "start_time": 1451902149,
      "end_time": 1451902150,
      "duration": 1,
      "device_name": "COM1"
    }
  },
  {
    "key": "8",
    "meta": {
      "href": "/api/audit/sessions/1/channels/8"
    },
    "body": {
      "type": "parallel redirect",
      "verdict": "accept",
      "start_time": 1451902149,
      "end_time": 1451902150,
      "duration": 1,
      "device_name": "LPT1"
    }
  },
  {
    "key": "9",
    "meta": {
      "href": "/api/audit/sessions/1/channels/9"
    },
    "body": {
      "type": "printer redirect",
      "verdict": "accept",
      "start_time": 1451902149,
      "end_time": 1451902150,
      "duration": 1,
      "device_name": "PRN22"
    }
  },
  {
    "key": "10",
    "meta": {
      "href": "/api/audit/sessions/1/channels/10"
    },
    "body": {
      "type": "disk redirect",
      "verdict": "accept",
      "start_time": 1451902149,
      "end_time": 1451902150,
      "duration": 1,
      "device_name": "J:"
    }
  },
  {
    "key": "11",
    "meta": {
      "href": "/api/audit/sessions/1/channels/11"
    },
    "body": {
      "type": "scard redirect",
      "verdict": "accept",
      "start_time": 1451902149,
      "end_time": 1451902150,
      "duration": 1,
      "device_name": "SCARD"
    }
  }
Status and error codes

The following table lists the typical status and error codes for this request. For a complete list of error codes, see Application level error codes.

Code Description Notes
201 Created The new resource was successfully created.
400 InvalidQuery The requested filter or its value is invalid.
401 Unauthenticated The requested resource cannot be retrieved because the client is not authenticated and the resource requires authorization to access it. The details section contains the path that was attempted to be accessed, but could not be retrieved.
401 AuthenticationFailure Authenticating the user with the given credentials has failed.
404 NotFound The requested object does not exist.

Download audit trails

You can download the audit trail of a session from the /api/audit/sessions/<session-id>/audit_trail endpoint. To find a specific audit trail, see Searching in the session database. You can download audit trails that are available on SPS, and also audit trails that have been archived (if SPS can access the archived audit trail).

curl --cookie cookies "https://<IP-address-of-SPS>/api/audit/sessions/<session-id>/audit_trail"

To actually create a file, you must save the downloaded data into a file (use the .zat file extension), for example:

curl --cookie cookies "https://<IP-address-of-SPS>/api/audit/sessions/<session-id>/audit_trail" > my-downloaded-trail.zat

You can replay the downloaded audit trails with the Safeguard Desktop Player application. For details, see Safeguard Desktop Player User Guide.

If you want to replay an ongoing session in follow mode, you have to download the audit trail in .srs format. Use the ?format=srs option:

curl --cookie cookies "https://<IP-address-of-SPS>/api/audit/sessions/<session-id>/audit_trail?format=srs" > my-downloaded-trail.srs

For details, see "Replay audit files in follow mode" in the Safeguard Desktop Player User Guide.

Related Documents