Reading Time

Migrating assessment providers: a Selection Lab data guide

Switching assessment providers is not just a configuration task. It involves moving compliance-sensitive data, preserving historical scoring records that hiring managers rely on, and ensuring your ATS remains the authoritative source of truth throughout the transition. This document explains how Selection Lab approaches provider-to-provider migration, what happens to your historical assessment data during a switch, and what compliance obligations govern that data under GDPR.

Note: Several technical specifics in this document (exact API endpoint paths, JSON schema versions, field-level rate limits, and approved curl/Postman samples) are pending confirmation from Selection Lab Engineering and Customer Success. Sections marked [pending engineering confirmation] should be treated as structural guidance until final specs are published. Contact your Selection Lab implementation manager for the current approved reference.

Migration scope: what data is in play

Before any export or import begins, it's important to define the boundary of a migration. Selection Lab distinguishes three categories of historical data:

  • Assessment results and scores: Completed assessment records including numeric scores, competency indicators, and overall role-match outcomes. These are the primary migration target.
  • Candidate profile fields: Name, contact data, and external identifiers that link a candidate record to your ATS. These fields are subject to GDPR retention periods and may require re-consent before re-processing.
  • Proctoring media and report artifacts: Session recordings, screen captures, or PDF report snapshots generated by a legacy provider. Selection Lab does not import binary media assets from third-party proctoring systems. Report links (URLs) can be stored as reference metadata, but the underlying files remain the responsibility of the originating provider.

All personal data processed by Selection Lab is stored in Frankfurt and the platform is fully GDPR compliant, with consent collected per processing purpose and defined retention periods enforced at the record level (Selection Lab Main Deck 2026). This directly affects which historical records are eligible for migration: records whose retention window has expired, or for which valid consent cannot be demonstrated, must be excluded from any import batch.

Supported export formats and schema objects

Selection Lab supports data extraction in CSV and JSON formats, as well as API-based access for programmatic export [pending engineering confirmation on exact endpoint specs]. For a provider migration, the relevant schema objects are:

ObjectDescription
CandidateStable identifier, name, contact fields, externalCandidateId
ApplicationCandidate-to-job link; carries jobId / roleId
AssessmentResultScores, competency indicators, assessmentTypeId, status
ScorecardCategory-level indicator arrays (e.g. personality dimensions, skill scores)
ReportMetadataLink to hosted report, generation timestamp, report format version
SchedulingEventInterview scheduling records tied to an assessment outcome

Stable identifiers are required for successful mapping. If your legacy provider used a different ID scheme (e.g., opaque UUIDs with no ATS cross-reference), you'll need a reconciliation file that maps legacy IDs to your ATS candidate IDs before import. Selection Lab's implementation team can assist with this mapping step during the 2-to-10-week onboarding window cited in the Main Deck 2026.

All timestamp fields must be in ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ). The four timestamps Selection Lab tracks per assessment record are:

  • invitedAt: when the candidate received the assessment invitation
  • startedAt: when the candidate opened the assessment
  • completedAt: when the candidate submitted the assessment
  • scoredAt: when the scoring engine produced a result

API authentication and import behavior

[Pending engineering confirmation] Selection Lab's API uses an OAuth 2.0 client credentials flow for server-to-server data transfers. Your implementation manager will provide a client_id and client_secret scoped to migration operations. Token exchange targets the /oauth/token endpoint; the resulting bearer token is passed in the Authorization header on all migration requests.

Key behavioral rules for imports:

  • Idempotency: Import requests are idempotent on the composite key (externalCandidateId, jobId, assessmentTypeId, completedAt). Resubmitting a record with the same key will not create a duplicate; the existing record is returned with a 200 OK and an "action": "skipped" flag.
  • Batching: For large historical datasets, batch imports in groups of 500 records per request. Larger payloads will be rejected with 413 Payload Too Large.
  • Dry-run validation: Pass "dryRun": true in the request body to validate field mapping and receive a preview of errors without writing any records to the database.

Field mapping: legacy provider to Selection Lab to ATS

The table below shows the general mapping pattern. Exact field names for your legacy provider will vary [confirm with your CS contact].

Legacy provider fieldSelection Lab import fieldATS destination field
candidate_idexternalCandidateIdCandidate record ID
vacancy_idjobIdJob/position ID
test_typeassessmentTypeIdAssessment type label
total_score (0-100)normalizedScore (0-100)Score visible in ATS
percentile_rankpercentileRankSupplementary field
dimension_scores[]indicators[]Scorecard dimensions
report_urlreportLinkReport link in ATS
completed_datecompletedAt (ISO-8601)Completion timestamp

Score normalization: if your legacy provider stored scores on a different scale (e.g., 0-10 or raw stanine), include the original scale metadata in a sourceScoreScale field so auditors can trace the conversion. Selection Lab does not silently re-scale scores; normalization rules must be declared in the import manifest.

For null or missing values: any required field left null causes the record to fail validation and appear in the error report. Optional fields (e.g., startedAt, percentileRank) can be omitted without blocking the record. Partial migrations (e.g., personality results imported without a corresponding hard-skills record) are valid; the ATS will show whichever assessment types are present.

Once imported, Selection Lab surfaces the complete report and individual scores directly inside your ATS. Attributes are auto-filled into the candidate record, consistent with the platform's standard ATS integration behavior (Selection Lab Main Deck 2026). This means post-migration, recruiters see historical records in the same interface as new assessments with no workflow change.

GDPR retention and deletion behavior for historical records

Historical assessment data is a compliance asset, not just an archive. Selection Lab enforces the following rules on imported records:

  • Records imported outside their defined retention window are rejected with error code RETENTION_EXPIRED.
  • Records lacking a valid consent basis (no consentTimestamp or consentPurpose in the import payload) are rejected with CONSENT_MISSING.
  • If a candidate exercises a right-to-erasure request after migration, all Selection Lab-held records for that candidate are deleted or anonymized. The ATS-side record is the customer's responsibility to manage.
  • Selection Lab uses local LLMs to strip personal information from conversation transcripts (e.g., SmartChat logs) before they are stored, which means migrated chat artifacts are subject to the same anonymization pipeline (Selection Lab Main Deck 2026).

Your ATS is the system of record for assessment outcomes. Selection Lab's role during a provider switch is to backfill that system of record accurately and within compliance constraints, then take over as the live scoring engine going forward.

Post-migration reconciliation

After an import batch completes, run the following checks:

  1. Record count match: Compare the total records in your export file against importSummary.totalProcessed in the API response. Any discrepancy should be investigated before closing the migration.
  2. Per-assessment-type totals: Break down counts by assessmentTypeId to confirm no type was silently dropped.
  3. Error log review: Download the importErrors[] array from the response. Common error codes and their causes:
    • MISSING_REQUIRED_ID: externalCandidateId, jobId, or assessmentTypeId is absent.
    • DUPLICATE_KEY: a record with the same composite key already exists (only relevant if idempotency was not used correctly).
    • TIMESTAMP_FORMAT_INVALID: timestamp is not ISO-8601.
    • SCORE_OUT_OF_RANGE: normalizedScore is outside the declared scale.
    • ASSESSMENT_TYPE_UNKNOWN: assessmentTypeId does not match any type configured in your Selection Lab account.
  4. Audit log sign-off: Selection Lab generates an immutable audit log entry for each import batch. Retain this log to satisfy any future data-processing audit under GDPR Article 30.

Postman collection and approved curl examples for the migration endpoints are available on request from your Selection Lab implementation manager [to be added to public documentation after engineering sign-off].

Frequently asked questions about migrating assessment providers

Can I migrate historical assessment scores to Selection Lab?

Yes. Completed assessment records, including numeric scores, competency indicators and role-match outcomes, are the primary migration target. They are imported via CSV, JSON or API and surfaced inside your ATS alongside new assessments, so recruiters see historical and new results in the same interface.

Which data cannot be migrated from a legacy assessment provider?

Selection Lab does not import binary media from third-party proctoring systems, such as session recordings, screen captures or PDF report snapshots. Report links can be stored as reference metadata, but the underlying files remain the responsibility of the originating provider.

What happens to records with an expired retention period or missing consent?

They are rejected. Records outside their retention window return the error code RETENTION_EXPIRED, and records without a consentTimestamp or consentPurpose in the payload return CONSENT_MISSING. Both must be excluded from the import batch before migration.

Do I need to convert scores from my old provider to a new scale?

If the legacy provider used a different scale, such as 0 to 10 or raw stanine, include the original scale in a sourceScoreScale field and declare the normalization rule in the import manifest. Selection Lab does not re-scale scores silently, so auditors can always trace the conversion.

How do I check that an assessment data migration is complete?

Compare the record count in your export file with importSummary.totalProcessed, break the totals down per assessmentTypeId, review the importErrors[] array for rejected records, and retain the immutable audit log entry Selection Lab generates for each batch.

FAQ

Can game-based assessments promote diversity in the hiring process?

Yes, game-based assessments can support diversity by focusing on skills and behaviors rather than traditional criteria like résumés, which may contain unconscious biases. This gives candidates from diverse backgrounds a fairer chance to demonstrate their potential.

What is a game-based assessment?

A game-based assessment is a method that uses game mechanics to evaluate a candidate’s skills, competencies, and personality traits. While playing these games, candidates are assessed on aspects like problem-solving, cognitive ability, and behavior under pressure in an interactive way.

What are the advantages of game-based assessments?

Game-based assessments offer a more engaging and interactive experience for candidates, which can lead to a more positive perception of the hiring process—especially among certain groups. For employers, they provide deeper insights into both cognitive and behavioral traits, which traditional tests may miss. They also reduce the chance of socially desirable answers, as candidates tend to respond more authentically in a game environment.

How reliable are game-based assessments compared to traditional tests?

When well-designed, game-based assessments can be just as reliable—or even more reliable—than traditional tests. They assess a wide range of behaviors and cognitive abilities in a dynamic setting. However, the quality of these assessments varies greatly, so careful evaluation is essential.

How does a game-based assessment work?

Candidates participate in interactive games designed to measure specific skills and behaviors. Evaluation goes beyond just the final score—it also considers how the candidate makes decisions, handles challenges, and responds to different scenarios. These insights reveal underlying thought processes and behavioral patterns.

Are game-based assessments scientifically validated?

The main drawback is that many game-based assessments are relatively new and have not yet been extensively researched by independent academics. Providers often cite their own research, which is rarely externally validated. Without independent studies, the reliability of these assessments remains uncertain—something to keep in mind when selecting one.

How can game based assessments contribute to a better candidate experience

This can vary significantly by audience. The playful, interactive nature of game-based assessments can lower stress levels for some candidates compared to traditional tests. However, research shows that certain groups, especially those over 35, may find them more stressful. Men also tend to rate the experience more positively than women.

Can you practice game-based assessment?

You can familiarize yourself with the style of games used, but it’s difficult to "practice" for them in a traditional sense. These assessments are designed to measure natural reactions and authentic behavior, so repeated practice typically has less effect on performance than with traditional tests.

Will game-based assessments replace traditional tests in the future?

It’s likely that game-based assessments will become more common in hiring processes, but they probably won’t fully replace traditional tests. Both approaches have value and can complement each other depending on the role and the company’s needs.

How are the results of a game-based assessment analyzed?

Results are analyzed based on predefined criteria such as problem-solving ability, reaction time, and behavior under pressure. Advanced algorithms collect and interpret this data to provide a reliable, objective evaluation of a candidate’s strengths.

What kind of skills do game-based assessments measure?

They assess a wide range of abilities, including problem-solving, adaptability, decision-making under pressure, teamwork, and emotional intelligence. Depending on the design, they may also evaluate cognitive skills like memory, attention, and pattern recognition.

How long does a game-based assessment take?

Typically, these assessments last between 15 and 60 minutes, depending on the game’s complexity and the number of skills being tested. They’re usually shorter and more engaging than traditional assessments, making for a smoother candidate experience.

Are game-based assessments suitable for all roles?

They are especially effective for roles that require flexibility, creativity, problem-solving, and strong interpersonal skills. For highly technical or specialized roles, additional assessments may be needed to measure specific knowledge.

What’s the difference between a game-based and a gamified assessment?

A gamified assessment adds game-like elements (such as points or rewards) to a traditional test to increase engagement. A game-based assessment, on the other hand, is a standalone game designed specifically to evaluate certain competencies. The game itself is the primary evaluation tool, not just an enhancement.

FAQ

How can I improve my company’s retention rate?

The retention rate can be improved by investing in employee development and satisfaction. This includes offering training, career opportunities, and recognition for their contributions. A culture of open communication and attention to work-life balance can also contribute to higher retention. Additionally, offering competitive compensation and involving employees in decision-making can strengthen loyalty.

What are the benefits of growth opportunities for employee retention?

Growth opportunities can promote employee retention by giving staff a sense of direction and motivation. When they have the chance to learn and develop professionally within the company, they feel valued, which increases their loyalty. This can prevent them from leaving to seek better opportunities elsewhere. kunnen het behoud van personeel bevorderen door medewerkers een gevoel van richting en motivatie te geven. Wanneer zij de kans krijgen om te leren en zich professioneel te ontwikkelen binnen het bedrijf, voelen zij zich gewaardeerd, wat hun loyaliteit vergroot. Dit kan voorkomen dat ze vertrekken om elders betere kansen te zoeken.

What are the key factors that influence employee retention?

Key factors that influence employee retention include salary and benefits, opportunities for professional development, work-life balance, company culture, and the relationship with supervisors. Employees tend to stay longer when they feel valued, challenged, and supported in their work environment.

Why is employee retention so important for organizations?

Employee retention is important because it helps reduce recruitment and training costs for new employees, and it contributes to retaining knowledge and experience within the organization. High retention also ensures continuity within teams, leading to a more stable company culture, higher customer satisfaction, and improved business outcomes.

Which recruitment strategies help improve retention?

Recruitment strategies that can improve retention include identifying candidates who align with the company culture, using assessments to evaluate soft skills, and providing transparency about role expectations during the hiring process. Employees who feel connected to the organization and have clarity about their role are more likely to stay longer.

How can a good onboarding process contribute to higher retention?

An effective onboarding process can contribute to higher retention by helping new employees quickly adapt to their role, the company culture, and expectations. By providing support and clear information from the start, their engagement is increased, and the likelihood of them leaving early due to feelings of being overwhelmed or lacking guidance is reduced.

What is the role of company culture in retaining employees?

Company culture plays a crucial role in employee retention. When employees feel heard, valued, and connected to the values and norms of the company, they are more likely to stay. A positive culture that fosters collaboration, respect, and personal growth can significantly enhance employee motivation and satisfaction.

How can leadership and management style influence retention?

Leadership and management style have a significant impact on retention. Leaders who inspire, support, and coach their team can increase employee engagement and satisfaction. Offering autonomy and trust can lead to higher loyalty, while inefficient or negative management styles can contribute to dissatisfaction and increased employee turnover.

What is the importance of recognition and rewards for employee retention?

Recognition and rewards play an important role in employee retention by showing staff that their work is valued. This can increase their motivation and loyalty. In addition to financial rewards, compliments, promotions, and other forms of recognition can also contribute to satisfaction and retaining employees.

What role does work-life balance play in improving retention?

A balanced work-life balance plays an important role in increasing retention. By reducing stress and improving job satisfaction, employees are more likely to stay with the company. Initiatives such as flexible working hours, remote work options, and respect for personal time can contribute to this balance.

What does increasing retention mean within a company?

Increasing retention within a company means implementing strategies to keep employees with the organization for longer. This can be achieved by improving job satisfaction, offering growth opportunities, and fostering a positive and supportive company culture.

How do I measure the success of my retention strategy?

The success of a retention strategy can be measured by tracking retention rates and turnover rates, and by gaining insights from exit interviews. Additionally, employee satisfaction surveys and feedback from performance evaluations can provide valuable information about the effectiveness of the strategies applied.

What are the costs of a low retention rate?

A low retention rate can bring significant costs, such as increased expenses for recruiting and training new employees. Furthermore, the loss of experienced staff can lead to lower productivity, reduced knowledge transfer, and a negative impact on company culture.

How can I increase employee engagement?

To increase employee engagement, involve them in decision-making processes, regularly ask for their feedback, and recognize their contributions. Offering development opportunities and maintaining transparent communication can also contribute to greater engagement.

How can technology help improve employee retention?

Technology can be a tool for improving employee retention by facilitating communication, feedback, and development. By using online platforms for training, recognition, and evaluation, companies can create a more engaged and satisfied workforce.

FAQ

How long does it take to complete the tool?

Less than 10 minutes. You’ll answer 30 guided questions and get a summary of what to look for in your next assessment platform.

Can this checklist help me compare assessment providers?

Yes. By clarifying what matters most to your team, it makes comparing providers' features, pricing, and strengths much easier and more strategic.

How can I use this checklist if I’m not doing a formal RFI?

It’s equally valuable for internal evaluations, exploring new tools, or improving your current hiring process even if you’re not issuing an RFI or RFQ.

What should I look for in a modern assessment tool?

Prioritize platforms with user-friendly design, mobile compatibility, strong analytics, ATS integrations, and inclusive features like neurodiversity support.

What types of assessments should I consider in 2025?

Leading tools combine cognitive testing, situational judgment tests (SJTs), behavior assessments, and predictive AI to evaluate candidates more holistically.

Who should use an assessment checklist?

HR professionals, hiring managers, and procurement teams evaluating pre-selection solutions, especially those comparing AI-powered or compliance-driven assessment platforms.

How does this checklist help with RFIs and RFQs for assessments?

The checklist helps you define your exact requirements so you can confidently draft or respond to Requests for Information (RFI) or Requests for Quotation (RFQ) for assessment tools.

What is an assessment tool in hiring?

An assessment tool evaluates candidates’ skills, behaviors, and fit during the recruitment process. It helps improve hiring decisions and streamline pre-selection.

Game-based assessment packs

← Our Blog

Migrating assessment providers: a Selection Lab data guide

Migrate assessment providers without losing data. Learn how Selection Lab handles historical score migration, GDPR retention rules, and ATS reconciliation.
Joeri Everaers
COO
Read time: Approx

Switching assessment providers is not just a configuration task. It involves moving compliance-sensitive data, preserving historical scoring records that hiring managers rely on, and ensuring your ATS remains the authoritative source of truth throughout the transition. This document explains how Selection Lab approaches provider-to-provider migration, what happens to your historical assessment data during a switch, and what compliance obligations govern that data under GDPR.

Note: Several technical specifics in this document (exact API endpoint paths, JSON schema versions, field-level rate limits, and approved curl/Postman samples) are pending confirmation from Selection Lab Engineering and Customer Success. Sections marked [pending engineering confirmation] should be treated as structural guidance until final specs are published. Contact your Selection Lab implementation manager for the current approved reference.

Migration scope: what data is in play

Before any export or import begins, it's important to define the boundary of a migration. Selection Lab distinguishes three categories of historical data:

  • Assessment results and scores: Completed assessment records including numeric scores, competency indicators, and overall role-match outcomes. These are the primary migration target.
  • Candidate profile fields: Name, contact data, and external identifiers that link a candidate record to your ATS. These fields are subject to GDPR retention periods and may require re-consent before re-processing.
  • Proctoring media and report artifacts: Session recordings, screen captures, or PDF report snapshots generated by a legacy provider. Selection Lab does not import binary media assets from third-party proctoring systems. Report links (URLs) can be stored as reference metadata, but the underlying files remain the responsibility of the originating provider.

All personal data processed by Selection Lab is stored in Frankfurt and the platform is fully GDPR compliant, with consent collected per processing purpose and defined retention periods enforced at the record level (Selection Lab Main Deck 2026). This directly affects which historical records are eligible for migration: records whose retention window has expired, or for which valid consent cannot be demonstrated, must be excluded from any import batch.

Supported export formats and schema objects

Selection Lab supports data extraction in CSV and JSON formats, as well as API-based access for programmatic export [pending engineering confirmation on exact endpoint specs]. For a provider migration, the relevant schema objects are:

ObjectDescription
CandidateStable identifier, name, contact fields, externalCandidateId
ApplicationCandidate-to-job link; carries jobId / roleId
AssessmentResultScores, competency indicators, assessmentTypeId, status
ScorecardCategory-level indicator arrays (e.g. personality dimensions, skill scores)
ReportMetadataLink to hosted report, generation timestamp, report format version
SchedulingEventInterview scheduling records tied to an assessment outcome

Stable identifiers are required for successful mapping. If your legacy provider used a different ID scheme (e.g., opaque UUIDs with no ATS cross-reference), you'll need a reconciliation file that maps legacy IDs to your ATS candidate IDs before import. Selection Lab's implementation team can assist with this mapping step during the 2-to-10-week onboarding window cited in the Main Deck 2026.

All timestamp fields must be in ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ). The four timestamps Selection Lab tracks per assessment record are:

  • invitedAt: when the candidate received the assessment invitation
  • startedAt: when the candidate opened the assessment
  • completedAt: when the candidate submitted the assessment
  • scoredAt: when the scoring engine produced a result

API authentication and import behavior

[Pending engineering confirmation] Selection Lab's API uses an OAuth 2.0 client credentials flow for server-to-server data transfers. Your implementation manager will provide a client_id and client_secret scoped to migration operations. Token exchange targets the /oauth/token endpoint; the resulting bearer token is passed in the Authorization header on all migration requests.

Key behavioral rules for imports:

  • Idempotency: Import requests are idempotent on the composite key (externalCandidateId, jobId, assessmentTypeId, completedAt). Resubmitting a record with the same key will not create a duplicate; the existing record is returned with a 200 OK and an "action": "skipped" flag.
  • Batching: For large historical datasets, batch imports in groups of 500 records per request. Larger payloads will be rejected with 413 Payload Too Large.
  • Dry-run validation: Pass "dryRun": true in the request body to validate field mapping and receive a preview of errors without writing any records to the database.

Field mapping: legacy provider to Selection Lab to ATS

The table below shows the general mapping pattern. Exact field names for your legacy provider will vary [confirm with your CS contact].

Legacy provider fieldSelection Lab import fieldATS destination field
candidate_idexternalCandidateIdCandidate record ID
vacancy_idjobIdJob/position ID
test_typeassessmentTypeIdAssessment type label
total_score (0-100)normalizedScore (0-100)Score visible in ATS
percentile_rankpercentileRankSupplementary field
dimension_scores[]indicators[]Scorecard dimensions
report_urlreportLinkReport link in ATS
completed_datecompletedAt (ISO-8601)Completion timestamp

Score normalization: if your legacy provider stored scores on a different scale (e.g., 0-10 or raw stanine), include the original scale metadata in a sourceScoreScale field so auditors can trace the conversion. Selection Lab does not silently re-scale scores; normalization rules must be declared in the import manifest.

For null or missing values: any required field left null causes the record to fail validation and appear in the error report. Optional fields (e.g., startedAt, percentileRank) can be omitted without blocking the record. Partial migrations (e.g., personality results imported without a corresponding hard-skills record) are valid; the ATS will show whichever assessment types are present.

Once imported, Selection Lab surfaces the complete report and individual scores directly inside your ATS. Attributes are auto-filled into the candidate record, consistent with the platform's standard ATS integration behavior (Selection Lab Main Deck 2026). This means post-migration, recruiters see historical records in the same interface as new assessments with no workflow change.

GDPR retention and deletion behavior for historical records

Historical assessment data is a compliance asset, not just an archive. Selection Lab enforces the following rules on imported records:

  • Records imported outside their defined retention window are rejected with error code RETENTION_EXPIRED.
  • Records lacking a valid consent basis (no consentTimestamp or consentPurpose in the import payload) are rejected with CONSENT_MISSING.
  • If a candidate exercises a right-to-erasure request after migration, all Selection Lab-held records for that candidate are deleted or anonymized. The ATS-side record is the customer's responsibility to manage.
  • Selection Lab uses local LLMs to strip personal information from conversation transcripts (e.g., SmartChat logs) before they are stored, which means migrated chat artifacts are subject to the same anonymization pipeline (Selection Lab Main Deck 2026).

Your ATS is the system of record for assessment outcomes. Selection Lab's role during a provider switch is to backfill that system of record accurately and within compliance constraints, then take over as the live scoring engine going forward.

Post-migration reconciliation

After an import batch completes, run the following checks:

  1. Record count match: Compare the total records in your export file against importSummary.totalProcessed in the API response. Any discrepancy should be investigated before closing the migration.
  2. Per-assessment-type totals: Break down counts by assessmentTypeId to confirm no type was silently dropped.
  3. Error log review: Download the importErrors[] array from the response. Common error codes and their causes:
    • MISSING_REQUIRED_ID: externalCandidateId, jobId, or assessmentTypeId is absent.
    • DUPLICATE_KEY: a record with the same composite key already exists (only relevant if idempotency was not used correctly).
    • TIMESTAMP_FORMAT_INVALID: timestamp is not ISO-8601.
    • SCORE_OUT_OF_RANGE: normalizedScore is outside the declared scale.
    • ASSESSMENT_TYPE_UNKNOWN: assessmentTypeId does not match any type configured in your Selection Lab account.
  4. Audit log sign-off: Selection Lab generates an immutable audit log entry for each import batch. Retain this log to satisfy any future data-processing audit under GDPR Article 30.

Postman collection and approved curl examples for the migration endpoints are available on request from your Selection Lab implementation manager [to be added to public documentation after engineering sign-off].

Frequently asked questions about migrating assessment providers

Can I migrate historical assessment scores to Selection Lab?

Yes. Completed assessment records, including numeric scores, competency indicators and role-match outcomes, are the primary migration target. They are imported via CSV, JSON or API and surfaced inside your ATS alongside new assessments, so recruiters see historical and new results in the same interface.

Which data cannot be migrated from a legacy assessment provider?

Selection Lab does not import binary media from third-party proctoring systems, such as session recordings, screen captures or PDF report snapshots. Report links can be stored as reference metadata, but the underlying files remain the responsibility of the originating provider.

What happens to records with an expired retention period or missing consent?

They are rejected. Records outside their retention window return the error code RETENTION_EXPIRED, and records without a consentTimestamp or consentPurpose in the payload return CONSENT_MISSING. Both must be excluded from the import batch before migration.

Do I need to convert scores from my old provider to a new scale?

If the legacy provider used a different scale, such as 0 to 10 or raw stanine, include the original scale in a sourceScoreScale field and declare the normalization rule in the import manifest. Selection Lab does not re-scale scores silently, so auditors can always trace the conversion.

How do I check that an assessment data migration is complete?

Compare the record count in your export file with importSummary.totalProcessed, break the totals down per assessmentTypeId, review the importErrors[] array for rejected records, and retain the immutable audit log entry Selection Lab generates for each batch.