Altair SLC Hub Link Session Manager (2024.0.0)

Download OpenAPI specification:Download

Authentication

bearerAuth

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Starts a Link Session.

Starting a session doesn't happpen immediately. The client needs to poll the session status until it reaches "Ready" or "Failed", at which point the session status will return the URL at which the session can be contacted, and an access key required in order to authorize requests to the session.

A session is the property of the caller. Only the caller of this entry point can make requests to the resulting session. An administrator can view the sessions owned by any user, a non-administrative user can only view their own sessions.

Authorizations:
Request Body schema: application/json
configuration
string
clientSessionID
string
clientDescription
string

Responses

Request samples

Content type
application/json
{
  • "configuration": "string",
  • "clientSessionID": "string",
  • "clientDescription": "string"
}

Response samples

Content type
application/json
{
  • "sessionID": "string",
  • "clientSessionID": "string",
  • "clientSessionDescription": "string",
  • "status": "Pending",
  • "sessionUrl": "http://example.com",
  • "sessionFilesystemURL": "string",
  • "deathClock": "2019-08-24T14:15:22Z",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishedTime": "2019-08-24T14:15:22Z",
  • "lastHeartbeatTime": "2019-08-24T14:15:22Z",
  • "nextExpectedHeartbeat": "2019-08-24T14:15:22Z",
  • "ownerPrincipal": "string",
  • "accessToken": "string",
  • "configurationName": "string",
  • "cost": 0,
  • "events": [
    ]
}

Performs a query on all sessions

This endpoint required administrative privileges.

Authorizations:
query Parameters
filter[ownerPrincipal][EQ]
string

Filters sessions by owner.

filter[configurationName][EQ]
string

Filters sessions by configuration name

filter[status][EQ]
string (sessionStatus)
Enum: "Pending" "Ready" "Failed" "Terminated" "Blocked"

Filters sessions by the status the session is in

filter[status][IN]
Array of strings (sessionStatus)
Items Enum: "Pending" "Ready" "Failed" "Terminated" "Blocked"

Filters sessions by the status the session is in

filter[startTime][LT]
string <date-time>

Filters sessions by start time

filter[startTime][GT]
string <date-time>

Filters sessions by start time

filter[deathClock][LT]
string <date-time>

Filters sessions by their "death clock" time

filter[deathClock][GT]
string <date-time>

Filters sessions by their "death clock" time

page[offset]
integer

Skips the given number of record in the result, for pagination

page[limit]
integer

Limits the number of records in the result, for pagination

sort
string
Enum: "startTime" "-startTime" "deathClock" "-deathClock" "configurationName" "-configurationName"

Sorts the result set by the given field.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "data": [
    ]
}

Deletes one of more sessions based on a filter

This endpoint required administrative privileges.

Authorizations:
query Parameters
filter[ownerPrincipal][EQ]
string

Filters sessions by owner.

filter[configurationName][EQ]
string

Filters sessions by configuration name

filter[status][EQ]
string (sessionStatus)
Enum: "Pending" "Ready" "Failed" "Terminated" "Blocked"

Filters sessions by the status the session is in

filter[status][IN]
Array of strings (sessionStatus)
Items Enum: "Pending" "Ready" "Failed" "Terminated" "Blocked"

Filters sessions by the status the session is in

filter[startTime][LT]
string <date-time>

Filters sessions by start time

filter[startTime][GT]
string <date-time>

Filters sessions by start time

filter[deathClock][LT]
string <date-time>

Filters sessions by their "death clock" time

filter[deathClock][GT]
string <date-time>

Filters sessions by their "death clock" time

Responses

Response samples

Content type
application/json
{
  • "countDeleted": 0,
  • "countFailed": 0
}

deleteSession

Deletes the given session

Authorizations:
path Parameters
sessionId
required
string

The unique ID of the link ssession

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

getSessionInfo

Returns information about the given session

Authorizations:
path Parameters
sessionId
required
string

The unique ID of the link ssession

Responses

Response samples

Content type
application/json
{
  • "sessionID": "string",
  • "clientSessionID": "string",
  • "clientSessionDescription": "string",
  • "status": "Pending",
  • "sessionUrl": "http://example.com",
  • "sessionFilesystemURL": "string",
  • "deathClock": "2019-08-24T14:15:22Z",
  • "startTime": "2019-08-24T14:15:22Z",
  • "finishedTime": "2019-08-24T14:15:22Z",
  • "lastHeartbeatTime": "2019-08-24T14:15:22Z",
  • "nextExpectedHeartbeat": "2019-08-24T14:15:22Z",
  • "ownerPrincipal": "string",
  • "accessToken": "string",
  • "configurationName": "string",
  • "cost": 0,
  • "events": [
    ]
}

terminateSession

Terminates a session, but leaves the session until it is garbage collected. The session will appear in query results with the status "Terminated".

Authorizations:
path Parameters
sessionId
required
string

The unique ID of the link ssession

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

heartbeatSession

A client is required to send periodic heartbeats to the link session manager to indicate that the client is still alive an using the link session. Since HTTP is a connectionless protocol, a heartbeat is required to track client liveness.

Heartbeats should be sent according to the nextHeatbeatTime field in the status. Sessions that don't receive a heartbeat within a reasonable period of the required heartbeat time are elible for reaping by the background session reaper.

Authorizations:
path Parameters
sessionId
required
string

The unique ID of the link ssession

Responses

Response samples

Content type
application/json
{
  • "nextExpectedHeartbeat": "2019-08-24T14:15:22Z"
}

listSessionLogs

Returns a list of the available logs for the session.

Authorizations:
path Parameters
sessionId
required
string

The unique ID of the link ssession

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getSessionLog

Returns the content of one of the link session log files.

Authorizations:
path Parameters
sessionId
required
string

The unique ID of the link ssession

logname
required
string
query Parameters
origin
string
Enum: "start" "end"

Specifies the origin for where in the log to start reading from. Default is "start"

offset
integer <int64>

Specifies where in the log to start reading from, relative to the origin.

limit
integer <int32>

Specifies the maximum amount of content to return

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Lists all sessions owned by the caller

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "totalCount": 0,
  • "data": [
    ]
}

Lists the available configurations for starting a link session

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]