Overview: The Access API category provides the necessary endpoints to enable external partners to generate simulation deep-links, manage simulation assignments, and retrieve simulation data. These endpoints allow you to seamlessly integrate simulation access and management into your external systems.
Simulation Deep-links
Deep links are URLs that users can copy and paste into their browser to directly access and run a specific simulation in SymTrain. This endpoint generates and returns simulation deep links based on the provided request parameters.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
userIdstring · requiredUsername of the user in Symtrain.
tagsstring[] · requiredList of tags attached to the simulations we want to generate the deep-links for.
mustIncludeAllTagsbooleanIf true, the deep-links will only be generated for simulations that have all the tags in the list. If false, the deep-links will be generated for simulations that have at least one of the tags in the list.
Responses
Successful response with simulation deep links
simulationsobject[] · required
Completion data
This endpoint retrieves Completion Data for all simulation executions (started, interrupted, and completed) for a specific user and simulation, we can utilize this information to analyze the performance and progress of users in their training.
Important: The response includes all execution attempts, regardless of their completion status. To distinguish between completed and incomplete executions:
- Completed executions: Both
completedAtandcompletionTimefields will have valid values - Incomplete executions: Both
completedAtandcompletionTimefields will benull
Score fields (symScore, accuracyScore, keywordScore, clickScore, and sentimentScores) will also be null for incomplete executions.
This comprehensive data allows you to analyze both successful completions and execution patterns, including incomplete attempts.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
userIdstring · requiredUsername of the user in Symtrain.
simulationIdstring · requiredUnique identifier of the simulation.
Responses
Successful response with completion data for all simulation executions (completed and incomplete) including simulation deep links. Check completedAt and completionTime fields to determine completion status.
completionDataobject[] · required
Sym library
This endpoint will return all simulations available in the SymTrain library for a specific organization. The items in the response will be filtered by the organizationId, the provided tags, the searchTerm and pagination parameters.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
userIdstringOptional, username of the user in Symtrain. If provided all simulations will be validated against this user to check if they are assigned to the user or not.
tagsstring[]Optional, List of tags attached to the simulations.
mustIncludeAllTagsbooleanIf true, only simulations containing all specified tags will be returned. If false, simulations containing at least one of the specified tags will be returned.
searchTermstringOptional, Search term to filter simulations by name or symNumber.
pageIndexintegerOptional, Index of the page to retrieve. Default is 0.
Default: 0pageSizeintegerOptional, Number of simulations to return per page. Default is 10.
Default: 10
Responses
Successful response for the simulation library
itemsobject[] · requiredtotalRecordsCountinteger · requiredTotal number of records matching the request.
Simulation Assignment
This endpoint allows you to assign or unassign a specific simulation to/from a user. When assigning a simulation, the endpoint returns the simulation details including a deep-link URL for direct access. When unassigning, it simply returns a success status with no response body.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
simulationIdstring · requiredUnique identifier of the simulation to assign or unassign.
organizationIdstring · requiredUnique identifier of the Organization.
userIdstring · requiredUsername of the user in Symtrain.
assignboolean · requiredIf true, the simulation will be assigned to the user. If false, the simulation will be unassigned from the user.
Responses
Successful response with simulation details (when assign=true) or empty response (when assign=false)
simulationIdstring · requiredUnique identifier for the simulation.
namestring · requiredName of the simulation.
versionstring · requiredVersion of the simulation.
urlstring · requiredDeep-link URL for the simulation.
tagsstring[] · requiredTags associated with the simulation.
assignmentIdstring · requiredUnique identifier for the simulation assignment to the user.
User Token
To access SymTrain application without the need of entering their credentials on the login page, this endpoint generates a short-lived access token (valid for 1 hour) that allows impersonation of users. The token can be used as a query parameter in simulation deep-links to provide seamless access.
Usage Example:
If you have a simulation deep-link from the simulation assignment endpoint, add the token as a query parameter:
https://symtrain.com/your-org-id/simulation/532339d1-e3ac-4613-a259-34ec24936d56?token=your_token_here
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
userIdstring · requiredUsername of the user in Symtrain.
Responses
Successful response with user access token
tokenstring · requiredShort-lived access token (valid for 1 hour) that can be used to impersonate the user for accessing Symtrain application.
User Bulk Import
This endpoint allows you to bulk import users by uploading a CSV file containing user data. The import process is asynchronous and returns a taskId that can be used to track the import status using the bulk import status endpoint.
Request Format:
- Content-Type: multipart/form-data
- Include organizationId field and CSV file in the form data
CSV File Requirements:
- Must include proper headers
- Should contain user information in the expected format
- Maximum of 750 records allowed per file
- A taskId will only be generated if the CSV file contains at least one valid user
Process Flow:
- Upload CSV file with organizationId
- Receive taskId for tracking (only if valid users exist in the file)
- Use
/v2/access-api/user/bulk-import/statusto monitor progress
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
filestring · binary · requiredCSV file containing user data to import. The file should contain headers and user information in the expected format.
Responses
Successful response with task ID for tracking the bulk import process
taskIdstring · requiredUnique identifier of the asynchronous user bulk import task. Use this ID to check the status of the import operation.
statusstring · enum · requiredCurrent status of the import task. Possible values include 'SCHEDULED', 'IN_PROGRESS', 'COMPLETED', 'FAILED'.
Enum values:SCHEDULEDIN_PROGRESSCOMPLETEDFAILEDvalidUsersinteger · requiredNumber of valid user records in the import file.
invalidUsersinteger · requiredNumber of invalid user records in the import file.
totalRecordsinteger · requiredTotal number of records in the import file.
errorsobject[]List of errors encountered during validation of user records.
User Bulk Import Status
The User Bulk import endpoint will return a generated async taskId, in order to validate if the import of the valid user records were successful, we must use this taskId and create a polling mechanism that calls this new endpoint to validate the status of the asynchronous task.
Status Flow:
- On success: SCHEDULED → STARTED → COMPLETED
- On error: SCHEDULED → STARTED → FAILED
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
taskIdstring · requiredUnique identifier of the asynchronous user bulk import task.
Responses
Successful response with user bulk import task status
idstring · requiredUnique identifier of the user bulk import task.
statusstring · enum · requiredStatus of the asynchronous user bulk import task.
Enum values:SCHEDULEDSTARTEDCOMPLETEDFAILED
Create User
This endpoint validates if a user exists in the specified organization and returns their data. If the user does not exist, it creates a new trainee user and returns the created user data.
Important Notes:
- Only supports creating users with the 'trainee' role
- Email and username must be identical
- Returns existing user data if user already exists
- Creates new user if user doesn't exist
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
organizationIdstring · requiredUnique identifier of the Organization.
firstNamestring · requiredFirst name of the user.
lastNamestring · requiredLast name of the user.
emailstring · email · requiredEmail address of the user.
usernamestring · requiredUsername for the user (must match email).
rolestring · enum · requiredRole of the user. Only 'trainee' role is supported.
Enum values:trainee
Responses
User data (existing or newly created)
idstring · uuid · requiredUnique identifier of the user.
emailstring · email · requiredEmail address of the user.
usernamestring · requiredUsername of the user.
firstNamestring · requiredFirst name of the user.
lastNamestring · requiredLast name of the user.
rolestring · requiredRole of the user.
isActiveboolean · requiredWhether the user account is active.
createdOnstring · date-time · requiredISO 8601 timestamp when the user was created.