On this page
- Parameter Casing
- Query Params
- "includes" Param
- "where" Param
- Where Operators
- Filterable Fields
- RESOURCES
- Andela
- Account
- AdvancedCodeSolution
- Assessment Challenge Items
- Assessment Cohorts
- Assessment Invitations
- Assessment Result Reviews
- Assessment Results
- AssessmentSets
- Assessment Templates
- AssessmentWorkflowPath
- Assessments
- Billing::Contract
- Billing::Billing::Customer
- Billing::Invoice
- Billing::Plan
- Billing::Customer
- Billing::Usage
- Candidates
- Challenges
- Code Challenges
- Code Solutions
- Emails
- Embed Assessment
- Embed Challenge
- ExternalEvidenceResults
- ExternalEvidences
- Interview Result Reviews
- InterviewResults
- InterviewStepItems
- InterviewSteps
- Interviews
- Label History
- Notes
- PathwayResults
- PathwaySets
- PathwayStepOptions
- PathwayStepResults
- PathwaySteps
- Pathways
- Product::ChangeLog
- Product::Releases
- Quiz Challenges
- Quiz Questions
- Quiz Solutions
- Sessions
- Solution Reviews
- Solutions
- Team Candidates
- TeamMemberPrivileges
- Team Members
- TeamNotification
- Teams
- UserFeedback
- Users
- WebhookEvent
- Webhook Examples
- Webhook Subscriptions
Internal REST API
If your subscription includes it, you can enable API-level control over your candidates, assessments, and more through the Qualified API. Once it's enabled, your account will have a unique access key associated with it.
Internal API
The API on this page includes private endpoints not found in our public API.
These endpoints are generally not useful or usable for normal clients or customers, and are not guaranteed to be consistent.
Please see the main API docs for more complete details on access and authorization.
Parameter Casing
Both camel and underscore casing is supported when sending data to the sever.
For Example:
# Example request with underscore casing
curl --request POST \
--url https://www.qualified.io/api/v1/assessments/5da42a8ea54d75e0663421c2/challenge_items/ \
--header 'authorization: 1MnbNTTL1O' \
--header 'Content-Type: application/json' \
--data '{"data":{"challenge_id":"5fa42a8ea54d75e066342d39"}}'
and
# Example request with camel casing
curl --request POST \
--url https://www.qualified.io/api/v1/assessments/5da42a8ea54d75e0663421c2/challenge_items/ \
--header 'authorization: 1MnbNTTL1O' \
--header 'Content-Type: application/json' \
--data '{"data":{"challengeId":"5fa42a8ea54d75e066342d39"}}'
are equivalent to each other.
Request Examples
The request examples given in the RESOURCES section will use underscore casing for consistency. Keep in mind that you can use either casing format.
Query Params
"includes" Param
There is a special parameter called "includes", available on most model requests. This parameter will fetch additional relations related to each model
and include them within the model's JSON response. For example if you are returning an assessment result and want to include the related solutions,
you can include them within a single API call.
The following example shows how to include challenge data on a solution.
curl --require POST \
--url https://www.qualified.io/api/v1/solutions/5ca42f3ea54d75e0653421d2?includes=challenge \
--header 'authorization: 1MnbNTTL1O' \
--header 'Content-Type: application/json' \
Multiple Params
If you wish to include multiple relations, you will need to use multiple instances of the includes param, except you will also need to name it includes[].
For example:
curl --require POST \
--url https://www.qualified.io/api/v1/solutions/5ca42f3ea54d75e0653421d2?includes[]=challenge&includes[]=assessment_result \
--header 'authorization: 1MnbNTTL1O' \
--header 'Content-Type: application/json' \"where" Param
A where param with an encoded JSON value can be passed in to certain List endpoints. This param allows you to filter list data by specific fields. Not all fields on the object are typically available for use with filters, in some cases only a few fields have been whitelisted.
The following example shows how to filter challenges to only show those that are published.
curl --require POST \
--url https://www.qualified.io/api/v1/challenges/5ea42a8ea54d75e0653421d2?where=%7B%22state%22%3A%20%22published%22%7D \
--header 'authorization: 1MnbNTTL1O' \
--header 'Content-Type: application/json' \
Notice that the where query parameter has an encoded {"state": "published"} value.
Where Operators
The JSON that is sent to the where param can be more than just search for equality. The following operators are supported:
"==","!=",">=","<=",">", and"<""contains": Partial text matches"in": If one or more values are within an array or match a field"nin": If zero values are within an array or field
Example
Select records which state are either opened or started
{ "state": { "in": ["opened", "started"] } }Performance Considerations
Please keep your queries simple and short, ideally limited to no more than two filters at once. Not all fields are indexed and you may not achieve good performance with certain combinations.
Filterable Fields
Only some fields can be used as filters on certain "List" endpoints, while some List endpoints don't allow filters at all. Check each endpoint's parameter list to see what fields are filterable.
RESOURCES
Andela
InviteCandidate
Invites Andela Talent to take an assessment and returns details on them. If the talent has already been invited to the assessment, the Talent details for this assessment are returned.
JSON Body Parameters:
Results
Retrieves a list of all results associated to the Team Candidate.
URL Parameters:
AssessmentsBySkill
Retrieves a list of assessments associated to a skill. Returns a hash of passed, failed, and still unattempted assessments by the team candidate provided.
URL Parameters:
AssessmentReport
Retrieves a list of all results associated to the Team Candidate.
URL Parameters:
TalentReport
Retrieves a list of all results associated to the Team Candidate.
URL Parameters:
TalentReport
Retrieves a list of all results associated to the Team Candidate.
URL Parameters:
ChangeEmail
Changes the email of a team candidate to the new email provided.
URL Parameters:
JSON Body Parameters:
Account
PreCheck
Checks if a user exists in the system with the email. Returns login options if user exists
JSON Body Parameters:
PreCheck
Checks if a user exists in the system with the email. Returns login options if user exists
JSON Body Parameters:
Set Password
URL Parameters:
JSON Body Parameters:
Expected Response Status:
204Confirm
Confirms the user. If the user was previously unconfirmed, this endpoint will also log the user in
JSON Body Parameters:
Activate Check
Checks the provided confirmation token, and returns the current user data. Does not complete activation
JSON Body Parameters:
Activate Team Member
Activates the user and returns their account information. Users must choose a password or an OAuth login method to activate their account.
JSON Body Parameters:
Activate Candidate
Activates the user and returns their account information. Users must choose a password or an OAuth login method to activate their account.
JSON Body Parameters:
Forgot Password
Sends the user an email with a link to reset their password
JSON Body Parameters:
Expected Response Status:
204Reset Password
Resets the user password using the token as the secure way of accessing the user
JSON Body Parameters:
AdvancedCodeSolution
Log Test
JSON Body Parameters:
Submit
JSON Body Parameters:
Assessment Challenge Items
Endpoints for viewing and configuring which challenges which are associated to each assessment.
Create
Associates a challenge to an assessment by creating a AssessmentChallengeItem record. If the challenge already exists for the assessment, a 409 will be returned. If a global challenge is passed, a copy of it will be created for the given team and that copy will be used instead.
URL Parameters:
JSON Body Parameters:
Update
Allows you to modify the position and disabled languages of the AssessmentChallengeItem record. When changing the position, all other items in the list will be adjusted to account for the item's new position. If you wish to replace the challenge, you should first delete the AssessmentChallengeItem that you wish to replace, then create a new one.
URL Parameters:
JSON Body Parameters:
Delete
Removes the AssessmentChallengeItem item from the assessment, causing the challenge to be disassociated.
URL Parameters:
Expected Response Status:
204Assessment Cohorts
Endpoints for managing and creating assessment cohorts. Assessment cohorts are groups of candidates who get invited in bulk to a same assessment at one time.
List
Returns a paged list of all assessment cohorts for the team.
URL Parameters:
Retrieve
Retrieves a single assessment cohort by ID.
URL Parameters:
Invite Candidates
Create an assessment cohort and invite all candidates included.
JSON Body Parameters:
The date and time in which the candidate will no longer have access to the assessment. Useful if you want to set a hard stop date in which no more candidate activity is allowed. When using with retakes, this value can be used to set the retake stop window. The value must be at least one hour into the future.
Set to true if you wish to prevent the candidate from starting the assessment until it is manually unlocked. This allows you to give access but still retain control of exactly when the candidate can start. If true, access will be locked even if within the access window defined by access_starts_at and access_ends_at.
The date and time that the candidate can start the assessment. Useful if you want to invite one or more candidates and ensure that they all have a the same start time. When using with expires_at, this value should be sooner than expires_at. When using with retakes, this value can be used to set the retake start window.
Assessments can be configured with default expiration and reminder values. If this is true, then default will be applied if not specifically set.
The ID of the assessment you wish to send the invitation for.
An array of team members ID strings that should be assigned to the candidate.
An array of candidate emails to send invitations to.
Customizes the message that is emailed to the candidate. Only relevant if send_email_to_candidate is true.
Set to number of minutes you wish to enforce as a time limit. If not set, will use the time limit set on the assessment. This value is only relevant if the candidate has not yet been invited, or if retry_action is set.
The date in which the invitation can no longer be accepted. Once the candidate starts the assessment, this value is no longer relevant.
First name of candidate, can only be used when single email is passed to candidates array
An array of strings indicating which labels should be applied to the invited candidates.
Last name of candidate, can only be used when single email is passed to candidates array
The date in which a reminder email should be sent to the candidate. Only sent if the candidate has not started the assessment by the date.
DEPRECATED: True if retry_action should be set to "reopen". Use retry_action property instead.
True if any challenge based timers should be reset. Timers will start over again from 0 when the candidate revisits each solution.
The type of action that should be performed if the candidate has already submitted and you would like them to take further action. A null or omitted value indicates no retry action will be performed.
Set to false if you do not wish to send an invitation email. This can be useful for when you simply want to use the invitation_url returned by this request, and send that URL on your own. If false is not explicitly passed, then the email will be sent by default.
Set to true if you wish to send a copy of the invitation email to the inviting user's email address. This only has an affect on new invitations, if the invitation was already previously sent then this value will be ignored.
Set to true if you wish to skip resending the email if the candidate is already invited. This can be useful if you are not sure if the invite has been sent yet and only want to send the email if one wasn't already sent. This value is ignored if send_email_to_candidate is explicitly set to false.
True if the first and last name should not be collected from new candidates. Otherwise new candidates will be asked to enter these details before starting the assessment.
False if you wish to prevent active time from being tracked. This is only relevant if retry_action is "reopen". You can use this value when you want to allow a candidate to reopen their assessment result for the purpose of review.
Update
Updates a single assessment cohort by ID.
URL Parameters:
JSON Body Parameters:
Delete
Deletes the assessment cohort retrieved by id.
URL Parameters:
Expected Response Status:
204Assessment Invitations
Endpoints for managing and creating invitations. Invitations are how candidates get explicitly introduced into the system. For private assessments, this is the only way to gain access to take the assessment.
List
Returns a paged list of all active invitations for the team.
URL Parameters:
Invite Candidates
The way to create a candidate within the system is to invite them to an assessment.
JSON Body Parameters:
The date and time in which the candidate will no longer have access to the assessment. Useful if you want to set a hard stop date in which no more candidate activity is allowed. When using with retakes, this value can be used to set the retake stop window. The value must be at least one hour into the future.
Set to true if you wish to prevent the candidate from starting the assessment until it is manually unlocked. This allows you to give access but still retain control of exactly when the candidate can start. If true, access will be locked even if within the access window defined by access_starts_at and access_ends_at.
The date and time that the candidate can start the assessment. Useful if you want to invite one or more candidates and ensure that they all have a the same start time. When using with expires_at, this value should be sooner than expires_at. When using with retakes, this value can be used to set the retake start window.
Used for teams to track their own IDs alongside candidates.
Assessments can be configured with default expiration and reminder values. If this is true, then default will be applied if not specifically set.
The ID of the assessment you wish to send the invitation for.
An array of team members ID strings that should be assigned to the candidate.
An array of candidate emails to send invitations to.
Customizes the message that is emailed to the candidate. Only relevant if send_email_to_candidate is true.
Set to number of minutes you wish to enforce as a time limit. If not set, will use the time limit set on the assessment. This value is only relevant if the candidate has not yet been invited, or if retry_action is set.
The date in which the invitation can no longer be accepted. Once the candidate starts the assessment, this value is no longer relevant.
First name of candidate, can only be used when single email is passed to candidates array
An array of strings indicating which labels should be applied to the invited candidates.
Last name of candidate, can only be used when single email is passed to candidates array
The date in which a reminder email should be sent to the candidate. Only sent if the candidate has not started the assessment by the date.
DEPRECATED: True if retry_action should be set to "reopen". Use retry_action property instead.
True if any challenge based timers should be reset. Timers will start over again from 0 when the candidate revisits each solution.
The type of action that should be performed if the candidate has already submitted and you would like them to take further action. A null or omitted value indicates no retry action will be performed.
Set to false if you do not wish to send an invitation email. This can be useful for when you simply want to use the invitation_url returned by this request, and send that URL on your own. If false is not explicitly passed, then the email will be sent by default.
Set to true if you wish to send a copy of the invitation email to the inviting user's email address. This only has an affect on new invitations, if the invitation was already previously sent then this value will be ignored.
Set to true if you wish to skip resending the email if the candidate is already invited. This can be useful if you are not sure if the invite has been sent yet and only want to send the email if one wasn't already sent. This value is ignored if send_email_to_candidate is explicitly set to false.
True if the first and last name should not be collected from new candidates. Otherwise new candidates will be asked to enter these details before starting the assessment.
False if you wish to prevent active time from being tracked. This is only relevant if retry_action is "reopen". You can use this value when you want to allow a candidate to reopen their assessment result for the purpose of review.
Invite Candidates (with API Key)
Inviting Candidates with API key
JSON Body Parameters:
The date and time in which the candidate will no longer have access to the assessment. Useful if you want to set a hard stop date in which no more candidate activity is allowed. When using with retakes, this value can be used to set the retake stop window. The value must be at least one hour into the future.
Set to true if you wish to prevent the candidate from starting the assessment until it is manually unlocked. This allows you to give access but still retain control of exactly when the candidate can start. If true, access will be locked even if within the access window defined by access_starts_at and access_ends_at.
The date and time that the candidate can start the assessment. Useful if you want to invite one or more candidates and ensure that they all have a the same start time. When using with expires_at, this value should be sooner than expires_at. When using with retakes, this value can be used to set the retake start window.
Used for teams to track their own IDs alongside candidates.
Assessments can be configured with default expiration and reminder values. If this is true, then default will be applied if not specifically set.
The ID of the assessment you wish to send the invitation for.
An array of team members ID strings that should be assigned to the candidate.
An array of candidate emails to send invitations to.
Customizes the message that is emailed to the candidate. Only relevant if send_email_to_candidate is true.
Set to number of minutes you wish to enforce as a time limit. If not set, will use the time limit set on the assessment. This value is only relevant if the candidate has not yet been invited, or if retry_action is set.
The date in which the invitation can no longer be accepted. Once the candidate starts the assessment, this value is no longer relevant.
First name of candidate, can only be used when single email is passed to candidates array
An array of strings indicating which labels should be applied to the invited candidates.
Last name of candidate, can only be used when single email is passed to candidates array
The date in which a reminder email should be sent to the candidate. Only sent if the candidate has not started the assessment by the date.
DEPRECATED: True if retry_action should be set to "reopen". Use retry_action property instead.
True if any challenge based timers should be reset. Timers will start over again from 0 when the candidate revisits each solution.
The type of action that should be performed if the candidate has already submitted and you would like them to take further action. A null or omitted value indicates no retry action will be performed.
Set to false if you do not wish to send an invitation email. This can be useful for when you simply want to use the invitation_url returned by this request, and send that URL on your own. If false is not explicitly passed, then the email will be sent by default.
Set to true if you wish to send a copy of the invitation email to the inviting user's email address. This only has an affect on new invitations, if the invitation was already previously sent then this value will be ignored.
Set to true if you wish to skip resending the email if the candidate is already invited. This can be useful if you are not sure if the invite has been sent yet and only want to send the email if one wasn't already sent. This value is ignored if send_email_to_candidate is explicitly set to false.
True if the first and last name should not be collected from new candidates. Otherwise new candidates will be asked to enter these details before starting the assessment.
False if you wish to prevent active time from being tracked. This is only relevant if retry_action is "reopen". You can use this value when you want to allow a candidate to reopen their assessment result for the purpose of review.
Invite Team Members
Allows you to invite a team member to a specific assessment. This will cause team members to receive an email. This API is useful for when you want to have members of your team test the assessment, before sending it out to candidates. You will not be charged a usage for having your own team members take the assessment.
JSON Body Parameters:
Cancel
Cancels the invitation so that a candidate can no longer accept it and gain access to the assessment. If the candidate already started the assessment, their result will be terminated. An "Invitation Cancelled" label will be automatically applied to the candidate.
URL Parameters:
Expected Response Status:
204Assessment Result Reviews
Assessment Result Reviews are the overall review opinion left by team members. These reviews are used to provide feedback on the quality of submissions. Individual solution reviews are then associated to each assessment result review. There is one review per reviewer/assessment result.
List
Returns a paged list of all reviews for the team.
URL Parameters:
Retrieve
Retrieves a single assessment result review by ID.
URL Parameters:
Create
Creates an assessment result review. There can only be one review per assessment result & reviewer.
JSON Body Parameters:
Feedback given by the reviewer. Markdown is supported.
Subjective rating. 1 - 5, for a 3 point system use 1,3 and 5 as your values.
Update
Update the feedback or rating given by a reviewer.
URL Parameters:
JSON Body Parameters:
Feedback given by the reviewer. Markdown is supported.
Subjective rating. 1 - 5, for a 3 point system use 1,3 and 5 as your values.
Delete
Deletes an assessment result review. Deletes any associated solution reviews as well.
URL Parameters:
Expected Response Status:
204Assessment Results
Each time a candidate takes an assessment, their work is stored within the assessment result.
List
Returns a paged list of assessment results for the team.
URL Parameters:
List (with includes)
URL Parameters:
Retrieve
Retrieves an assessment result by ID. Note that this endpoint returns a large amount of data that is typically consumed by Qualified application itself. Some fields may change. It is recommended to use the "Exhibit" endpoint where possible.
URL Parameters:
Get (with includes)
URL Parameters:
Exhibit
Provides a more consumer friendly version of assessment result information. This is the recommended endpoint if you wish to consume assessment result information within your own application. The data is streamlined and contains relevant information from other key related data models.
URL Parameters:
Share
Returns a set of sharable URLs which do not require login, **only available if feature is enabled on your subscription**.
URL Parameters:
Create
Creates a assessment result for a assessment. The assessment must be published in order for the operation to be valid.
URL Parameters:
JSON Body Parameters:
Candidate remarks about the assessment process.
Unlock Access
Unlocks an access_locked assessment result so a candidate can begin their assessment.
URL Parameters:
Update
Allows a candidate to update their comments after submission.
URL Parameters:
JSON Body Parameters:
Candidate remarks about the assessment process.
Submit
Submits an assessment to be reviewed/screened by the company/team. This prevents the candidate from continuing, and generates a score. Some automated workflows may be triggered, but client-side workflow features such as show a message and redirect URL will be ignored. Note that the assessment result will be set into the "submitting" state. The full submission process happens within a background process and may take some time to complete. You can utilize web hooks to be notified when the full submission has taken place.
URL Parameters:
Terminate
Closes without submitting the assessment result. This prevents the candidate from continuing, and also doesn't generate a score, call webhooks, or trigger automated workflows. This can be useful for orchestrating your own expiration functionality where you do not want to submit any pre-existing progress for scoring.
URL Parameters:
JSON Body Parameters:
Joined Interview
Notifies Qualified that the current user has joined the interview
Unsubmit
Reopens a submitted assessment result so that the candidate can make changes. This endpoint is only valid on assessment results which are current. If a retake has happened since this assessment result was submitted, then it cannot be reopened. This endpoint used to be called "Unsubmit" and is backwards compatible.
URL Parameters:
JSON Body Parameters:
Schedule Retry
Schedules a reopen or retake for a submitted assessment result so that the candidate can make changes. This endpoint is only valid on assessment results which are current. If a retake has happened since this assessment result was submitted, then it cannot be reopened. This endpoint used to be called "Unsubmit" and is backwards compatible.
URL Parameters:
JSON Body Parameters:
Cancel Retry
An assessment result can be scheduled to be reopened or retaken, which happens once the candidate lands on the assessment page. Calling this method will cancel a previously scheduled retry. To schedule a retry, use the invitations invite_candidates endpoint.
URL Parameters:
Reset
Reopens an assessment result, and updates the challenges to the latest published version of the assessment.
URL Parameters:
JSON Body Parameters:
Destroy
Enables completely destroying an assessment result that has not been started. NOTE: AssessmentResult state MUST be "invited" or "opened" to be destroyed.
URL Parameters:
Expected Response Status:
204AssessmentSets
An assessment set contains one or more assessments to be used in pathways or in interviews.
List
Returns a paged list of all assessment sets for your team.
URL Parameters:
Retrieve
Returns an assessment set for authenticated users.
URL Parameters:
Create
Creates a new assessment set.
JSON Body Parameters:
Assessment items to represent the assessments that will be part of the set.
Method by which the assessment set will select the next assessment to be taken. If not set, the default is 'weighted_random'.
The preference for which assessment to select. If not set, the default is 'not_started'.
What this assessment set will be titled as.
Update
Updates an existing assessment set.
URL Parameters:
JSON Body Parameters:
Assessment items to represent the assessments that will be part of the set.
Method by which the assessment set will select the next assessment to be taken. If not set, the default is 'weighted_random'.
The preference for which assessment to select. If not set, the default is 'not_started'.
What this assessment set will be titled as.
Delete
Deletes the assessment set
URL Parameters:
Expected Response Status:
204Assessment Templates
Assessment templates are pre-built assessments which you can use as-is or as a starting point to build your own.
List
Returns a paged list of assessment templates.
List (with api key)
Import
Imports the assessment template as a new assessment on your team.
URL Parameters:
AssessmentWorkflowPath
List
URL Parameters:
Retrieve
JSON Body Parameters:
Create
JSON Body Parameters:
Update
JSON Body Parameters:
Delete
Expected Response Status:
204Assessments
An Assessment contains one or more challenges that are given to a candidate to assess them on their ability. Typically an AssessmentInvitation is used to invite a TeamCandidate to take it, which will also create an AssessmentResult - which is the record used to track the candidate's assessment progress.
List
Returns a paged list of all assessments for your team.
URL Parameters:
Retrieve
Returns assessment for both authenticated and unauthenticated users. Only admins and team members can see unpublished assessments.
URL Parameters:
Get (with includes)
Example demonstrates a team member request
URL Parameters:
Create
Creates a new assessment in a draft state. If you wish to create an assessment within a published state, you should first create the assessment, use the Assessment Challenge Items API to add challenges, then call the Assessment publish endpoint.
JSON Body Parameters:
An array of label strings to assign to the assessment. Any value can be used, it does not need to be previously defined.
Internal value useful for explaining to team members why what this assessment is focused on.
Used to display a short summary to candidates about the assessment.
What this assessment will be titled as.
Update
Updates an existing assessment. This API does not provide access to manipulating the challenge items. To modify the list of challenge items, use the Assessment Challenge Items resource.
URL Parameters:
JSON Body Parameters:
An array of label strings to assign to the assessment. Any value can be used, it does not need to be previously defined.
Internal value useful for explaining to team members why what this assessment is focused on.
Used to display a short summary to candidates about the assessment.
What this assessment will be titled as.
Publish
Publishes a draft assessment. There must be at least one challenge item associated, and all challenges must already be published.
URL Parameters:
Publish (with API key)
URL Parameters:
Un-publish
Moves an assessment back to the draft state, preventing new invitations from being able to be sent for this assessment. Existing invitations will remain active.
URL Parameters:
Archive
Archives the assessment. Any active invitations will be cancelled, and any started assessment results will be closed.
URL Parameters:
Unarchive
Unarchives the assessment
URL Parameters:
Export
Makes a copy of an assessment on the team provided. The user must have access to both teams to export the assessment.
URL Parameters:
JSON Body Parameters:
Unlock All
Unlocks any access_locked assessment results associated with this assessment. Note the results are unlocked asynchronously.
URL Parameters:
Delete
Deletes the assessment
URL Parameters:
Expected Response Status:
204Recover
Recovers a soft deleted assessment
URL Parameters:
Billing::Contract
List
URL Parameters:
Retrieve
Create
Update
Invoice
Delete
Expected Response Status:
204Billing::Billing::Customer
Update Payment (invalid token)
URL Parameters:
JSON Body Parameters:
Expected Response Status:
400Update Payment (not authorized)
URL Parameters:
JSON Body Parameters:
Expected Response Status:
403Billing::Invoice
List
URL Parameters:
Retrieve
Billing::Plan
List
URL Parameters:
Retrieve
Create
JSON Body Parameters:
Update
JSON Body Parameters:
Delete
Expected Response Status:
204Billing::Customer
Create
JSON Body Parameters:
Reactivate (Cancelled)
Cancel Downgrade
Estimate Plan
Start or Extend Trial
Add coupon (before subscribed)
Add coupon (before subscribed, invalid coupon)
Expected Response Status:
400Add coupon (to existing)
Cancel - immediately (Unathorized)
JSON Body Parameters:
Expected Response Status:
403Billing::Usage
List
Retrieve
Candidates
Meta
List
URL Parameters:
Retrieve
URL Parameters:
Update
Updates a candidate. Only the admins and the candidate themself are allowed access.
JSON Body Parameters:
Delete
Deletes the candidate. Admin-Only.
Expected Response Status:
204Delete
Not allowed; Only admins can delete a candidate.
Expected Response Status:
403Challenges
General endpoints for working with various types of challenges. The $type parameter will often be warranted as it will allow you to specify the type of challenge that should be handled.
List
Returns all Qualified and team challenges. You can limit results by type or collection to refine the results.
URL Parameters:
List (Commons Collection)
Returns all commons challenges (available to all teams). Only team members and admins can use this endpoint.
URL Parameters:
List (Team Collection)
Returns all challenges scoped to the user's current team. Only team members and admins can use this endpoint.
URL Parameters:
List (Filter by language)
Returns all challenges scoped to the user's current team. Only team members and admins can use this endpoint.
URL Parameters:
Retrieve
Retrieves a challenge of any $type by ID.
URL Parameters:
Create Classic Code Challenge
Create a Classic Code Challenge (simply called CodeChallenge within the API). You should specify "CodeChallenge" as the $type.
JSON Body Parameters:
A value from 1 - 4 indicating how difficult the challenge is. Lower is easier.
True if all tests should be verified on publish. Default is true.
Time, in minutes, that indicates how long candidates should expect to spend on the challenge.
The markdown compatible instructions to give to the candidate.
An array of language objects that define settings on a per language basis.
An internal summary used to clarify to your team what the challenge is for.
True if sample test cases should be shown to candidates.
True if sample test cases should be readonly for candidates.
A short description of the challenge, shown to the candidate before they start it.
The title of the challenge to refer to it by. This title will not be shown to candidates.
An array of strings indicating the topics this challenge focuses on. Useful for defining a simple skill or competency structure.
Create Project Code Challenge
Create a Project Code Challenge (called AdvancedCodeChallenge within the API). You should specify "AdvancedCodeChallenge" as the $type. Note that this is an advanced API. Please contact us if you plan on using it so that we can discuss its usage further.
JSON Body Parameters:
True if the candidate should be able to run tests. Default is true.
A value from 1 - 4 indicating how difficult the challenge is. Lower is easier.
True if the candidate should be allowed to use their own IDE, and connect to the code execution engine using Qualified's attach tool.
True if all tests should be verified on publish. Default is true.
Time, in minutes, that indicates how long candidates should expect to spend on the challenge.
True if the candidate is not allowed to add, rename or delete files.
An array of objects indicating the files that should be included within the challenge.
The markdown compatible instructions to give to the candidate.
The maximum number of times a candidate can submit the challenge before being locked from making any more changes. Null indicates unlimited attempts (default).
An internal summary used to clarify to your team what the challenge is for.
An array of objects representing the reference files for the challenge, which provide a fully working solution to be tested against. A reference files will be used instead of any non-reference file if the paths are the same. See files for schema.
Determines runtime settings for executing the tests.
True if the candidate should be shown the results of their submission, allowing them to see which tests they failed and to make corrections.
A short description of the challenge, shown to the candidate before they start it.
The title of the challenge to refer to it by. This title will not be shown to candidates.
An array of strings indicating the topics this challenge focuses on. Useful for defining a simple skill or competency structure.
Create Q&A Challenge
Create a Q&A Challenge (called QuizChallenge within the API). You should specify "QuizChallenge" as the $type.
JSON Body Parameters:
A value from 1 - 4 indicating how difficult the challenge is. Lower is easier.
Time, in minutes, that indicates how long candidates should expect to spend on the challenge.
The markdown compatible instructions to give to the candidate.
An internal summary used to clarify to your team what the challenge is for.
The number of seconds the candidate has to complete the challenge. Only relevant if time_limit_type is set to a per_question type.
An array of question objects. See Quiz Questions resource for more details on schema.
A short description of the challenge, shown to the candidate before they start it.
Determines if and how the challenge should be timed.
The title of the challenge to refer to it by. This title will not be shown to candidates.
An array of strings indicating the topics this challenge focuses on. Useful for defining a simple skill or competency structure.
Update
Updates an existing challenge. If a challenge is published, it will remained published with the new updates. _You must specify the $type parameter so that the API knows how to process the specific type of challenge update._
URL Parameters:
JSON Body Parameters:
True if the candidate should be able to run tests. Default is true.
A value from 1 - 4 indicating how difficult the challenge is. Lower is easier.
True if the candidate should be allowed to use their own IDE, and connect to the code execution engine using Qualified's attach tool.
True if all tests should be verified on publish. Default is true.
Time, in minutes, that indicates how long candidates should expect to spend on the challenge.
True if the candidate is not allowed to add, rename or delete files.
An array of objects indicating the files that should be included within the challenge.
The markdown compatible instructions to give to the candidate.
An array of language objects that define settings on a per language basis.
The maximum number of times a candidate can submit the challenge before being locked from making any more changes. Null indicates unlimited attempts (default).
An internal summary used to clarify to your team what the challenge is for.
The number of seconds the candidate has to complete the challenge. Only relevant if time_limit_type is set to a per_question type.
An array of question objects. See Quiz Questions resource for more details on schema.
An array of objects representing the reference files for the challenge, which provide a fully working solution to be tested against. A reference files will be used instead of any non-reference file if the paths are the same. See files for schema.
Determines runtime settings for executing the tests.
True if sample test cases should be shown to candidates.
True if sample test cases should be readonly for candidates.
True if the candidate should be shown the results of their submission, allowing them to see which tests they failed and to make corrections.
A short description of the challenge, shown to the candidate before they start it.
Determines if and how the challenge should be timed.
The title of the challenge to refer to it by. This title will not be shown to candidates.
An array of strings indicating the topics this challenge focuses on. Useful for defining a simple skill or competency structure.
Delete
Deletes a challenge. Some challenges may not be deletable if they are actively being used on an assessment.
URL Parameters:
Expected Response Status:
204Un-Publish
Converts a published challenge back to a draft state. This operation is not available if the challenge is associated to a published assessment.
URL Parameters:
Publish
Publishes a challenge, making it available to be used within assessments. USE EXTREME CAUTION! The Qualified UI typically validates code before publishing. This endpoint does not do any validation, so if you publish a challenge directly through the API, you may be publishing a challenge which is not passable by candidates.
URL Parameters:
Archive
Archives a challenge, making it unavailable to be used on assessments. This operation is not available if the challenge is associated to a published assessment.
URL Parameters:
Archive (with API key)
URL Parameters:
Un-archive
Un-archives a challenge, converted it back to its previous state.
URL Parameters:
Make Shared (non-admin)
URL Parameters:
Expected Response Status:
403Make Shared (unpublished)
URL Parameters:
Expected Response Status:
422Make Shared (admin)
URL Parameters:
Import
Imports a qualified library challenge into the team library. Can also be used to copy team challenges to a new version.
URL Parameters:
Export
Makes a copy of a challenge on the team provided. The user must have access to both teams to export the challenge.
URL Parameters:
JSON Body Parameters:
Code Challenges
List (Global Collection)
URL Parameters:
List
URL Parameters:
Retrieve
URL Parameters:
Create
JSON Body Parameters:
Update
URL Parameters:
JSON Body Parameters:
Update and return revisions
URL Parameters:
JSON Body Parameters:
Update + Publish
URL Parameters:
JSON Body Parameters:
Update (Using $type)
URL Parameters:
JSON Body Parameters:
Delete
Expected Response Status:
204Code Solutions
Create
Creates a new code solution. The solution should always be created as soon as a candidate begins a challenge.
JSON Body Parameters:
Update
Updates the latest code that the user has authored. Each update results in a revision being created. This example has included "revisions" in order to demonstrate the update behavior.
JSON Body Parameters:
Log Attempt
This endpoint is called directly by the code runner service, after code is executed, in order to report the result back to the server.
JSON Body Parameters:
Log Test
This endpoint is called directly by the code runner service, after code is executed, in order to report the tests results back to the server.
JSON Body Parameters:
Revisions
Emails
Meta
Retrieve
Retrieve
URL Parameters:
Embed Assessment
Embed Assessment
URL Parameters:
Expected Response Status:
204Embed Assessment without auth
URL Parameters:
Expected Response Status:
401Embed Assessment with wrong domain
URL Parameters:
Expected Response Status:
422Embed Challenge
Embed Challenge
URL Parameters:
Embed Challenge with Auto Start
URL Parameters:
Embed Challenge without auth
URL Parameters:
Embed Challenge without auth and not embeddable
URL Parameters:
Expected Response Status:
401Embed Challenge without auth and wrong domain
URL Parameters:
Expected Response Status:
422ExternalEvidenceResults
External evidence refers to data gathered from outside Qualified, such as an interview.
List
Returns a paged list of all external evidence results for your team.
URL Parameters:
Retrieve
Returns external evidence result for authenticated users.
URL Parameters:
Create
Creates a new external evidence result.
Update
Updates an existing external evidence result.
URL Parameters:
Delete
Deletes the external evidence result
URL Parameters:
Expected Response Status:
204ExternalEvidences
External evidence refers to data gathered from outside Qualified, such as an interview.
List
Returns a paged list of all external evidences for your team.
URL Parameters:
Retrieve
Returns external evidence for authenticated users.
URL Parameters:
Create
Creates a new external evidence.
Update
Updates an existing external evidence.
URL Parameters:
Delete
Deletes the external evidence
URL Parameters:
Expected Response Status:
204Interview Result Reviews
Interview Result Reviews are the overall review opinion left by team members. These reviews are used to provide feedback on the quality of an interview. Individual interview step result reviews are then associated to each interview result review. There is one review per interviewer/interview result.
List
Returns a paged list of all reviews for the team.
URL Parameters:
Retrieve
Retrieves a single interview result review by ID.
URL Parameters:
Create
Creates an interview result review. There can only be one review per interview result & reviewer.
JSON Body Parameters:
Feedback given by the reviewer. Markdown is supported.
The ID of the solution being reviewed.
Subjective rating. 1 - 5, for a 3 point system use 1,3 and 5 as your values.
The ID of the team member who reviewed the candidate.
Update
Update the feedback or rating given by a reviewer.
URL Parameters:
JSON Body Parameters:
Feedback given by the reviewer. Markdown is supported.
The ID of the solution being reviewed.
Subjective rating. 1 - 5, for a 3 point system use 1,3 and 5 as your values.
The ID of the team member who reviewed the candidate.
Delete
Deletes an interview result review. Deletes any associated interview step result reviews as well.
URL Parameters:
Expected Response Status:
204InterviewResults
An interview result is a collection of evidence from a candidate's interview.
List
Returns a paged list of all interview results for your team.
URL Parameters:
Create
Creates a new interview result. This is the intended method of inviting a candidate to an interview.
JSON Body Parameters:
The ID of the interview the interview result is being to be based on.
The ID of the team member who will be conducting the interview.
Notes on the candidate regarding the interview.
The ID of the candidate that will be invited into the interview
Create
Updates an existing interview result.
URL Parameters:
JSON Body Parameters:
The ID of the interview the interview result is being to be based on.
The ID of the team member who will be conducting the interview.
Notes on the candidate regarding the interview.
The ID of the candidate that will be invited into the interview
Start
Sets an interview as having started and redirects to the meeting URL
URL Parameters:
End
Sets an interview as having finished
URL Parameters:
Confirm
Sets an interview as confirmed by a team member. Confirmation notes are required, even if they are an empty string.
URL Parameters:
JSON Body Parameters:
Cancel
Cancels an interview result.
URL Parameters:
JSON Body Parameters:
InterviewStepItems
A interview contains one or more assessments.
Create
Creates a new interview step item.
URL Parameters:
JSON Body Parameters:
Delete
Deletes the interview step item
URL Parameters:
Expected Response Status:
204InterviewSteps
An interview step is a section composing a specific part of an interview_step.
List
Returns a paged list of all interview_steps for your team.
URL Parameters:
Create
Retrieves an existing interview step.
URL Parameters:
Create
Creates a new interview step.
JSON Body Parameters:
The description of the interview step. Supports markdown.
Whether this step pertains to a live assessment. Default is false
The time estimate of the step.
The title of the interview step
Update
Updates an interview step.
URL Parameters:
Interviews
An interview is a template on which to base candidate interviews.
List
Returns a paged list of all interviews for your team.
URL Parameters:
Create
Retrieves an existing interview.
URL Parameters:
Create
Creates a new interview.
JSON Body Parameters:
The ID of the team member who will be conducting the interview.
Notes on the candidate regarding the interview.
A list of items belonging to the candidate a team member can use to confirm the interview.
A list of interview step items that compose the interview.
A list of materials to help interviewers through the interview process.
The title of the interview
Update
Updates an interview.
URL Parameters:
JSON Body Parameters:
The ID of the team member who will be conducting the interview.
Notes on the candidate regarding the interview.
A list of items belonging to the candidate a team member can use to confirm the interview.
A list of interview step items that compose the interview.
A list of materials to help interviewers through the interview process.
The title of the interview
Label History
Each time a label is added or removed, it is recorded.
List
Returns a paged list of recent history items.
URL Parameters:
Notes
Notes can be attached to candidates in order to track miscellaneous information that you want to keep attached. These notes are shown on the candidate profile.
List
Returns a paged list of notes. Utilize the notable ID query param to only return notes for a specific resource.
URL Parameters:
Retrieve
Retrieves a specific note by ID.
URL Parameters:
Create
Creates a new note for the given resource.
JSON Body Parameters:
The text content of the note.
Update
Update the body of an existing note.
URL Parameters:
JSON Body Parameters:
The text content of the note.
Delete
Deletes a note from the system.
URL Parameters:
Expected Response Status:
204PathwayResults
Pathway result is the resulting record of a team candidate undertaking a pathway
List
Returns a paged list of all pathway results for your team.
URL Parameters:
Create
Creates a new pathway result. This is the intended method of inviting a candidate to a pathway.
JSON Body Parameters:
The email of the candidate that will be invited into the pathway process. If missing, then a TeamCandidate ID must be provided.
First name of candidate. Will only be used if the candidate is new.
Pathway step on which the candidate should start. If not set, the default is the first step in the pathway.
An array of label strings to assign to the candidate. Any value can be used, it does not need to be previously defined.
Last name of candidate. Will only be used if the candidate is new.
The ID of the pathway candidates are being invited to. If missing, then a PathwaySet ID must be provided.
The ID of the pathway set candidates are being invited to. If missing, then a Pathway ID must be provided.
Retry action to apply on assessments within the pathway previously passed by the candidate. If not set, previously passed assessments will be skipped.
Array of tags associated with the candidate. Must be provided, even as an empty array.
The ID of the candidate that will be invited into the pathway process. If missing, then an email must be provided.
Terminate
Terminates the pathway result
URL Parameters:
Expected Response Status:
204PathwaySets
A pathway set is a container for one or more pathways.
List
Returns a paged list of all pathway sets for your team.
URL Parameters:
Retrieve
Returns pathway set for authenticated users.
URL Parameters:
Create
Creates a new pathway set.
JSON Body Parameters:
Pathway items to represent the pathways that will be part of the set.
Method by which the pathway set will select the pathway to be taken. If not set, the default is 'weighted_random'.
The preference for which pathway to select. If not set, the default is 'not_started'.
What this pathway set will be titled as.
Update
Updates an existing pathway set.
URL Parameters:
JSON Body Parameters:
Pathway items to represent the pathways that will be part of the set.
Method by which the pathway set will select the pathway to be taken. If not set, the default is 'weighted_random'.
The preference for which pathway to select. If not set, the default is 'not_started'.
What this pathway set will be titled as.
Rules
Returns available rule tags for an existing pathway set.
URL Parameters:
Delete
Deletes the pathway set
URL Parameters:
Expected Response Status:
204PathwayStepOptions
A pathway step option represents one of the branches a team candidate will go through when going through a pathway step
Create
Creates a new pathway step option.
JSON Body Parameters:
ID of the assessment to use if the option is selected. If this field is missing, either assessment_set_id, interview_id or external_evidence_id must be set.
ID of the assessment set to use if the option is selected. If this field is missing, either assessment_id, interview_id or external_evidence_id must be set.
ID of the external evidence to use if the option is selected. If this field is missing, either assessment_set_id, interview_id or assessment_id must be set.
ID of an assessment set to be used alongside an interview. This field is mandatory and only usable if an interview is set.
ID of the interview to use if the option is selected. If this field is missing, either assessment_set_id, external_evidence_id or assessment_id must be set.
Method by which the pathway set will select the pathway to be taken. If not set, the default is 'weighted_random'.
The preference for which pathway to select. If not set, the default is 'not_started'.
The rules that determine which options can be chosen on a given step.
What this pathway step option will be titled as.
Update
Updates an existing pathway step option.
URL Parameters:
JSON Body Parameters:
ID of the assessment to use if the option is selected. If this field is missing, either assessment_set_id, interview_id or external_evidence_id must be set.
ID of the assessment set to use if the option is selected. If this field is missing, either assessment_id, interview_id or external_evidence_id must be set.
ID of the external evidence to use if the option is selected. If this field is missing, either assessment_set_id, interview_id or assessment_id must be set.
ID of an assessment set to be used alongside an interview. This field is mandatory and only usable if an interview is set.
ID of the interview to use if the option is selected. If this field is missing, either assessment_set_id, external_evidence_id or assessment_id must be set.
Method by which the pathway set will select the pathway to be taken. If not set, the default is 'weighted_random'.
The preference for which pathway to select. If not set, the default is 'not_started'.
The rules that determine which options can be chosen on a given step.
What this pathway step option will be titled as.
Delete
Deletes the pathway step option
URL Parameters:
Expected Response Status:
204PathwayStepResults
A pathway step result is the resulting record of a team candidate going through a pathway step.
Activate
Activates a new available pathway step result.
URL Parameters:
Skip
Skips the given pathway step result and activates the next one
URL Parameters:
Move to
Moves the pathway to the given pathway step result.
URL Parameters:
PathwaySteps
A pathway step represents the stages a candidate will go through when undertaking a pathway.
Create
Creates a new pathway step.
URL Parameters:
JSON Body Parameters:
Action to be taken if the option selection comes up empty. Default is 'skip_step'.
Action to be taken if a step result is failed. Default is 'reject'.
Action to be taken if a step result is flagged. Default is 'ignore'.
The rules that determine if a step result is flagged. By default, all values are null.
Key used externally as a milestone identifier
Action to be taken if the option selection returns several valid options. Default is 'select_first'.
The rules that determine if a step result passes. By default, all values are null.
Set as false by default, if set to true regular workflows will be processed.
What this pathway step will be titled as.
Update
Updates an existing pathway step.
URL Parameters:
JSON Body Parameters:
Action to be taken if the option selection comes up empty. Default is 'skip_step'.
Action to be taken if a step result is failed. Default is 'reject'.
Action to be taken if a step result is flagged. Default is 'ignore'.
The rules that determine if a step result is flagged. By default, all values are null.
Key used externally as a milestone identifier
Action to be taken if the option selection returns several valid options. Default is 'select_first'.
The rules that determine if a step result passes. By default, all values are null.
Set as false by default, if set to true regular workflows will be processed.
What this pathway step will be titled as.
Delete
Deletes the pathway step
URL Parameters:
Expected Response Status:
204Pathways
A pathway consists of a series of pathway steps, each intended to evaluate a candidate in some manner.
List
Returns a paged list of all pathways for your team.
URL Parameters:
Retrieve
Returns pathway for authenticated users.
URL Parameters:
Create
Creates a new pathway.
JSON Body Parameters:
An array of label strings to assign to the pathway. Any value can be used, it does not need to be previously defined.
The maximum number of times a candidate can retake the pathway. If set to -1, then unlimited retakes are allowed. The default value is 0.
Additional data on the pathway. This is a free form object that can be used to store any data you wish to associate with the pathway.
Number of days that must pass before a candidate can retake the pathway.
The state of the pathway. On creation the default value is "draft". A pathway needs at least two existing steps before being published.
What this pathway will be titled as.
What iteration of the pathway this is. The default value is 1.
Update
Updates an existing pathway.
URL Parameters:
JSON Body Parameters:
An array of label strings to assign to the pathway. Any value can be used, it does not need to be previously defined.
The maximum number of times a candidate can retake the pathway. If set to -1, then unlimited retakes are allowed. The default value is 0.
Additional data on the pathway. This is a free form object that can be used to store any data you wish to associate with the pathway.
Number of days that must pass before a candidate can retake the pathway.
The state of the pathway. On creation the default value is "draft". A pathway needs at least two existing steps before being published.
What this pathway will be titled as.
What iteration of the pathway this is. The default value is 1.
Delete
Deletes the pathway
URL Parameters:
Expected Response Status:
204Product::ChangeLog
List
URL Parameters:
Retrieve
Create
JSON Body Parameters:
Update
JSON Body Parameters:
Delete
Expected Response Status:
204Product::Releases
List
Returns most recent 100 releases
Viewed
Expected Response Status:
204Quiz Challenges
List (Global Collection)
URL Parameters:
List
URL Parameters:
Retrieve
URL Parameters:
Create
JSON Body Parameters:
Update
URL Parameters:
JSON Body Parameters:
Update + Publish
URL Parameters:
JSON Body Parameters:
Delete
Expected Response Status:
204Quiz Questions
One or more QuizQuestions are associated to a QuizChallenge (aka "Q&A Challenge"). These questions define the questions that a candidate will be given.
List
Returns a list of questions for a particular quiz challenge. You can also pull these down by retrieving the QuizChallenge itself.
URL Parameters:
Retrieve
Retrieves an existing quiz question by ID. Useful if you need a specific question and do not want to load the parent QuizChallenge (which would have this information nested within it).
URL Parameters:
Create
Creates a quiz question for a QuizChallenge. $type must be provided to specify the type of question being created. $type cannot be changed once the record is created.
JSON Body Parameters:
The model type of the question.
True if fractional scoring should not be performed.
The ID of the challenge to add the question to.
An array of objects defining what choices should be available for the question.
Provide a default answer text if you want the candidate to modify something, such as performing a manually-scored refactoring or other text transformation.
An array of objects used to calculate score by matching answer text.
The maximum number of characters that an answer can have.
The total number of choices a candidate can select.
The maximum sum that can be scored. Useful when using multiple weighted choices and it is possible to weight higher than the total that you may wish to score.
The minimum number of characters that an answer needs to have.
The 1 based position of the challenge within the list. Will be auto-set to the end of the list if omitted.
The question prompt. Markdown is supported.
The weight to assign to this question. The default is 1.
True if weighted scoring should be used. Otherwise all choices will count as an equal weight, regardless of what their individual weights are set as.
Update
Updates an existing question on a QuizChallenge.
URL Parameters:
JSON Body Parameters:
The model type of the question.
True if fractional scoring should not be performed.
The ID of the challenge to add the question to.
An array of objects defining what choices should be available for the question.
Provide a default answer text if you want the candidate to modify something, such as performing a manually-scored refactoring or other text transformation.
An array of objects used to calculate score by matching answer text.
The maximum number of characters that an answer can have.
The total number of choices a candidate can select.
The maximum sum that can be scored. Useful when using multiple weighted choices and it is possible to weight higher than the total that you may wish to score.
The minimum number of characters that an answer needs to have.
The 1 based position of the challenge within the list. Will be auto-set to the end of the list if omitted.
The question prompt. Markdown is supported.
The weight to assign to this question. The default is 1.
True if weighted scoring should be used. Otherwise all choices will count as an equal weight, regardless of what their individual weights are set as.
Delete
Deletes the specified quiz question from the associated QuizChallenge. The operation is not reversible, the question data will be lost.
URL Parameters:
Expected Response Status:
204Quiz Solutions
Create
Creates a new solution of the type specified. This is an alias endpoint for the subtype specific route. See each type specific section for more details. For this example, this route is actually linking to the POST /v1/qui_solutions route.
JSON Body Parameters:
Update
This route is used as an alias to the subtype specific update. For example, this example maps to PUT /quiz_solutions/:id
JSON Body Parameters:
Simple Preview
Unsaved Preview
Sessions
Create
Authenticates the user credentials and returns an auth token
URL Parameters:
JSON Body Parameters:
Create (with includes)
Authenticates the user credentials and returns an auth token. This example demonstrates how both a team_member and candidate can be returned as json data.
URL Parameters:
JSON Body Parameters:
Create (using oauth)
Authenticates the user using their OAuth access token
URL Parameters:
JSON Body Parameters:
Impersonate a team members candidate user
Create (with enforced type)
Authenticates the user credentials and returns an auth token. The user found must match the type specified. A 404 will be returned if a user with the type specified is not found. When providing the type parameter, only one object type token will be returned, and the resource will always be returned as data.
JSON Body Parameters:
Solution Reviews
Solution reviews are individual review data given by each reviewer, for a given solution. Each solution review will be associated to a parent assessment result review. This API currently supports subjective ratings and feedback only, contact us if you wish to use objective ratings via a rubric.
List
Returns a paged list of solution reviews.
URL Parameters:
Retrieve
Retrieves a specific solution review.
URL Parameters:
Create
Creates a new solution review record. There can be only one record per reviewed_by_id/solution_id pairing. This record must be associated to an existing assessment result review.
JSON Body Parameters:
The ID of the assessment result review this.
Feedback given by the reviewer. Markdown is supported.
Subjective rating. 1 - 5, for a 3 point system use 1,3 and 5 as your values.
The ID of the team member who reviewed the candidate.
The ID of the solution being reviewed.
Update
Updates an existing solution review.
URL Parameters:
JSON Body Parameters:
Feedback given by the reviewer. Markdown is supported.
Subjective rating. 1 - 5, for a 3 point system use 1,3 and 5 as your values.
Delete
Deletes an existing solution review.
URL Parameters:
Expected Response Status:
204Solutions
Solutions are the result of a candidate taking a challenge. Available endpoints are relevant for all solution sub-types.
List
Returns a paged listed of solutions.
URL Parameters:
List (Assessment Result Scope)
URL Parameters:
List (Valid Where Params)
URL Parameters:
List (Invalid Where Params)
URL Parameters:
Retrieve
Retrieves a solution by ID. Fields returned depend on the type of solution.
URL Parameters:
Get Similar
Returns similar solutions to that of the ID given. Only relevant for CodeSolution and AdvancedCodeSolution solution types. Similarity feature must be enabled on your subscription.
URL Parameters:
Create
Creates a new solution of the type specified. This is an alias endpoint for the subtype specific route. See each type specific section for more details. For this example, this route is actually linking to the POST /v1/code_solutions route.
JSON Body Parameters:
Fetch or Create
Fetches or creates a new solution of the type specified. This is an alias endpoint for the subtype specific route. See each type specific section for more details. For this example, this route is actually linking to the POST /v1/code_solutions route.
JSON Body Parameters:
Update
This route is used as an alias to the subtype specific update. For example, this example maps to PUT /code_solutions/:id
URL Parameters:
JSON Body Parameters:
Team Candidates
Team Candidates are the users whom take an assessment. While they have their own user account, the TeamCandidate record is always data specific to your team.
List
Returns a paged list of team candidates.
URL Parameters:
List (with API key)
Can use the API key to look up team members
URL Parameters:
List (with includes)
URL Parameters:
List (with archived filter)
URL Parameters:
List (with assessment filter)
URL Parameters:
Retrieve
Retrieves a single team candidate by ID.
URL Parameters:
Get (with includes)
URL Parameters:
Update
Updates basic info for a team candidate.
URL Parameters:
JSON Body Parameters:
Bulk Action
Takes an action on a set of candidates at once. In addition to performing an action (such as archiving), it also allows certain fields to be updated.
URL Parameters:
JSON Body Parameters:
Approve
Approves a team candidate.
URL Parameters:
Reject
Marks the candidate as rejected, a final decision state.
URL Parameters:
Archive
Archives a candidate, moving them out of the inbox
URL Parameters:
Unarchive
Restores candidate to pre-archived state.
URL Parameters:
Restore
Restores the assessment result to its previous state.
Assign
Assigns team members to the candidate.
URL Parameters:
JSON Body Parameters:
Assign (as a reviewer)
Only premium seats can assign team members
URL Parameters:
JSON Body Parameters:
Expected Response Status:
403Delete
URL Parameters:
Expected Response Status:
204Delete (not authorized)
URL Parameters:
Expected Response Status:
403Forget
Marks a candidate as forgotten, removing all PII data for GDPR purposes.
URL Parameters:
Merge Into
Merges a team candidate into a target team candidate. This includes all assessment results, invitations, emails, and all related data. If both team candidates have results for the same assessment, the latest result will be set as the current take.
URL Parameters:
TeamMemberPrivileges
Update
Updates privileges on a team member.
URL Parameters:
Team Members
Team members are the team's users within the system.
Meta
List
Returns all team members for the team.
URL Parameters:
List (with user auth)
URL Parameters:
List
Can pass an optional team id to look up team members by team if the user is qualified staff or admin
URL Parameters:
List
Returns all team members for a team member except staff members
URL Parameters:
Retrieve
Returns a single team member account.
URL Parameters:
Create
Creates a new team member user. This API is allowed only for authenticated admin and team owners.
JSON Body Parameters:
A valid work email
First name
Last name
Update
Updates a team member.
URL Parameters:
JSON Body Parameters:
A valid work email
First name
Last name
Activate as a reviewer
reviewer cannot activate a team member
URL Parameters:
Expected Response Status:
403Activate as an owner
Owner can activate a team member
URL Parameters:
Activate as an admin
Admin can activate a team member
URL Parameters:
Deactivate as a reviewer
reviewer cannot deactivate a team member
URL Parameters:
Expected Response Status:
403Deactivate as an owner
Owner can deactivate a team member
URL Parameters:
Deactivate as an admin
Admin can deactivate a team member
URL Parameters:
Delete
Deletes a team member. Admins, team owners and the team member themself are allowed to do this operation.
Expected Response Status:
204TeamNotification
List
Returns a paged list of TeamNotifications.
URL Parameters:
Retrieve
Retrieves an instance of a TeamNotification.
URL Parameters:
Retrieve
Retrieves the latest instance of a team's TeamNotification.
URL Parameters:
Create
Creates a new instance of a TeamNotification.
Update
Updates an existing instance of a TeamNotification.
URL Parameters:
Delete
Deletes an existing instance of a TeamNotification.
URL Parameters:
Expected Response Status:
204Teams
Meta
Retrieve
URL Parameters:
Get (with library review qualities)
URL Parameters:
List
Create
Creates a new team. This API is meant for authenticated admin users only.
JSON Body Parameters:
Update
Updates a team. Only admins and team members are allowed to update
JSON Body Parameters:
Update (as another team member)
Should fail only team members and admins can update teams
JSON Body Parameters:
Expected Response Status:
403UserFeedback
Create
Users
List
Returns all users, no matter what type they are. Admin only access.
Retrieve
Returns basic information about any type of user. Useful for when you are not sure of the user type. Admin only access.
URL Parameters:
WebhookEvent
List
Returns a paged list of WebhookEvents.
URL Parameters:
Retrieve
Retrieves an instance of a WebhookEvent.
URL Parameters:
Webhook Examples
Resources for simulating and firing webhooks for a given resource and event. **Note** that the data returned is in snake case, as opposed to camel case. This is because webhook data does not support camel casing, unlike the data normally returned by the API.
Simulate Assessment Result Started Response
Return an example of what is sent from a webhook subscription after an assessment result is started.
URL Parameters:
Simulate Assessment Result Submitted Response
Return an example of what is sent from a webhook subscription after an assessment result is submitted.
URL Parameters:
Simulate Solution Updated Response
Return an example of what is sent from a webhook subscription after solution is updated.
URL Parameters:
Simulate Team Candidate State Changed Response
Return an example of what is sent from a webhook subscription after a team candidate's state is changed.
URL Parameters:
Trigger Solution Updated Hook
Triggers a web hook to be sent to the url provided, allowing you to test what its like for the system to send hooks
URL Parameters:
Webhook Subscriptions
Endpoints for managing your web subscriptions. The Qualified UI currently only supports a single subscription, but more can be managed programmatically via this API.
List
Returns all webhook subscriptions for the team.
Retrieve
Retrieves a specific webhook subscription.
URL Parameters:
Create
Creates a new webhook subscription. You can manage multiple subscriptions via the API.
JSON Body Parameters:
An object containing webhook event names as keys and true/false as values indicating that they are enabled or not.
URL that should be called whenever one of the subscribed webhook events is triggered.
Update
Updates an existing webhook subscription.
URL Parameters:
JSON Body Parameters:
An object containing webhook event names as keys and true/false as values indicating that they are enabled or not.
URL that should be called whenever one of the subscribed webhook events is triggered.
Delete
Deletes a webhook subscription using its ID.
URL Parameters:
Expected Response Status:
204Delete By Url
Deletes a webhook subscription by matching the webhook URL to the one provided.