SDA GraphQL IDEaaS API Reference
🚀 Welcome to the SDA GraphQL IDEaaS API
The SDA GraphQL IDEaaS API Reference contains the Queries, Mutations and Types you can use to interact with the SDA IDEaaS API to manage IDEaaS sessions.
⚠️ This website only contains the Schema reference. For examples and more information, please visit the SDA GraphQL API Examples repository.
Terms of Service
https://www.softwaredefinedautomation.io/terms-and-conditions/
API Endpoints
# IDEaaS GraphQL API:
https://api.sdaconsole.io/ideaas/v1/graphql
Headers
# The token you received from the SDA Console or the API
Authorization: Bearer <YOUR_TOKEN_HERE>
Queries
readSession
Response
Returns a SessionResponseType!
Arguments
| Name | Description |
|---|---|
sessionId - String!
|
Example
Query
query ReadSession($sessionId: String!) {
readSession(sessionId: $sessionId) {
objectVersion
creationUserId
updateUserId
deleteUserId
creationTimestamp
updateTimestamp
sessionId
reservationId
instanceId
status
projectId
versionId
ownerId
tenantId
sessionOwner {
userId
userName
userEmail {
...EmailTypeFragment
}
tenantId
tenantName
}
sessionType
sessionVisibility
sessionStartTimestampMs
sessionEndTimestampMs
sessionDurationMs
sessionMetadata
streamingUrl
sessionRecordingId
supportedIdes
language
websocketChannel
}
}
Variables
{"sessionId": "abc123"}
Response
{
"data": {
"readSession": {
"objectVersion": 123,
"creationUserId": "abc123",
"updateUserId": "abc123",
"deleteUserId": "xyz789",
"creationTimestamp": "2007-12-03T10:15:30Z",
"updateTimestamp": "2007-12-03T10:15:30Z",
"sessionId": "xyz789",
"reservationId": "xyz789",
"instanceId": "xyz789",
"status": "PENDING",
"projectId": "xyz789",
"versionId": "xyz789",
"ownerId": "abc123",
"tenantId": "abc123",
"sessionOwner": SessionOwnerType,
"sessionType": "DEFAULT",
"sessionVisibility": "DEFAULT",
"sessionStartTimestampMs": 123,
"sessionEndTimestampMs": 123,
"sessionDurationMs": 123,
"sessionMetadata": {},
"streamingUrl": "xyz789",
"sessionRecordingId": "abc123",
"supportedIdes": ["abc123"],
"language": "abc123",
"websocketChannel": "abc123"
}
}
}
Mutations
startSession
Response
Returns a StartSessionResponseType!
Arguments
| Name | Description |
|---|---|
input - StartSessionInput!
|
Example
Query
mutation StartSession($input: StartSessionInput!) {
startSession(input: $input) {
streamingUrl
sessionId
websocketChannel
}
}
Variables
{"input": StartSessionInput}
Response
{
"data": {
"startSession": {
"streamingUrl": "abc123",
"sessionId": "abc123",
"websocketChannel": "abc123"
}
}
}
Types
Boolean
Description
The Boolean scalar type represents true or false.
DateTime
Description
Date with time (isoformat)
Example
"2007-12-03T10:15:30Z"
EmailType
Fields
| Field Name | Description |
|---|---|
value - String!
|
Example
{"value": "abc123"}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
JSON
Description
The JSON scalar type represents JSON values as specified by ECMA-404.
Example
{}
SessionOwnerType
Fields
| Field Name | Description |
|---|---|
userId - String!
|
|
userName - String!
|
|
userEmail - EmailType!
|
|
tenantId - String!
|
|
tenantName - String
|
Example
{
"userId": "abc123",
"userName": "abc123",
"userEmail": EmailType,
"tenantId": "xyz789",
"tenantName": "abc123"
}
SessionResponseType
Fields
| Field Name | Description |
|---|---|
objectVersion - Int
|
Version number of the object, used for optimistic locking and change tracking |
creationUserId - String
|
Unique identifier of the user who created this object |
updateUserId - String
|
Unique identifier of the user who last updated this object |
deleteUserId - String
|
Unique identifier of the user who deleted this object |
creationTimestamp - DateTime
|
Date and time when this object was first created (ISO 8601 format) |
updateTimestamp - DateTime
|
Date and time when this object was last modified (ISO 8601 format) |
sessionId - String!
|
|
reservationId - String
|
|
instanceId - String!
|
|
status - SessionStatus!
|
|
projectId - String
|
|
versionId - String
|
|
ownerId - String
|
|
tenantId - String
|
|
sessionOwner - SessionOwnerType
|
|
sessionType - SessionType!
|
|
sessionVisibility - SessionVisibility!
|
|
sessionStartTimestampMs - Int
|
|
sessionEndTimestampMs - Int
|
|
sessionDurationMs - Int
|
|
sessionMetadata - JSON
|
|
streamingUrl - String
|
|
sessionRecordingId - String
|
|
supportedIdes - [String!]
|
|
language - String
|
IDE language code, use the standard IETF language tag format. |
websocketChannel - String
|
Example
{
"objectVersion": 987,
"creationUserId": "xyz789",
"updateUserId": "abc123",
"deleteUserId": "xyz789",
"creationTimestamp": "2007-12-03T10:15:30Z",
"updateTimestamp": "2007-12-03T10:15:30Z",
"sessionId": "xyz789",
"reservationId": "xyz789",
"instanceId": "abc123",
"status": "PENDING",
"projectId": "abc123",
"versionId": "abc123",
"ownerId": "abc123",
"tenantId": "abc123",
"sessionOwner": SessionOwnerType,
"sessionType": "DEFAULT",
"sessionVisibility": "DEFAULT",
"sessionStartTimestampMs": 123,
"sessionEndTimestampMs": 123,
"sessionDurationMs": 123,
"sessionMetadata": {},
"streamingUrl": "abc123",
"sessionRecordingId": "abc123",
"supportedIdes": ["abc123"],
"language": "abc123",
"websocketChannel": "abc123"
}
SessionStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"PENDING"
SessionType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DEFAULT"
SessionVisibility
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"DEFAULT"
StartSessionInput
StartSessionResponseType
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"