Secure Code Warrior (Independent Publisher) (Preview)
This Secure Code Warrior(https://securecodewarrior.com) connector provides programmatic access to the learning platform. Secure Code Warrior makes secure coding a positive and engaging experience for developers as they increase their software security skills. With our flagship Learning Platform, we guide each coder along their own preferred learning pathway, so that security-skilled developers become the everyday superheroes of our connected world.
This connector is available in the following products and regions:
Service | Class | Regions |
---|---|---|
Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
Contact | |
---|---|
Name | Troy Taylor |
URL | https://www.hitachisolutions.com |
[email protected] |
Connector Metadata | |
---|---|
Publisher | Hitachi Solutions |
Find out more about Secure Code Warrior | https://docs.microsoft.com/connectors/securecodewarrior |
Website | https://www.securecodewarrior.com/ |
Privacy policy | https://www.securecodewarrior.com/trust/privacy-policy |
Categories | IT Operations |
Creating a connection
The connector supports the following authentication types:
Default | Parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
Name | Type | Description | Required |
---|---|---|---|
API Token | securestring | The API tokenfor this api | True |
Throttling Limits
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
Actions
Assign Assessments |
This endpoint will assign the given assessment to the specified users/teams. Returns a list of users that were assigned to the assessment with their email, inviteUrl and status indicating whether invite email was sent. |
Create a team |
This is used to create a team. |
Create a user |
Creates a User. |
Delete team |
This is used to delete a team. |
Delete User |
Deletes the user referenced by the given ID. |
Get Activity Strengths and Weaknesses |
This endpoint returns the average strengths and weaknesses for a company, team or user (depending on the level of granularity of the query) for a specific language or all languages |
Get Activity Top Performers |
This is used to retrieve list of top performing users. |
Get all courses |
This endpoint will return a list of Course objects which contain a range of datapoints related to courses. This includes course IDs, which may be used in conjunction with the other course API endpoints. |
Get Assessment Attempts |
This endpoint returns a detailed report for all developers who have taken the Assessment with the given ID. The scope of the report may be filtered in a number of ways. You may filter results to a given developer by supplying their email address with the query. If a start date is provided, only attempts started or completed after (and including) this date are included. If an end date is provided, only challenges started or completed before this date are included. Providing both indicates a date range to filter on. This includes all the data in the summary report plus details on all the challenges that are a part of the assessment. |
Get Assessments |
This endpoint will return a list of Assessment objects which contain a range of datapoints related to assessments. This includes assessment IDs, which may be used in conjunction with the other assessments API endpoints. |
Get course URL |
JSON containing course URL |
Get Developer Activity |
This endpoint returns the detailed challenge log of all developers within the organisation, with challenge score, difficulty and challenge outcome of the developer. |
Get Developer Leaderboard |
This endpoint returns a list of all developers within the organisation, with their current stats as well as the change in stats over the report period (which may be 1, 7 or 30 days). |
Get Developer Progress |
This endpoint returns the training progress of all developers within the organisation, with current realm, level and quest progress. |
Get progress of all developers for the course |
This endpoint will return the progress of all developers for the specified course. |
Get Resources |
Learning resources list |
Get Team Activity Most Engaged |
This endpoint returns the top 'N' most engaged teams. |
Get team details |
This is used to get details of a team. |
Get Team Leaderboard |
This endpoint returns a list of all teams within the organisation, with their current stats as well as the change in stats over the report period (which may be 1, 7 or 30 days). |
Get Teams |
This endpoint will return a list of Team objects which contain a range of datapoints related to teams. This includes team IDs, which may be used in conjunction with the other team API endpoints. |
Get time spent |
Time spent on the platform across Assessments, Learning, Tournaments and Training. |
Get Tournament Leaderboard |
This endpoint returns the leaderboard for a single tournament. This includes all levels, challenges and stages that the developer participated in, with detailed metrics of each. |
Get Tournaments |
This endpoint returns a list of tournaments in the company. |
Get User |
This is used to retrieve a single user record. The response may be shaped by passing in a fields query parameter listing the attribute names to return. |
Get Users |
This is used to retrieve all user records. The response may be shaped by passing in a fields query parameter listing the attribute names to return. |
Get Users Activity Most Engaged |
This endpoint returns the top 'N' most engaged users. |
Search Assessment |
This endpoint will return a list of Assessment objects which contain a range of datapoints related to assessments. This includes assessment IDs, which may be used in conjunction with the other assessments API endpoints. Results can be filtered based on status, name, supported language and difficulty. |
Search Assessment Attempts |
This endpoint returns a detailed report for all developers who have taken the Assessment with the given ID. The scope of the report may be filtered in a number of ways. You may filter results to given developer(s) by supplying their email address(es) with the query. If a status is provided, only assessment attempts with specified status are included. If team name(s) provided, only assessment attempts of users within those team(s) are included. If tags(s) is provided, only assessment attempts of users with those tag(s) are included. If a pass_status is provided, only assessment attempts with specified pass_status are included. This includes all the data in the summary report plus details on all the challenges that are a part of the assessment. |
Search course developers progress |
This endpoint returns the course progress of all developers within the organisation. |
Search Developer Leaderboard |
This endpoint returns a list of all developers within the organisation, with their current stats. This also lists the change in stats over the report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names. |
Search Developers Activity |
This endpoint returns the detailed challenge log of all developers within the organisation, with challenge score, difficulty and challenge outcome of the developer. This also lists the challenge log over the report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names. |
Search Developers Progress |
This endpoint returns the training progress of all developers within the organisation, with current realm, level and quest progress. This also lists the change in developer progress over the report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names. |
Search Learning Progress |
Learning description Filters - users, teams and tags |
Search Tournament Leaderboard |
This endpoint returns the leaderboard for a single tournament. This includes all levels, challenges and stages that the developer participated in, with detailed metrics of each. This endpoint can also return the leaderboard over a report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names. |
Search Users |
This is used to retrieve all user records. The response may be shaped by passing in a fields query parameter listing the attribute names to return. Filter is achieved by passing the filter criteria through the body. |
Shows learning resources which have be completed, read or watched |
Learning description |
Update team details |
This is used to update details of a team. |
Update User |
Updates a user with the given data. Tags will be replaced. |
Assign Assessments
This endpoint will assign the given assessment to the specified users/teams. Returns a list of users that were assigned to the assessment with their email, inviteUrl and status indicating whether invite email was sent.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Assessment ID
|
assessment_id | True | string |
The assessment ID |
users
|
users | array of string |
List of users to assign the assessment to |
|
teams
|
teams | array of string |
List of teams to assign the assessment to |
|
sendEmail
|
sendEmail | boolean |
Flag to indicate if assessment invite email sent on assigning assessment (Default: true) |
Returns
Name | Path | Type | Description |
---|---|---|---|
assessmentInvitations
|
assessmentInvitations | array of AssessmentAssignResponse |
Create a team
This is used to create a team.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
name
|
name | string |
Team Name |
|
tags
|
tags | array of string |
Any identifying information about the team. Example: Head Quarters, Asia-Pacific, Engineering |
|
activeFrom
|
activeFrom | string |
Team Active From. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
activeUntil
|
activeUntil | string |
Team Active Until. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
languages
|
languages | array of string |
Team languages list, _id and _framework separated by double colons (::) and separated by commas (,) |
|
onboardingmessage
|
onboardingmessage | string |
Team On Boarding Message |
|
type
|
type | string |
License type |
|
granted
|
granted | integer |
Licenses granted (valid only if license type set to usage) |
Returns
Team Details
- Body
- TeamDetails
Create a user
Creates a User.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Send Invite
|
sendInvite | boolean |
Flag to disable user invite and invite reminders. |
|
enabled
|
enabled | boolean |
Users status on the platform |
|
email
|
True | string |
The email of the user |
|
isProfileComplete
|
isProfileComplete | boolean |
Converts properties necessary for profile completion as required. If set to true properties 'name.first' and 'name.last' as required, Else the name is optional |
|
first
|
first | string |
User first name. Required if 'isProfileComplete' is set to true |
|
middle
|
middle | string |
User middle name |
|
last
|
last | string |
User last name. Required if 'isProfileComplete' is set to true |
|
role
|
role | True | string |
The role assigned to the user which is one of developer, team manager or company administrator |
team
|
team | string |
The team the user is associated with |
|
tags
|
tags | array of string |
Any identifying information about the user. Example: Head Quarters, Asia-Pacific |
|
_id
|
_id | string |
Language Id |
|
_framework
|
_framework | string |
Language Framework |
Returns
- User Created
- UserCreated
Delete team
This is used to delete a team.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Team ID
|
team_id | True | string |
Team ID |
Returns
Team Delete Response
- Body
- TeamDeleteResponse
Delete User
Deletes the user referenced by the given ID.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
ID
|
id | True | string |
The user resource ID. |
Returns
- User Deleted
- UserDeleted
Get Activity Strengths and Weaknesses
This endpoint returns the average strengths and weaknesses for a company, team or user (depending on the level of granularity of the query) for a specific language or all languages
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Target Type
|
targetType | string |
Type of target. Defaults depending on the scope of the API key. Report key defaults to company. Team key defaults to team. |
|
Target Identifier
|
targetIdentifier | string |
Target Identifier (Team Name, User email or User Id) |
|
Language ID
|
languageId | string |
Language Id |
|
Language Framework
|
languageFramework | string |
Language Framework |
|
Page
|
page | integer |
The page number of results |
Returns
Average strengths and weaknesses object
Get Activity Top Performers
This is used to retrieve list of top performing users.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Report Period
|
report_period | integer |
The number of days over which to view the changes in statistics |
|
Number of Users
|
num_users | integer |
The number of top performers to be returned |
|
Page
|
page | integer |
The page number of results |
|
Tags
|
tags | string |
Filter results to show top peformers for the specified tags. Specified tags are seperated by commas and uses OR logic to filter results. |
|
Team
|
team | string |
Filter results to show top performers for the given team |
|
Start Time
|
starttime | date-time |
Includes points from progress completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Time
|
endtime | date-time |
Include points from progress completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
Returns
Name | Path | Type | Description |
---|---|---|---|
schema
|
schema | TopPerformers |
List of top performers |
Get all courses
This endpoint will return a list of Course objects which contain a range of datapoints related to courses. This includes course IDs, which may be used in conjunction with the other course API endpoints.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
courses
|
courses | array of Course | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get Assessment Attempts
This endpoint returns a detailed report for all developers who have taken the Assessment with the given ID. The scope of the report may be filtered in a number of ways. You may filter results to a given developer by supplying their email address with the query. If a start date is provided, only attempts started or completed after (and including) this date are included. If an end date is provided, only challenges started or completed before this date are included. Providing both indicates a date range to filter on. This includes all the data in the summary report plus details on all the challenges that are a part of the assessment.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Assessment ID
|
assessment_id | True | string |
The assessment ID |
Page
|
page | integer |
The page number of results |
|
Developer's Email
|
developer | string |
The email address of the developer to filter on |
|
Start Date
|
startdate | date-time |
Only return attempts started on and after the given date. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | date-time |
Only return attempts started or completed before the given date. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
Returns
Name | Path | Type | Description |
---|---|---|---|
attempts
|
attempts | array of object |
attempts |
ID
|
attempts._id | string |
The assessment attempt ID |
Assessment
|
attempts._assessment | string |
The assessment it belongs to |
Assessment Name
|
attempts.name | string |
The assessment name |
Name
|
attempts.developer.name | string |
The name of the developer (first + middle + surname). |
Email
|
attempts.developer.email | string |
The developer's email address. |
Member Since
|
attempts.developer.member_since | string |
The date the developer became a member. |
Last Logged In
|
attempts.developer.last_logged_in | string |
The date the developer last logged in. |
Status
|
attempts.developer.status | string |
The current status of the developer account. |
Company
|
attempts.developer.company | string |
The company name that the developer is a part of. |
Team
|
attempts.developer.team | string |
The team name that the developer is a part of. |
tags
|
attempts.developer.tags | array of string |
tags |
roles
|
attempts.developer.roles | array of string |
roles |
Status
|
attempts.status | string |
Indicates the status of a challenge/assessment which may be pending, in progress, done or 'out of reach'. |
Language
|
attempts.language | string |
The language/framework of the assessment. null = language/framework not selected for assessment supporting more than one language. |
Started
|
attempts.started | string |
The date/time that the assessment was started. |
Completed
|
attempts.completed | string |
The date/time that the assessment was completed |
Deadline
|
attempts.deadline | string |
The date/time of the assessment deadline. If an assessment does not have a time limit, deadline will be null. |
Score
|
attempts.score | integer |
Assessment score in %. |
Completed In
|
attempts.completed_in | string |
The amount of time taken to complete the assessment attempt. |
Passing Grade
|
attempts.passing_grade | integer |
The percentage required to pass the assessment. |
Pass Status
|
attempts.pass_status | string |
The pass status of the assessment. |
Correct
|
attempts.progress.correct | integer |
The number of correct challenges. |
Incorrect
|
attempts.progress.incorrect | integer |
The number of incorrect challenges. |
Number of Challenges
|
attempts.progress.number_of_challenges | integer |
The total number of challenges. |
Completed
|
attempts.progress.completed | integer |
The date/time that the assessment was completed. |
Located
|
attempts.accuracy.located | integer |
The % of vulnerabilities located |
Identified
|
attempts.accuracy.identified | integer |
The % of vulnerabilities identified |
Fixed
|
attempts.accuracy.fixed | integer |
The % of vulnerabilities fixed |
challenges
|
attempts.challenges | array of object |
challenges |
number
|
attempts.challenges.number | integer |
number |
category
|
attempts.challenges.category | string |
category |
subcategory
|
attempts.challenges.subcategory | string |
subcategory |
difficulty
|
attempts.challenges.difficulty | string |
difficulty |
status
|
attempts.challenges.status | string |
status |
max_score
|
attempts.challenges.max_score | integer |
max_score |
score
|
attempts.challenges.score | integer |
score |
status
|
attempts.challenges.locate.status | string |
status |
status
|
attempts.challenges.identify.status | string |
status |
status
|
attempts.challenges.fix.status | string |
status |
Total Pages
|
links.total_pages | integer |
The total number of pages in the results. |
Results per Page
|
links.results_per_page | integer |
The maximum number of results in each page. |
Next Page
|
links.next_page | integer |
The page number of the next page (if one exists). |
Prev Page
|
links.prev_page | integer |
The page number of the previous page (if one exists). |
Total Results
|
links.total_results | integer |
The total number of the results. |
Get Assessments
This endpoint will return a list of Assessment objects which contain a range of datapoints related to assessments. This includes assessment IDs, which may be used in conjunction with the other assessments API endpoints.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
|
Start Date
|
startdate | date-time |
Only return assessments started on and after the given date. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | date-time |
Only return assessments started or completed before the given date. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
Returns
Name | Path | Type | Description |
---|---|---|---|
assessments
|
assessments | array of Assessment | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get course URL
JSON containing course URL
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Language Framework
|
language_framework | True | string |
Name of language and framework in the format of "Java::Spring" |
Course
|
course | True | string |
Name of course |
Module
|
module | True | string |
Name of course module |
Redirect
|
redirect | boolean |
Redirects user to the return URL |
Returns
URL to training courses
- Course URL
- CourseURL
Get Developer Activity
This endpoint returns the detailed challenge log of all developers within the organisation, with challenge score, difficulty and challenge outcome of the developer.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
Returns
Detailed log of challenges for a given time period
- Developer Activity
- DevelopersActivity
Get Developer Leaderboard
This endpoint returns a list of all developers within the organisation, with their current stats as well as the change in stats over the report period (which may be 1, 7 or 30 days).
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Report Period
|
report_period | integer |
The number of days over which to view the changes in statistics |
|
Page
|
page | integer |
The page number of results |
|
Start Date
|
startdate | date-time |
Include progress for leaderboard completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | date-time |
Include progress for leaderboard completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
Returns
Name | Path | Type | Description |
---|---|---|---|
leaderboard
|
leaderboard | array of object |
leaderboard |
Rank
|
leaderboard.rank | integer |
The final position of the participant within the tournament. |
Name
|
leaderboard.developer.name | string |
The name of the developer (first + middle + surname) |
Email
|
leaderboard.developer.email | string |
The developer's email address. |
Member Since
|
leaderboard.developer.member_since | string |
The date the developer became a member. |
Last Logged In
|
leaderboard.developer.last_logged_in | string |
The date the developer last logged in. |
Status
|
leaderboard.developer.status | string |
The current status of the developer account. |
Company
|
leaderboard.developer.company | string |
The company name that the developer is a part of |
Team
|
leaderboard.developer.team | string |
The team name that the developer is a part of. |
tags
|
leaderboard.developer.tags | array of string |
tags |
roles
|
leaderboard.developer.roles | array of string |
roles |
Blocked
|
leaderboard.blocked | boolean |
Whether this participant was blocked from the tournament. |
Minutes Spent
|
leaderboard.minutes_spent | integer |
How long the developer spent answering (in minutes). |
Language
|
leaderboard.language | string |
The language/framework the participant used. |
Max Points
|
leaderboard.max_points | integer |
The maximum amount of points available in the tournament |
Points
|
leaderboard.points | integer |
The amount of points the participant gained. |
Hints Used
|
leaderboard.hints_used | integer |
Number of hints the participant used. |
Lives Lost
|
leaderboard.lives_lost | integer |
The number of lives the participant lost during the tournament. |
levels
|
leaderboard.levels | array of object |
levels |
name
|
leaderboard.levels.name | string |
name |
challenges
|
leaderboard.levels.challenges | array of object |
challenges |
number
|
leaderboard.levels.challenges.number | integer |
number |
category
|
leaderboard.levels.challenges.category | string |
category |
subcategory
|
leaderboard.levels.challenges.subcategory | string |
subcategory |
difficulty
|
leaderboard.levels.challenges.difficulty | string |
difficulty |
status
|
leaderboard.levels.challenges.status | string |
status |
max_points
|
leaderboard.levels.challenges.max_points | integer |
max_points |
points
|
leaderboard.levels.challenges.points | integer |
points |
codebase_size
|
leaderboard.levels.challenges.codebase_size | string |
codebase_size |
minutes_spent
|
leaderboard.levels.challenges.minutes_spent | integer |
minutes_spent |
stages
|
leaderboard.levels.challenges.stages | array of object |
stages |
number
|
leaderboard.levels.challenges.stages.number | integer |
number |
name
|
leaderboard.levels.challenges.stages.name | string |
name |
status
|
leaderboard.levels.challenges.stages.status | string |
status |
points
|
leaderboard.levels.challenges.stages.points | integer |
points |
max_points
|
leaderboard.levels.challenges.stages.max_points | integer |
max_points |
minutes_spent
|
leaderboard.levels.challenges.stages.minutes_spent | integer |
minutes_spent |
lives_lost
|
leaderboard.levels.challenges.stages.lives_lost | integer |
lives_lost |
hints_used
|
leaderboard.levels.challenges.stages.hints_used | integer |
hints_used |
Total Pages
|
links.total_pages | integer |
The total number of pages in the results |
Results per Page
|
links.results_per_page | integer |
The maximum number of results in each page. |
Next Page
|
links.next_page | integer |
The page number of the next page (if one exists). |
Previous Page
|
links.prev_page | integer |
The page number of the previous page (if one exists). |
Total Results
|
links.total_results | integer |
The total number of the results. |
Get Developer Progress
This endpoint returns the training progress of all developers within the organisation, with current realm, level and quest progress.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
Returns
This contains the progress of each developer on each of languages, realms, levels, and quests
- Developer Progress
- DevelopersProgress
Get progress of all developers for the course
This endpoint will return the progress of all developers for the specified course.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Course ID
|
course_id | True | string |
Course ID |
Page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
data
|
data | array of CourseDeveloperProgressEntry | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get Resources
Learning resources list
Returns
Name | Path | Type | Description |
---|---|---|---|
resources
|
resources | array of Resource |
Get Team Activity Most Engaged
This endpoint returns the top 'N' most engaged teams.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Report Period
|
report_period | integer |
The number of days over which to view most engaged teams (report_period should be specified alone or with enddate) |
|
Start Date
|
startdate | string |
Start date for date range (should not be specified with report_period). Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | string |
End date for date range (should be greater than startdate). Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
Number of Teams
|
number_of_teams | integer |
Top 'N' number of teams |
|
Tags
|
tags | string |
User tags |
|
Page
|
page | integer |
The page number of results |
Returns
Most Engaged Teams in the company
- Body
- MostEngagedTeams
Get team details
This is used to get details of a team.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Team ID
|
team_id | True | string |
Team ID |
Returns
Team Details
- Body
- TeamDetails
Get Team Leaderboard
This endpoint returns a list of all teams within the organisation, with their current stats as well as the change in stats over the report period (which may be 1, 7 or 30 days).
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Report Period
|
report_period | integer |
The number of days over which to view the changes in statistics |
|
Omit Inactive
|
omitInactive | boolean |
When set to true, will omit all inactive accounts from results |
|
Page
|
page | integer |
The page number of results |
|
Start Date
|
startdate | date-time |
Include progress for leaderboard completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | date-time |
Include progress for leaderboard completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
Returns
- response
- array of TeamLeaderboard
Get Teams
This endpoint will return a list of Team objects which contain a range of datapoints related to teams. This includes team IDs, which may be used in conjunction with the other team API endpoints.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
|
Team Name
|
name | string |
Team name |
Returns
Name | Path | Type | Description |
---|---|---|---|
teams
|
teams | array of TeamDetails | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get time spent
Time spent on the platform across Assessments, Learning, Tournaments and Training.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
|
ID
|
id | string |
Filter results based on user Id in UUID format |
|
Email
|
string |
Filter results based on email |
||
Tags
|
tags | string |
Filter results base to show users with the tags. Specified tags are seperated by commas and uses OR logic to filter results. |
|
Team
|
team | string |
Filter results to show users belong to specified team |
|
Start Date
|
startdate | date-time |
Filter results to include results from start of day. Date format 'YYYY-MM-DD'. In UTC |
|
End Date
|
enddate | date-time |
Filter results to including all results till end of day. Date format 'YYYY-MM-DD'. In UTC |
Returns
Name | Path | Type | Description |
---|---|---|---|
users
|
users | array of UsersTimeSpent | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get Tournament Leaderboard
This endpoint returns the leaderboard for a single tournament. This includes all levels, challenges and stages that the developer participated in, with detailed metrics of each.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Tournament ID
|
tournament_id | True | string |
The tournament ID |
Page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
leaderboard
|
leaderboard | array of TournamentParticipant | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get Tournaments
This endpoint returns a list of tournaments in the company.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
|
Tournament Name
|
name | string |
Tournament name |
|
Start Date
|
startdate | date-time |
Only return tournaments that start on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | date-time |
Only return tournaments that finish on or before the given time. time: YYYY-MM-DDTHH:mm:ss.SSSZ |
Returns
Name | Path | Type | Description |
---|---|---|---|
tournaments
|
tournaments | array of Tournament | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Get User
This is used to retrieve a single user record. The response may be shaped by passing in a fields query parameter listing the attribute names to return.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
ID
|
id | True | string |
The user resource ID. |
ID Type
|
idtype | string |
Used to classify the type of user ID in the URL. |
|
Fields
|
fields | string |
An array of fields. Only returns the attributes specified in the Filter. Each attribute should be comma separated. |
Returns
- User Data
- UserData
Get Users
This is used to retrieve all user records. The response may be shaped by passing in a fields query parameter listing the attribute names to return.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Fields
|
fields | string |
An array of fields. Only returns the attributes provided. Each attribute should be comma separated. |
|
Page
|
page | integer |
Returns the given page number of a paginated result set. Page sizes are 1000 records. |
Returns
List of UserData
- User List
- UsersList
Get Users Activity Most Engaged
This endpoint returns the top 'N' most engaged users.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Report Period
|
report_period | integer |
The number of days over which to view most engaged users (report_period should be specified alone or with enddate) |
|
Start Date
|
startdate | string |
Start date for date range (should not be specified with report_period). Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
End Date
|
enddate | string |
End date for date range (should be greater than startdate). Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
Number of users
|
number_of_users | integer |
Top 'N' number of users |
|
Team Name
|
team_name | string |
Team Name |
|
Tags
|
tags | string |
User tags |
|
Page
|
page | integer |
The page number of results |
Returns
Most Engaged Users in the company
- Body
- MostEngagedUsers
Search Assessment
This endpoint will return a list of Assessment objects which contain a range of datapoints related to assessments. This includes assessment IDs, which may be used in conjunction with the other assessments API endpoints. Results can be filtered based on status, name, supported language and difficulty.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
status
|
status | string |
Assessment status |
|
name
|
name | string |
Assessment name |
|
_id
|
_id | string |
Language Id |
|
_framework
|
_framework | string |
Language framework |
|
difficulty
|
difficulty | string |
Assessment difficulty |
|
page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
assessments
|
assessments | array of Assessment | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Search Assessment Attempts
This endpoint returns a detailed report for all developers who have taken the Assessment with the given ID. The scope of the report may be filtered in a number of ways. You may filter results to given developer(s) by supplying their email address(es) with the query. If a status is provided, only assessment attempts with specified status are included. If team name(s) provided, only assessment attempts of users within those team(s) are included. If tags(s) is provided, only assessment attempts of users with those tag(s) are included. If a pass_status is provided, only assessment attempts with specified pass_status are included. This includes all the data in the summary report plus details on all the challenges that are a part of the assessment.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
assessment_id
|
assessment_id | string |
The assessment ID |
|
name
|
name | string |
The assessment name |
|
users
|
users | string |
Users attempting the assessment (one or more user emails, separated by comma) |
|
status
|
status | string |
Assessment attempt status |
|
team_names
|
team_names | string |
Team names (one or more team names, separated by comma) |
|
tags
|
tags | string |
User tags (one or more user tags, separated by comma) |
|
pass_status
|
pass_status | string |
Assessment attempt pass status |
|
page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
attempts
|
attempts | array of object |
attempts |
ID
|
attempts._id | string |
The assessment attempt ID |
Assessment
|
attempts._assessment | string |
The assessment it belongs to |
Assessment Name
|
attempts.name | string |
The assessment name |
Name
|
attempts.developer.name | string |
The name of the developer (first + middle + surname). |
Email
|
attempts.developer.email | string |
The developer's email address. |
Member Since
|
attempts.developer.member_since | string |
The date the developer became a member. |
Last Logged In
|
attempts.developer.last_logged_in | string |
The date the developer last logged in. |
Status
|
attempts.developer.status | string |
The current status of the developer account. |
Company
|
attempts.developer.company | string |
The company name that the developer is a part of. |
Team
|
attempts.developer.team | string |
The team name that the developer is a part of. |
tags
|
attempts.developer.tags | array of string |
tags |
roles
|
attempts.developer.roles | array of string |
roles |
Status
|
attempts.status | string |
Indicates the status of a challenge/assessment which may be pending, in progress, done or 'out of reach'. |
Language
|
attempts.language | string |
The language/framework of the assessment. null = language/framework not selected for assessment supporting more than one language. |
Started
|
attempts.started | string |
The date/time that the assessment was started. |
Completed
|
attempts.completed | string |
The date/time that the assessment was completed |
Deadline
|
attempts.deadline | string |
The date/time of the assessment deadline. If an assessment does not have a time limit, deadline will be null. |
Score
|
attempts.score | integer |
Assessment score in %. |
Completed In
|
attempts.completed_in | string |
The amount of time taken to complete the assessment attempt. |
Passing Grade
|
attempts.passing_grade | integer |
The percentage required to pass the assessment. |
Pass Status
|
attempts.pass_status | string |
The pass status of the assessment. |
Correct
|
attempts.progress.correct | integer |
The number of correct challenges. |
Incorrect
|
attempts.progress.incorrect | integer |
The number of incorrect challenges. |
Number of Challenges
|
attempts.progress.number_of_challenges | integer |
The total number of challenges. |
Completed
|
attempts.progress.completed | integer |
The date/time that the assessment was completed. |
Located
|
attempts.accuracy.located | integer |
The % of vulnerabilities located |
Identified
|
attempts.accuracy.identified | integer |
The % of vulnerabilities identified |
Fixed
|
attempts.accuracy.fixed | integer |
The % of vulnerabilities fixed |
challenges
|
attempts.challenges | array of object |
challenges |
number
|
attempts.challenges.number | integer |
number |
category
|
attempts.challenges.category | string |
category |
subcategory
|
attempts.challenges.subcategory | string |
subcategory |
difficulty
|
attempts.challenges.difficulty | string |
difficulty |
status
|
attempts.challenges.status | string |
status |
max_score
|
attempts.challenges.max_score | integer |
max_score |
score
|
attempts.challenges.score | integer |
score |
status
|
attempts.challenges.locate.status | string |
status |
status
|
attempts.challenges.identify.status | string |
status |
status
|
attempts.challenges.fix.status | string |
status |
Total Pages
|
links.total_pages | integer |
The total number of pages in the results. |
Results per Page
|
links.results_per_page | integer |
The maximum number of results in each page. |
Next Page
|
links.next_page | integer |
The page number of the next page (if one exists). |
Prev Page
|
links.prev_page | integer |
The page number of the previous page (if one exists). |
Total Results
|
links.total_results | integer |
The total number of the results. |
Search course developers progress
This endpoint returns the course progress of all developers within the organisation.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
|
course_id
|
course_id | array of uuid |
Array of course ID |
|
user_id
|
user_id | array of uuid |
Array of user resource ID |
|
status
|
status | string |
Course status |
Returns
Name | Path | Type | Description |
---|---|---|---|
data
|
data | array of object | |
user_id
|
data.user_id | string |
User resource ID |
status
|
data.status | string |
Course status |
accuracy
|
data.accuracy | integer |
The percentage of correct attempts |
confidence
|
data.confidence | integer |
The ratio of hits used to available hints |
minutes_spent
|
data.minutes_spent | integer |
The total time in mimnutes that the user spent on the course |
first_completed_date
|
data.first_completed_date | date-time |
The date the first course language was completed |
first_enrolled_date
|
data.first_enrolled_date | date-time |
The date the first course language was enrolled in |
progress
|
data.progress | integer |
The progress of the course |
languages
|
data.languages | array of CourseDeveloperProgressLanguageEntry |
List of languages for the course |
invites
|
data.invites | array of CourseDeveloperProgressInviteEntry |
List of invites and reminders |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Search Developer Leaderboard
This endpoint returns a list of all developers within the organisation, with their current stats. This also lists the change in stats over the report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
report_period_in_days
|
report_period_in_days | integer |
The number of days into the past to report on (valid values - 1, 7 and 30 days) |
|
startdate
|
startdate | string |
developer leaderboard completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
enddate
|
enddate | string |
developer leaderboard completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
users
|
users | string |
Users to include in leaderboard (one or more user emails, separated by comma) |
|
team_names
|
team_names | string |
Team names (one or more team names, separated by comma) |
|
tags
|
tags | string |
User tags (one or more user tags, separated by comma) |
|
page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
leaderboard
|
leaderboard | array of object |
leaderboard |
Rank
|
leaderboard.rank | integer |
The final position of the participant within the tournament. |
Name
|
leaderboard.developer.name | string |
The name of the developer (first + middle + surname). |
Email
|
leaderboard.developer.email | string |
The developers email address |
Member Since
|
leaderboard.developer.member_since | string |
The date the developer became a member. |
Last Logged In
|
leaderboard.developer.last_logged_in | string |
The date the developer last logged in. |
Status
|
leaderboard.developer.status | string |
The current status of the developer account. |
Company
|
leaderboard.developer.company | string |
The company name that the developer is a part of. |
Team
|
leaderboard.developer.team | string |
The team name that the developer is a part of. |
tags
|
leaderboard.developer.tags | array of string |
tags |
roles
|
leaderboard.developer.roles | array of string |
roles |
Blocked
|
leaderboard.blocked | boolean |
Whether this participant was blocked from the tournament. |
Minutes Spent
|
leaderboard.minutes_spent | integer |
How long the developer spent answering (in minutes). |
Language
|
leaderboard.language | string |
The language/framework the the participant used. |
Max Points
|
leaderboard.max_points | integer |
The maximum amount of points available in the tournament. |
Points
|
leaderboard.points | integer |
The amount of points the participant gained. |
Hints Used
|
leaderboard.hints_used | integer |
Number of hints the participant used. |
Lives Lost
|
leaderboard.lives_lost | integer |
The number of lives the participant lost during the tournament. |
levels
|
leaderboard.levels | array of object |
levels |
name
|
leaderboard.levels.name | string |
name |
challenges
|
leaderboard.levels.challenges | array of object |
challenges |
number
|
leaderboard.levels.challenges.number | integer |
number |
category
|
leaderboard.levels.challenges.category | string |
category |
subcategory
|
leaderboard.levels.challenges.subcategory | string |
subcategory |
difficulty
|
leaderboard.levels.challenges.difficulty | string |
difficulty |
status
|
leaderboard.levels.challenges.status | string |
status |
max_points
|
leaderboard.levels.challenges.max_points | integer |
max_points |
points
|
leaderboard.levels.challenges.points | integer |
points |
codebase_size
|
leaderboard.levels.challenges.codebase_size | string |
codebase_size |
minutes_spent
|
leaderboard.levels.challenges.minutes_spent | integer |
minutes_spent |
stages
|
leaderboard.levels.challenges.stages | array of object |
stages |
number
|
leaderboard.levels.challenges.stages.number | integer |
number |
name
|
leaderboard.levels.challenges.stages.name | string |
name |
status
|
leaderboard.levels.challenges.stages.status | string |
status |
points
|
leaderboard.levels.challenges.stages.points | integer |
points |
max_points
|
leaderboard.levels.challenges.stages.max_points | integer |
max_points |
minutes_spent
|
leaderboard.levels.challenges.stages.minutes_spent | integer |
minutes_spent |
lives_lost
|
leaderboard.levels.challenges.stages.lives_lost | integer |
lives_lost |
hints_used
|
leaderboard.levels.challenges.stages.hints_used | integer |
hints_used |
Total Pages
|
links.total_pages | integer |
The total number of pages in the results. |
Results per Page
|
links.results_per_page | integer |
The maximum number of results in each page. |
Next Page
|
links.next_page | integer |
The page number of the next page (if one exists). |
Previous Page
|
links.prev_page | integer |
The page number of the previous page (if one exists). |
Total Results
|
links.total_results | integer |
The total number of the results. |
Search Developers Activity
This endpoint returns the detailed challenge log of all developers within the organisation, with challenge score, difficulty and challenge outcome of the developer. This also lists the challenge log over the report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
report_period_in_days
|
report_period_in_days | integer |
The number of days into the past to report on (valid values - 1, 7 and 30 days) |
|
startdate
|
startdate | string |
developer challenge logs completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
enddate
|
enddate | string |
developer challenge logs completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
users
|
users | string |
Users to include in challenge logs (one or more user emails, separated by comma) |
|
team_names
|
team_names | string |
Team names (one or more team names, separated by comma) |
|
tags
|
tags | string |
User tags (one or more user tags, separated by comma) |
|
page
|
page | integer |
The page number of results |
Returns
Detailed log of challenges for a given time period
- Developer Activity
- DevelopersActivity
Search Developers Progress
This endpoint returns the training progress of all developers within the organisation, with current realm, level and quest progress. This also lists the change in developer progress over the report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
report_period_in_days
|
report_period_in_days | integer |
The number of days into the past to report on (valid values - 1, 7 and 30 days) |
|
startdate
|
startdate | string |
developer progress completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
enddate
|
enddate | string |
developer progress completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
users
|
users | string |
Users to include in developer progress (one or more user emails, separated by comma) |
|
team_names
|
team_names | string |
Team names (one or more team names, separated by comma) |
|
tags
|
tags | string |
User tags (one or more user tags, separated by comma) |
|
page
|
page | integer |
The page number of results |
Returns
This contains the progress of each developer on each of languages, realms, levels, and quests
- Developer Progress
- DevelopersProgress
Search Learning Progress
Learning description Filters - users, teams and tags
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
users
|
users | string |
Users to include in learning progress (one or more user emails, separated by comma) |
|
team_names
|
team_names | string |
Team names (one or more team names, separated by comma) |
|
tags
|
tags | string |
User tags (one or more user tags, separated by comma) |
|
page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
developers
|
developers | array of ResourceRecord | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Search Tournament Leaderboard
This endpoint returns the leaderboard for a single tournament. This includes all levels, challenges and stages that the developer participated in, with detailed metrics of each. This endpoint can also return the leaderboard over a report period (which may be 1, 7 or 30 days) or a given date range. Results can be filtered based on developer emails, developer tags and team names.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Tournament ID
|
tournament_id | True | string |
The tournament ID |
report_period_in_days
|
report_period_in_days | integer |
The number of days into the past to report on (valid values - 1, 7 and 30 days) |
|
startdate
|
startdate | string |
developer leaderboard completed on or after the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
enddate
|
enddate | string |
developer leaderboard completed on or before the given time. Format: YYYY-MM-DDTHH:mm:ss.SSSZ |
|
users
|
users | string |
Users to include in leaderboard (one or more user emails, separated by comma) |
|
team_names
|
team_names | string |
Team names (one or more team names, separated by comma) |
|
tags
|
tags | string |
User tags (one or more user tags, separated by comma) |
|
page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
leaderboard
|
leaderboard | array of TournamentParticipant | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Search Users
This is used to retrieve all user records. The response may be shaped by passing in a fields query parameter listing the attribute names to return. Filter is achieved by passing the filter criteria through the body.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Fields
|
fields | string |
An array of fields. Only returns the attributes provided. Each attribute should be comma separated. |
|
Page
|
page | integer |
Returns the given page number of a paginated result set. Page sizes are 1000 records. |
|
id
|
id | string |
User resource ID |
|
email
|
string |
The email of the user |
||
role
|
role | string |
The role assigned to the user which is one of developer, team manager or company administrator |
|
team
|
team | string |
The team the user is associated with |
|
tags
|
tags | array of string |
Any identifying information about the user. Example: Head Quarters, Asia-Pacific |
Returns
List of UserData
- User List
- UsersList
Shows learning resources which have be completed, read or watched
Learning description
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Page
|
page | integer |
The page number of results |
Returns
Name | Path | Type | Description |
---|---|---|---|
developers
|
developers | array of ResourceRecord | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
Update team details
This is used to update details of a team.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
Team ID
|
team_id | True | string |
Team ID |
name
|
name | string |
Team Name |
|
tags
|
tags | array of string |
Any identifying information about the team. Example: Head Quarters, Asia-Pacific, Engineering |
|
status
|
status | string |
Team Status |
|
onboardingmessage
|
onboardingmessage | string |
Team On Boarding Message |
|
languages
|
languages | array of string |
Team languages list, _id and _framework separated by double colons (::) and separated by commas (,) |
Returns
Team Details
- Body
- TeamDetails
Update User
Updates a user with the given data. Tags will be replaced.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
ID
|
id | True | string |
The user resource ID. |
Skip Notify If SSO
|
skipNotifyIfSso | boolean |
Used to disable the change of email notification sent to user. |
|
email
|
The email address of the user |
|||
enabled
|
enabled | boolean |
Users status on the platform |
|
role
|
role | string |
The role assigned to the user which is one of developer, team manager or company administrator |
|
team
|
team | string |
The team the user is associated with |
|
tags
|
tags | array of string |
Any identifying information about the user. Example: Head Quarters, Asia-Pacific |
|
_id
|
_id | string |
Language Id |
|
_framework
|
_framework | string |
Language Framework |
Returns
- User Updated
- UserUpdated
Definitions
Tournament
Name | Path | Type | Description |
---|---|---|---|
_id
|
_id | string |
The ID of the tournament |
name
|
name | string |
The name of the tournament |
description
|
description | string |
The tournament description |
start_time
|
start_time | date-time |
The time the tournament starts |
end_time
|
end_time | date-time |
The time the tournament ends |
timezone
|
timezone | string |
The timezone that the tournament is being held in |
TournamentParticipant
Name | Path | Type | Description |
---|---|---|---|
rank
|
rank | integer |
The final position of the participant within the tournament |
Developer
|
developer | Developer |
Information about an individual developer |
blocked
|
blocked | boolean |
Whether this participant was blocked from the tournnament |
minutes_spent
|
minutes_spent | integer |
How long the developer spent answering (in minutes) |
language
|
language | string |
The language/framework the the participant used |
max_points
|
max_points | integer |
The maximum amount of points available in the tournament |
points
|
points | integer |
The amount of points the participant gained |
hints_used
|
hints_used | integer |
Number of hints the participant used |
lives_lost
|
lives_lost | integer |
The number of lives the participant lost during the tournament |
levels
|
levels | array of Level |
The levels of the challenge |
Level
Name | Path | Type | Description |
---|---|---|---|
name
|
name | string |
The level name |
challenges
|
challenges | array of object | |
number
|
challenges.number | integer |
The challenge number (starts at 1) |
category
|
challenges.category | string |
The challenge category |
subcategory
|
challenges.subcategory | string |
The challenge subcategory |
difficulty
|
challenges.difficulty | string | |
Status
|
challenges.status | Status |
Indicates the status of a challenge/assessment which may be pending, in progress, done or 'out of reach' |
max_points
|
challenges.max_points | integer |
The maximum points available for this challenge |
points
|
challenges.points | integer |
The points obtained for this challenge |
codebase_size
|
challenges.codebase_size | string | |
minutes_spent
|
challenges.minutes_spent | integer |
How long the developer spent answering (in minutes) |
stages
|
challenges.stages | array of Stage |
Stage
Name | Path | Type | Description |
---|---|---|---|
number
|
number | integer |
The stage number |
name
|
name | string |
The name of the stage |
status
|
status | string |
The status of the attempt at this stage |
points
|
points | integer |
Points gained on this stage |
max_points
|
max_points | integer |
Maximum points available on this stage |
minutes_spent
|
minutes_spent | integer |
How long the developer spent answering (in minutes) |
lives_lost
|
lives_lost | integer |
The number of lives lost on this stage |
hints_used
|
hints_used | integer |
The number of hints used on this stage |
Assessment
Name | Path | Type | Description |
---|---|---|---|
_id
|
_id | string |
The assessment ID |
status
|
status | string |
The status of the assessment |
name
|
name | string |
The name of the assessment |
description
|
description | string |
The assessment description |
supported_languages
|
supported_languages | array of string |
List of languages/frameworks available for the assessment |
difficulty
|
difficulty | string |
The difficulty of the assessment |
success_ratio
|
success_ratio | integer |
The percentage required to pass the assessment |
emits_certificate
|
emits_certificate | boolean |
Is the assessment linked to a certificate? |
time_limit
|
time_limit | integer |
The time limit of the assessment in milliseconds. null = no time limit |
start_date
|
start_date | date-time |
The date the assessment starts |
end_date
|
end_date | date-time |
The date the assessment ends |
timezone
|
timezone | string |
The timezone of the assessment |
number_of_challenges
|
number_of_challenges | integer |
The number of challenges in the assessment |
self_assess
|
self_assess | boolean |
Is assessment a public assessment? |
retries_allowed
|
retries_allowed | boolean |
Are retries allowed for this assessment? |
Status
Indicates the status of a challenge/assessment which may be pending, in progress, done or 'out of reach'
Indicates the status of a challenge/assessment which may be pending, in progress, done or 'out of reach'
- Status
- string
preferredDevLanguage
Dev language preference
Name | Path | Type | Description |
---|---|---|---|
_id
|
_id | string |
Language Id |
_framework
|
_framework | string |
Language Framework |
AssessmentAssignResponse
Response to assessment assign POST request
Name | Path | Type | Description |
---|---|---|---|
user
|
user | string |
User email Id |
inviteEmailSent
|
inviteEmailSent | boolean |
Was invite email sent ? |
inviteUrl
|
inviteUrl | string |
Assessment invite url |
TeamLeaderboard
The team leaderboard contains all the team leaderboard entries valid during the given reporting period
Name | Path | Type | Description |
---|---|---|---|
report_period_in_days
|
report_period_in_days | integer |
The number of days into the past to report on |
leaderboard
|
leaderboard | array of TeamLeaderboardEntry | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
TeamLeaderboardEntry
An entry in the team leaderboard
Name | Path | Type | Description |
---|---|---|---|
rank
|
rank | integer |
The team's rank on the leaderboard. |
name
|
name | string |
The name of the team |
developers
|
developers | integer |
The number of developers on the team |
points_average
|
points_average | integer |
The team's average points |
points_total
|
points_total | integer |
The team's total points |
accuracy
|
accuracy | integer |
The team's accuracy (in %) |
confidence_level
|
confidence_level | integer |
The team's confidence level (in %) |
time_spent
|
time_spent | integer |
The total minutes spent by the team on challenges |
installed_sensei
|
installed_sensei | integer |
The number of developers in the team that have installed sensei |
Stats over Report Period
|
stats_over_report_period | StatsOverReportPeriod |
The statistics computed for the given report period |
MostEngagedTeams
Most Engaged Teams in the company
Name | Path | Type | Description |
---|---|---|---|
teams
|
teams | array of TeamEntry |
Team details |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
TeamEntry
This object represents team details
Name | Path | Type | Description |
---|---|---|---|
name
|
name | string |
Name of the team |
status
|
status | string |
Status of the team |
timeSpent
|
timeSpent | integer |
Team time spent |
MostEngagedUsers
Most Engaged Users in the company
Name | Path | Type | Description |
---|---|---|---|
users
|
users | array of UserEntry |
User details |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
UserEntry
This object represents user details
Name | Path | Type | Description |
---|---|---|---|
name
|
name | string |
Name of the user |
status
|
status | string |
Status of the user |
timeSpent
|
timeSpent | integer |
Time spent by the user |
StatsOverReportPeriod
The statistics computed for the given report period
Name | Path | Type | Description |
---|---|---|---|
points_gained
|
points_gained | integer |
The number of points the developer has gained |
accuracy_change
|
accuracy_change | integer |
The change in accuracy over the reporting period |
confidence_level_change
|
confidence_level_change | integer |
The change in confidence level over the reporting period |
minutes_spent
|
minutes_spent | integer |
The minutes spent by the team on challenges |
challenges_correct
|
challenges_correct | integer |
The number of correct challenges |
challenges_incorrect
|
challenges_incorrect | integer |
The number of incorrect challenges |
Developer
Information about an individual developer
Name | Path | Type | Description |
---|---|---|---|
name
|
name | string |
The name of the developer (first + middle + surname) |
email
|
string |
The developers email address |
|
member_since
|
member_since | date-time |
The date the developer became a member |
last_logged_in
|
last_logged_in | date-time |
The date the developer last logged in |
status
|
status | string |
The current status of the developer account |
company
|
company | string |
The company name that the developer is a part of |
team
|
team | string |
The team name that the developer is a part of |
tags
|
tags | array of string |
The tags associated with this developer |
roles
|
roles | string |
The roles that this developer has |
DevelopersProgress
This contains the progress of each developer on each of languages, realms, levels, and quests
Name | Path | Type | Description |
---|---|---|---|
developers
|
developers | array of DeveloperProgressEntry |
List of developers who have made an attempt at training |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
DeveloperProgressEntry
This entry represents an object in the developers training progress containing information the developer and the progress of their attempts in training mode
Name | Path | Type | Description |
---|---|---|---|
Developer
|
developer | Developer |
Information about an individual developer |
languages
|
languages | array of TrainingProgressEntry |
List of languages attempted by the developer on training mode |
TrainingProgressEntry
Entry with progress of completion on languages and list of realms
Name | Path | Type | Description |
---|---|---|---|
name
|
name | string |
Name of language framework |
language_progress
|
language_progress | integer |
Percentage of the language completed |
realms
|
realms | array of object |
List of realms for each language |
name
|
realms.name | string |
Name of realm |
realm_progress
|
realms.realm_progress | integer |
Percentage of the realm completed |
levels
|
realms.levels | array of object |
List of levels for each realm |
name
|
realms.levels.name | string |
Name of level |
level_progress
|
realms.levels.level_progress | integer |
Percentage of the level completed |
quests
|
realms.levels.quests | array of object |
List of quests for each level |
name
|
realms.levels.quests.name | string |
Name of quest |
quest_progress
|
realms.levels.quests.quest_progress | integer |
percentage of quest completed |
DevelopersActivity
Detailed log of challenges for a given time period
Name | Path | Type | Description |
---|---|---|---|
activities
|
activities | array of ActivityEntry |
List of developers containing with list of languages containing challenge attempts |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
ActivityEntry
This object represents the developer and their challenge attempts
Name | Path | Type | Description |
---|---|---|---|
Developer
|
developer | Developer |
Information about an individual developer |
Challenge Attempt
|
challenge | ChallengeAttempt |
Attempt made by deverloper in training mode |
ChallengeAttempt
Attempt made by deverloper in training mode
Name | Path | Type | Description |
---|---|---|---|
language
|
language | string |
Name of language framework |
realm
|
realm | string |
Name of realm |
level
|
level | string |
Name of level |
quest
|
quest | string |
Name of quest |
category
|
category | string |
Category name of the challenge |
subcategory
|
subcategory | string |
Subcategory name of the challenge |
difficulty
|
difficulty | string |
Level of difficulty for the challenge |
started
|
started | date-time |
Time challenge was started |
completed
|
completed | date-time |
Time challenges was completed |
duration
|
duration | integer |
Time in seconds it took for the challenge to complete |
status
|
status | string |
Status of challenge, with incorrect status on challenge with 1 or more incorrect stages |
hints_used
|
hints_used | integer |
Total number of hints from the challenge stages used by the developer |
score
|
score | integer |
Points acquired |
max_score
|
max_score | string |
Max points attainable for the challenge |
Select Vulnerability
|
select_vulnerability | SelectVulnerability |
Nature of challenge challenge |
Locate Vulnerability
|
locate_vulnerability | LocateVulnerability |
Nature of challenge challenge |
Identify Solution
|
identify_solution | IdentifySolution |
Nature of challenge challenge |
SelectVulnerability
Nature of challenge challenge
Name | Path | Type | Description |
---|---|---|---|
attempt_index
|
attempt_index | integer |
Number of times the developer has attempted the stage |
status
|
status | string |
Outcome of the challenge, out_of_reach status describes a stage not yet attempted by the developer |
max_score
|
max_score | integer |
Max points attainable for selecting the vulnerability |
score
|
score | integer |
Points acquired for selecting the vulnerability |
skipped
|
skipped | boolean |
When set to true, stage has been skipped. If status is false, stage was completed or has yet to be attempted |
LocateVulnerability
Nature of challenge challenge
Name | Path | Type | Description |
---|---|---|---|
attempt_index
|
attempt_index | integer |
Number of times the developer has attempted the stage |
status
|
status | string |
Outcome of the challenge |
max_score
|
max_score | integer |
Max points attainable for locating the vulnerability |
score
|
score | integer |
Points acquired for locating the vulnerability |
IdentifySolution
Nature of challenge challenge
Name | Path | Type | Description |
---|---|---|---|
attempt_index
|
attempt_index | integer |
Number of times the developer has attempted the stage |
status
|
status | string |
Outcome of the challenge |
max_score
|
max_score | integer |
Max points attainable for identifying the solution |
score
|
score | integer |
Points acquired for identifying the solution |
ResourceItem
Resource item details
Name | Path | Type | Description |
---|---|---|---|
id
|
id | string | |
name
|
name | string |
Resource
Resource details
Name | Path | Type | Description |
---|---|---|---|
id
|
id | string | |
name
|
name | string | |
items
|
items | array of ResourceItem |
CompletedResource
Details of a completed learning resource
Name | Path | Type | Description |
---|---|---|---|
resource
|
resource | array of string |
An ordered list of the categorisation and name of the completed resource |
time_completed
|
time_completed | date-time |
When the learning resource was completed |
ResourceRecord
A record of a developer's completed learning resources
Name | Path | Type | Description |
---|---|---|---|
Developer
|
profile | Developer |
Information about an individual developer |
completed
|
completed | array of CompletedResource |
All learning resources completed by the user |
CourseURL
URL to training courses
Name | Path | Type | Description |
---|---|---|---|
url
|
url | string |
URL to course |
TeamData
Name | Path | Type | Description |
---|---|---|---|
name
|
name | string |
Team name |
UserData
Name | Path | Type | Description |
---|---|---|---|
id
|
id | string |
The resource Id of the user |
email
|
string |
The email of the user |
|
role
|
role | string |
The role assigned to the user which is one of developer, team manager or company administrator |
first
|
name.first |
First name |
|
middle
|
name.middle |
Middle name |
|
last
|
name.last |
Last name |
|
status
|
status | string |
User status |
invite-date
|
invite-date | date-time |
Time of when the user was last invited |
last-login-date
|
last-login-date | date-time |
Last time the user logged in |
Team Data
|
team | TeamData | |
tags
|
tags | array of string |
Any identifying information about the user. Example: Head Quarters, Asia-Pacific |
preferredDevLanguages
|
preferredDevLanguages | array of preferredDevLanguage |
Dev languages preference |
UserUpdated
Name | Path | Type | Description |
---|---|---|---|
statusCode
|
statusCode | integer |
Success response message status code |
message
|
message | string |
Success response message description |
code
|
code | string |
Secure Code Warrior Code |
UserCreated
Name | Path | Type | Description |
---|---|---|---|
id
|
id | string |
Secure Code Warrior resource identifier |
statusCode
|
statusCode | integer |
Success response message status code |
message
|
message | string |
Success response message description |
code
|
code | string |
Secure Code Warrior Code |
UserDeleted
Name | Path | Type | Description |
---|---|---|---|
statusCode
|
statusCode | integer |
Success response message status code |
message
|
message | string |
Success response message description |
code
|
code | string |
Secure Code Warrior Code |
UsersList
List of UserData
Name | Path | Type | Description |
---|---|---|---|
users
|
users | array of UserData |
TopPerformers
List of top performers
Name | Path | Type | Description |
---|---|---|---|
report_period_in_days
|
report_period_in_days | integer |
The number of days in the past to report on |
top_performers
|
top_performers | array of TopPerformer | |
total_pages
|
links.total_pages | integer |
The total number of pages in the results |
results_per_page
|
links.results_per_page | integer |
The maximum number of results in each page |
next_page
|
links.next_page | integer |
The page number of the next page (if one exists) |
prev_page
|
links.prev_page | integer |
The page number of the previous page (if one exists) |
total_results
|
links.total_results | integer |
The total number of the results |
TopPerformer
Top performing user
Name | Path | Type | Description |
---|---|---|---|
points
|
points | integer |
Total points earned within a period of time |
id
|
id | string |
User Id in UUID format |
email
|
string |
User email |
|
first
|
name.first | string |
User first name |
middle
|
name.middle | string |
User middle name |
last
|
name.last | string |
User last name |
tags
|
tags | array of string |
User tags |
status
|
status | string |
User status |
Team Data
|
team | TeamData |
UsersTimeSpent
Entry showing users activity.
Name | Path | Type | Description |
---|---|---|---|
id
|
id | string |
User Id in UUID format |
email
|
string |
User email |
|
first
|
name.first | string |
User first name |
middle
|
name.middle | string |
User middle name |
last
|
name.last | string |
User last name |
tags
|
tags | array of string |
User tags |
status
|
status | string |
User status |
Team Data
|
team | TeamData | |
time-spent
|
time-spent | array of object |
Array of dates with the breakdown of time-spent/activity in a day |
date
|
time-spent.date | date |
Date in UTC |
Assessments
|
time-spent.activity.Assessments | integer |
Time-spent on Assessments |
Learning
|
time-spent.activity.Learning | integer |
Time-spent on Learning |
Tournaments
|
time-spent.activity.Tournaments | integer |
Time-spent on Tournaments |
Training
|
time-spent.activity.Training | integer |
Time-spent on Training |
StrengthsAndWeaknesses
Average strengths and weaknesses object
Name | Path | Type | Description |
---|---|---|---|
auth
|
auth | AverageStrengthsAndWeaknessesEntry |
This object represents each individual management category |
data_handling
|
data_handling | AverageStrengthsAndWeaknessesEntry |
This object represents each individual management category |
misconfig
|
misconfig | AverageStrengthsAndWeaknessesEntry |
This object represents each individual management category |
practices
|
practices | AverageStrengthsAndWeaknessesEntry |
This object represents each individual management category |
sensitive_data
|
sensitive_data | AverageStrengthsAndWeaknessesEntry |
This object represents each individual management category |
other
|
other | AverageStrengthsAndWeaknessesEntry |
This object represents each individual management category |
AverageStrengthsAndWeaknessesEntry
This object represents each individual management category
Name | Path | Type | Description |
---|---|---|---|
challenges
|
challenges | ChallengesEntry |
Challenges Data |
hints
|
hints | HintsEntry |
Hints Data |
points
|
points | integer |
Points |
timeSpent
|
timeSpent | integer |
Time spent |
ChallengesEntry
Challenges Data
Name | Path | Type | Description |
---|---|---|---|
attempted
|
attempted | integer |
Attempted challenges |
correct
|
correct | integer |
Correct of attempted |
incorrect
|
incorrect | integer |
Incorrect of attempted |
percentageCorrect
|
percentageCorrect | integer |
Percentage correct |
ratioCorrect
|
ratioCorrect | number |
Ratio correct |
HintsEntry
Hints Data
Name | Path | Type | Description |
---|---|---|---|
confidenceLevel
|
confidenceLevel | integer |
Confidence Level |
total
|
total | integer |
Total |
used
|
used | integer |
Used |
TeamDetails
Team Details
Name | Path | Type | Description |
---|---|---|---|
id
|
id | string |
Team Id |
name
|
name | string |
Name of the team |
tags
|
tags | array of string |
Any identifying information about the team. Example: Head Quarters, Asia-Pacific, Engineering |
onboardingMessage
|
onboardingMessage | string |
On boarding message for the team |
status
|
status | string |
Team status |
memberJoinToken
|
memberJoinToken | string |
Member Join Token |
companyName
|
companyName | string |
Name of the company |
languages
|
languages | array of string |
Team languages |
TeamDeleteResponse
Team Delete Response
Name | Path | Type | Description |
---|---|---|---|
deleteStatus
|
deleteStatus | string |
Status of delete operation |
Course
Name | Path | Type | Description |
---|---|---|---|
_id
|
_id | string |
The course ID |
name
|
name | string |
The name of the course |
description
|
description | string |
The course description |
status
|
status | string |
The status of the course |
supported_languages
|
supported_languages | array of string |
List of languages/frameworks available for the course |
deadline
|
deadline | date-time |
The date the course ends |
created_by
|
created_by | string |
The ResourceId of the author of the course |
CourseDeveloperProgressEntry
This entry represents a developer course progress
Name | Path | Type | Description |
---|---|---|---|
user_id
|
user_id | string |
User resource ID |
status
|
status | string |
Course status |
accuracy
|
accuracy | integer |
The percentage of correct attempts |
confidence
|
confidence | integer |
The ratio of hits used to available hints |
minutes_spent
|
minutes_spent | integer |
The total time in mimnutes that the user spent on the course |
first_completed_date
|
first_completed_date | date-time |
The date the first course language was completed |
first_enrolled_date
|
first_enrolled_date | date-time |
The date the first course language was enrolled in |
progress
|
progress | integer |
The progress of the course |
languages
|
languages | array of CourseDeveloperProgressLanguageEntry |
List of languages for the course |
invites
|
invites | array of CourseDeveloperProgressInviteEntry |
List of invites and reminders |
CourseDeveloperProgressInviteEntry
This entry represents a developer course progress invites and reminders.
This entry represents a developer course progress invites and reminders.
CourseDeveloperProgressLanguageEntry
This entry represents a developer course progress for a single language
Name | Path | Type | Description |
---|---|---|---|
language
|
language | string |
The programming language |
status
|
status | string |
The status for the course language |
accuracy
|
accuracy | integer |
The percentage of correct attempts for the language |
confidence
|
confidence | integer |
The ratio of hits used to available hints for the language |
minutes_spent
|
minutes_spent | integer |
The total time in mimnutes that the user spent on the course for the language |
progress
|
progress | integer |
The progress of the course for the language |
videos_watched
|
videos_watched | integer |
The amount of videos user have watched for the language |