iFrame Migration Guide

Overview

This guide covers the migration from integer-based page identifiers to string-based identifiers in the iFrame API. The changes are part of a new navigation structure implementation that provides better organization and access control.

Breaking Changes Summary

⚠️ BREAKING CHANGE: Page ID 10005 (Deductions) has been completely removed and is no longer available.

⚠️ NAVIGATION CHANGES: Some pages no longer display certain navigation links due to the new navigation structure (see individual page notes below).

Migration Timeline

  • Current: Both integer and string identifiers are supported (backward compatible)
  • Future: Integer support will be deprecated and removed
  • Recommendation: Migrate to string identifiers immediately

Page Parameter Updates

Key Changes

  • The page parameter accepts integer page IDs (<int>) and is deprecated - will be removed in the future
  • The page_name parameter accepts string page IDs (<string>) and is the new standard identification type
  • Both parameters are currently supported for backward compatibility
  • Some pages no longer show certain navigation links due to navigation restructuring
  • New pages have been added to provide granular access to previously linked content

API Request Examples

Recommended (using page_name parameter):

curl --request POST \
     --url /token/user/ \
     --header 'Authorization: Bearer <your-token>' \
     --header 'content-type: application/*+json' \
     --data '{
       "page_name": "employee",
       "email": "[email protected]",
       "roleAccess": 2,
       "customAppClaims": [
         {
           "type": "employeeId",
           "value": "123"
         }
       ]
     }'

Deprecated (using page parameter):

curl --request POST \
     --url /token/user/ \
     --header 'Authorization: Bearer <your-token>' \
     --header 'content-type: application/*+json' \
     --data '{
       "page": 1004,
       "email": "[email protected]",
       "roleAccess": 2,
       "customAppClaims": [
         {
           "type": "employeeId",
           "value": "123"
         }
       ]
     }'

Page Mapping Reference

This table shows the mapping between the deprecated page parameter values (integers) and the new page_name parameter values (strings).

Multi-Admin Role Pages

page (deprecated)page_name (new)Page NameMigration Notes
1dashboardDashboard
2companiesCompanies
3payrollsPayrolls📑 Navigation: No longer shows navigation link to payroll history
4payroll-historyPayroll History📑 Navigation: No longer shows navigation link to payroll overview
5reportsReports
6white-labelWhite Label📑 Navigation: No longer shows navigation link to admins
7adminsAdmins📑 Navigation: No longer shows navigation link to white label
8notificationsNotifications

Admin Role Pages

Note: Every page can also be used by multi-admin role (requires company-id to be defined).

page (deprecated)page_name (new)Page NameMigration Notes
1001dashboardDashboard
1002settingsCompany Settings📑 Navigation: No longer shows navigation links to other settings (organization, payroll, etc.)
-custom-fieldsCompany Custom Fields🆕 New: Use this instead of custom-fields-company flow
-verificationCompany Bank and Verification🆕 New: Use this instead of company-verification flow
-organizationCompany Organization🆕 New: Separated from settings
-payroll-settingsCompany Payroll Settings🆕 New: Separated from settings
-journal-entriesCompany Journal Entries🆕 New: Separated from settings
-documentsCompany Documents🆕 New: Separated from settings
-calendarCompany Calendar🆕 New: Separated from settings
1003teamTeam
1004employeeEmployeeRequires employee-id parameter
1005payrollPayroll
1006payroll-historyPayroll History
1007benefitsBenefits
1008reportsReports
1009time-off-requestsTime Off Requests📑 Navigation: No longer shows navigation links to other sections (my time off, team, settings)
-team-time-offTeam Time Off🆕 New: Separated from time-off-requests
-time-off-settingsTime Off Settings🆕 New: Separated from time-off-requests
1010integrationsIntegrations
1011premium-atsPremium ATS
1012surveysSurveys
1013team-attendanceTeam Time and Attendance📑 Navigation: No longer shows navigation links to other sections (time clock, timesheet, settings)

Employee Role Pages

page (deprecated)page_name (new)Page NameMigration Notes
10001dashboardDashboard
10002personalPersonal📑 Navigation: No longer shows navigation links to other sections (pay, tax setup, documents, etc.)
10003payPay📑 Navigation: No longer shows navigation links to other sections (personal, tax setup, documents, etc.)
10004tax-setupTax Setup📑 Navigation: No longer shows navigation links to other sections (personal, pay, documents, etc.)
-benefitsBenefits🆕 New: Separated from personal
-tax-formsTax Forms🆕 New: Separated from personal
-change-requestsChange Requests🆕 New: Separated from personal
10005REMOVEDDeductions🔥 BREAKING: Completely removed, was not part of navigation structure
10006pay-statementsPay Statements
10007organizationCompany Organization📑 Navigation: No longer shows navigation links to other sections (bulletin board, etc.)
-calendarCompany Calendar🆕 New: Separated from organization
-bulletin-boardBulletin Board🆕 New: Separated from organization
10008documentsDocuments📑 Navigation: No longer shows navigation links to other sections (personal, pay, tax setup, etc.)
10009time-offMy Time Off📑 Navigation: No longer shows navigation links to other sections
10010time-clockTime and Attendance Time Clock📑 Navigation: No longer shows navigation links to other sections
-timesheetTime and Attendance Timesheet🆕 New: Separated from time-clock
10011surveysAssigned To Me Surveys
-my-surveysMy Surveys🆕 New

flow Parameter Updates

Named flows provide direct access to specific functionality without navigating through the main pages. Some flows have been deprecated in favor of the new page structure.

API Request Example

curl --request POST \
     --url /token/user/ \
     --header 'Authorization: Bearer <your-token>' \
     --header 'Content-Type: application/*+json' \
     --data '{
       "email": "[email protected]",
       "customAppClaims": [
            {
              "type": "flow",
              "value": "custom-fields-employee-view"
            },
            {
              "type": "company-id",
              "value": 1
            },
            {
              "type": "employee-id",
              "value": 1
            }
        ]
     }'

Available Flows

Flow NameRequired PropertiesDescription
custom-fields-employee-viewcompany-id, employee-idView employee custom fields
custom-fields-employee-editcompany-id, employee-idEdit employee custom fields
custom-fields-employee-onboarding-phase1company-id, onboarding-idCustom fields during onboarding phase 1
custom-fields-employee-onboarding-phase2company-id, ercuCustom fields during onboarding phase 2
premium-atscompany-idPremium ATS functionality
premium-ats-settingscompany-idPremium ATS settings

Deprecated Flows

⚠️ These flows are deprecated and will be removed in a future version. Migrate to the suggested pages immediately.

Deprecated Flow NameRequired PropertiesReplacement
custom-fields-companycompany-idUse custom-fields page instead
company-verificationcompany-idUse verification page instead

Migration Example

Before (deprecated):

{
  "customAppClaims": [
    {
      "type": "flow",
      "value": "custom-fields-company"
    },
    {
      "type": "company-id",
      "value": 123
    }
  ]
}

After (recommended):

{
  "page_name": "custom-fields",
  "customAppClaims": [
    {
      "type": "company-id",
      "value": 123
    }
  ]
}