Field | Description |
---|---|
planId
string
|
See Common Fields |
ein
string
|
See Common Fields |
planName
string
|
See Common Fields |
yrEndDate
date
|
See Common Fields |
yrBeginDate
date
|
Typically one day before yrEndDate (e.g. if yrEndDate is 2018-12-31, yrBeginDate is 2018-01-01)
Format: YYYY-MM-DD
|
goLiveDate
date, optional
|
The date when the participants are able to to access the online portal to opt out or change their investment elections
Format: YYYY-MM-DD
|
serviceLevel
string
|
Only displayed if there is a value. Currently, the only two values returned are "Managed Account" and "Calculator". |
Get the entire list of plans associated with your API token
Field | Description |
---|---|
plans
object[]
|
Array of Plan Objects. If no plans, returns empty array
Size range: 0..
|
curl https://rc.ltretire.com/v1/plans \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"planId": "WXYZ",
"ein": "000000009",
"planName": "WXYZ CORP. 401(K) PLAN",
"yrEndDate": "2018-12-31",
"yrBeginDate": "2018-01-01"
},
{
"planId": "ABCD",
"ein": "000000008",
"planName": "ABCD CORP. 401(K) PLAN",
"yrEndDate": "2018-12-31",
"yrBeginDate": "2018-01-01",
"goLiveDate": "2016-01-01"
}
]
Get a specific plan
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
Field | Description |
---|---|
plans
object
|
See Plan Object. NOTE: Currently, this endpoint will not return goLiveDate, but the the "List Plans" endpoint will return that field if it is not null. |
curl https://rc.ltretire.com/v1/plans/WXYZ \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
{
"planId": "WXYZ",
"ein": "000000009",
"planName": "WXYZ CORP. 401(K) PLAN",
"yrEndDate": "2018-12-31",
"yrBegDate": "2018-01-01",
}
Get the entire list of investments associated with the specified plan
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
displaymodels
string
query str param
|
See Common Fields |
Field | Description |
---|---|
investments
object[]
|
Array of Investment Product Objects. See Common Fields
Size range: 0..
|
curl https://rc.ltretire.com/v1/plans/WXYZ/investments?displaymodels=N \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"id": "VFINX",
"type": "F",
"modelOnly": "N",
"description": "Vanguard 500 Index Inv"
},
{
"id": "LAIAX",
"type": "F",
"modelOnly": "Y",
"description": "Columbia Acorn International"
}
]
Get the entire list of sources associated with the specified plan
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
Field | Description |
---|---|
sources
object[]
|
Array of Source Objects
Size range: 0..
|
Field | Description |
---|---|
sourceId
integer
|
Unique Id for the plan source |
typeCode
char
|
See below |
typeDescription
string
|
See below |
aliasName
string
|
See below |
newContributionsCode
char
|
Is this source open to new contributions?
Allowed values: Y, N
|
adpSafeHarborCode
char
|
Does this source count towards Actual Deferral Percentage nondiscrimination compliance testing?
Allowed values: Y, N
|
acpSafeHarborCode
char
|
Does this source count towards Actual Contribution Percentage nondiscrimination compliance testing?
Allowed values: Y, N
|
rothContributionCode
char
|
Is this an after-tax source?
Allowed values: Y, N
|
Code | SoR Definition | Common Aliases / Descriptions | |
---|---|---|---|
1 | D |
Elective deferral (pre-tax or Roth) |
When rothContributionCode = N:
Employee Deferr / Employee Deferral
When rothContributionCode = Y:
Roth Deferral / Roth Deferral
|
2 | G |
Rollover Unrelated |
When rothContributionCode = N:
Rollover / Rollover
When rothContributionCode = Y:
Roth Rollover / Roth Rollover
|
3 | S |
Rollover Related | Simple IRA Roll / Simple IRA Rollover |
4 | H |
ER Match Fully Vested |
When ADP = Y & ACP=Y:
SH Match / Safe Harbor Match
When ADP = N & ACP=N:
ER match / Employer Match
|
5 | I |
ER Match Subj to Vesting | ER match / Employer Match |
6 | A |
ER Base Fully Vested |
When ADP = Y & ACP=N:
SH Nonelective / Safe Harbor Nonelect
When ADP = N & ACP=N:
Profit Sharing / Profit Sharing
|
7 | B |
ER Base Subj to Vesting | Profit Sharing / Profit Sharing |
8 | R |
Loan | Loan / Loan |
9 | J |
QNEC(ADP) | QNEC / 401(k) QNEC |
10 | F |
EE Post-tax | AFTTAX / Voluntary After -Tax |
11 | L |
ER Receivable | NA |
12 | O |
EE Receivable | EE receivable / NA |
13 | K |
QMAC(ACP) | QMAC / QMAC |
curl https://rc.ltretire.com/v1/plans/WXYZ/sources \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"sourceId": "1",
"typeCode": "B",
"typeDescription": "Employer Disc2",
"aliasName": "Employer2",
"newContributionsCode": "Y",
"adpSafeHarborCode": "N",
"acpSafeHarborCode": "N",
"rothContributionCode": "N"
},
{
"sourceId": "2",
"typeCode": "D",
"typeDescription": "Employee Deferrals",
"aliasName": "EE pre-tax",
"newContributionsCode": "Y",
"adpSafeHarborCode": "N",
"acpSafeHarborCode": "N",
"rothContributionCode": "N"
},
{
...
}
]
Get the entire list of participants’ contribution rates associated with the specified plan
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
Field | Description |
---|---|
employees
object[]
|
Array of Employee Contribution Rate Objects
Size range: 0..
|
Field | Description |
---|---|
ssn string |
See Common Fields |
contributionRates
object[] |
Array of Contribution Rate objects (see below)
Size range: 0..
|
Field | Description |
---|---|
typeCode char |
See Source Object |
typeDescription
string |
See Source Object |
contributionPercent
float |
The contributionPercent and contributionAmount fields are mutually exclusive (i.e. at least one of them should be zero for the same typeCode) |
contributionAmount
float |
See contributionPercent |
originCode
char |
Specifies where the contribution rate change came from |
originDescription
string |
See originCode |
effectiveDate
date |
The date on which the contribution rate change originated |
curl https://rc.ltretire.com/v1/plans/WXYZ/contributionrates \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
{
"employees": [
{
"ssn": "xxxxxxxxx",
"contributionRates": [
{
"typeCode": "D",
"typeDescription": "Pre-Tax Deferral",
"contributionPercent": "3.00",
"contributionAmount": "0.00",
"originCode": "O",
"originDescription": "Automatic Enrollment",
"effectiveDate": "2014-12-01"
}
]
},
{
"ssn": "xxxxxxxxx",
"contributionRates": [
{
"typeCode": "D",
"typeDescription": "Pre-Tax Deferral",
"contributionPercent": "12.00",
"contributionAmount": "0.00",
"originCode": "P",
"originDescription": "Participant Web",
"effectiveDate": "2015-12-17"
}
]
},
{
"ssn": "xxxxxxxxx",
"contributionRates": [
{
"typeCode": "D",
"typeDescription": "Pre-Tax Deferral",
"contributionPercent": "1.00",
"contributionAmount": "0.00",
"originCode": "A",
"originDescription": "Automatic Acceleration",
"effectiveDate": "2019-06-01"
},
{
"typeCode": "R",
"typeDescription": "Roth Deferral",
"contributionPercent": "0.00",
"contributionAmount": "0.00",
"originCode": "S",
"originDescription": "Sponsor web",
"effectiveDate": "2018-06-06"
}
]
}
]
}
Get the entire list of participants associated with your API token
Field | Description |
---|---|
participants
object[]
|
Array of Participant Objects. If no participants, returns empty array
Size range: 0..
|
Field | Description |
---|---|
ssn
string
|
See Common Fields |
webUserId
string, optional
|
Username
Size range: 1..100
|
firstName
string
|
Employee's first name
Size range: 1..20
|
lastName
string
|
Employee's last name
Size range: 1..20
|
dateOfBirth
date
|
Employee's date of birth
Size range: 10
Format: "YYYY-MM-DD"
|
gender
string
|
Employee's gender (case insensitive)
Size range: 1,4,6
Allowed values: M, F
|
homeEmail
string
|
Employee's personal email address. NOTE: the same email address can be associated to multiple webUserIds
Size range: 1..100
|
officeEmail
string
|
Employee's work email address. NOTE: the same email address can be associated to multiple webUserIds
Size range: 1..100
|
otherEmail
string
|
Employee's non-personal and non-work email address. NOTE: the same email address can be associated to multiple webUserIds
Size range: 1..100
|
primaryEmailCode
string
|
Primary email code
Allowed Values: "HOME", "OFFICE", "OTHER", "NONE"
|
phone
string
|
Employee's phone number
Size range: 1..10
|
street1
string
|
Employee's address line 1
Size range: 1..30
|
street2
string
|
Employee's address line 2
Size range: 1..30
|
city
string
|
Employee's city
Size range: 1..30
|
state
string
|
Employee's city (e.g. CO)
Size range: 1..2
|
zip
string
|
Employee's zip
Size range: 1..9
|
plans
object[]
|
Array of Plan Objects, as a person can be a participant of more than one plan
Size range: 1..
|
Field | Description |
---|---|
planId
string
|
See Common Fields |
entryDate
date
|
The date the employee entered the plan as an active participant. Not to be confused with dateOfHire
Format: YYYY-MM-DD
|
lastAllocation
date, optional
|
The latest date at which allocations changed by ANY means, whether that be via automation, online, paper, etc.
Format: YYYY-MM-DD
|
deferSuspStartDate
date, optional
|
Deferral suspension start date (e.g. for a hardship)
Format: YYYY-MM-DD
|
deferSuspEndDate
date, optional
|
Deferral suspension end date (e.g. for a hardship)
Format: YYYY-MM-DD
|
dateOfTermination
date, optional
|
Employee's date of termination
Format: YYYY-MM-DD
|
dateOfRehire
date, optional
|
Employee's date of rehire
Format: YYYY-MM-DD
|
dateOfHire
date, optional
|
Employee's date of hire
Format: YYYY-MM-DD
|
projectedEligibilityDate
date, optional
|
Employee's date of eligibility for the plan
Format: YYYY-MM-DD
|
eligibilityStatus
string, optional
|
Employee's eligibility status |
eligibilitySubStatus
string, optional
|
Employee's eligibility sub status |
curl https://rc.ltretire.com/v1/participants \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"ssn": "100101000",
"webUserId": "superfly",
"firstName": "Jimmy",
"lastName": "Snuka",
"dateOfBirth": "1982-01-01",
"gender": "M",
"plans": [
{
"planId": "WXYZ",
"entryDate": "2014-12-01 00:00:00"
}
]
},
{
"ssn": "123123234",
"webUserId": "jean234",
"firstName": "Jean",
"lastName": "Lafitte",
"homeEmail": "jean234@mailinator.com",
"officeEmail": "jean.Lafitte@somecompany.com",
"primaryEmailCode": "HOME",
"dateOfBirth": "1960-01-17",
"gender": "M",
"street1": "12 La Rue",
"city": "Port-au-Prince",
"state": "PR",
"zip": "00777",
"plans": [
{
"planId": "WXYZ",
"dateOfHire": "2019-09-20",
"eligibilityStatus": "Ineligible",
"eligibilitySubStatus": "Hours requirement"
}
]
}
]
get entire list of participants by planid
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
See List Participants |
See List Participants |
See List Participants |
curl https://rc.ltretire.com/v1/participants?planId=WXYZ \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"ssn": "100101000",
"webUserId": "superfly",
"firstName": "Jimmy",
"lastName": "Snuka",
"dateOfBirth": "1982-01-01",
"gender": "M",
"plans": [
{
"planId": "WXYZ",
"entryDate": "2014-12-01 00:00:00"
}
]
},
{
"ssn": "123123234",
"webUserId": "jean234",
"firstName": "Jean",
"lastName": "Lafitte",
"homeEmail": "jean234@mailinator.com",
"officeEmail": "jean.Lafitte@somecompany.com",
"primaryEmailCode": "HOME",
"dateOfBirth": "1960-01-17",
"gender": "M",
"street1": "12 La Rue",
"city": "Port-au-Prince",
"state": "PR",
"zip": "00777",
"plans": [
{
"planId": "WXYZ",
"dateOfHire": "2019-09-20",
"eligibilityStatus": "Ineligible",
"eligibilitySubStatus": "Hours requirement"
}
]
}
]
Get the entire list of payrolls associated with the specified participant
Field | Description |
---|---|
ssn
url param
string
|
See Common Fields |
months
integer
query str param
|
The number of recenet months to include in the result
Allowed Values: 1-18
Default: 12
|
Field | Description |
---|---|
ssn
string
|
See Common Fields |
searchStartDate
date
|
Start date based on search criteria (see "months" argument)
Format: YYYY-MM-DD
|
searchEndDate
date
|
End date based on search criteria (see "months" argument)
Format: YYYY-MM-DD
|
payrolls
object[]
|
Array of Payroll Objects
Size range: 0..
|
Field | Description |
---|---|
ein
string
|
See Common Fields. The system of record associates payrolls to employers not plans |
payFrequencyCode
string
|
See Common Fields |
payFrequencySequenceNumber
integer
|
See Common Fields |
currPeriodComp
float
|
See Common Fields |
enddate
date
|
Enddate is NOT the date the contribution was traded, but rather, it is more like the pay period end date. For example, consider a semi-monthly payroll that has the 15th and 31st as pay end dates. A payroll for 07/31 comes in on 08/05. The payroll tables will show an end date of 07/31, but the transaction tables will show a trade date of 08/05.
Format: YYYY-MM-DD
|
payPeriodNumber
integer
|
Size range: 1-5
|
eePreTax
float
|
Employee Pre-tax contribution |
erMatch
float
|
Employer match |
profitSharing
float
|
Profit Sharing |
eeRoth
float
|
Employee Roth contribution |
shMatch
float
|
Safe Harbor Match. May be QACA or non-QACA |
shNonelective
float
|
Safe Harbor Non-elective. May be QACA or non-QACA |
loanPayment
float
|
Loan payment amount |
curl https://rc.ltretire.com/v1/participants/333224444/payrolls?months=14 \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
{
"ssn": "333224444",
"searchStartDate": "2017-06-01",
"searchEndDate": "2018-08-01",
"payrolls": [
{
"ein": "461803145",
"payFrequencyCode": "M",
"payFrequencySequenceNumber": "0",
"currPeriodComp": "2432",
"enddate": "2018-04-30 00:00:00",
"payPeriodNumber": "42",
"eePreTax": "121.60",
"erMatch": "97.28",
"profitSharing": "0",
"eeRoth": "0",
"shMatch": "0",
"shNonelective": "0",
"loanPayment": "0"
},
{
"ein": "461803145",
"payFrequencyCode": "A",
"payFrequencySequenceNumber": "0",
"currPeriodComp": "0",
"enddate": "2018-04-27 00:00:00",
"payPeriodNumber": "11",
"eePreTax": "0",
"erMatch": "0",
"profitSharing": "0",
"eeRoth": "0",
"shMatch": "0",
"shNonelective": "0",
"loanPayment": "0"
}
]
}
Get the entire list of positions associated with your token
Field | Description |
---|---|
yrenddate query string param
string, optional
|
See Common Fields. Typically specified when the plan year has recently changed to the new year (e.g. in January), but you want to see positions for the previous plan year. |
displaymodels
|
See Common Fields |
Field | Description |
---|---|
planPositions
object[]
|
Array of Plan Position Objects. If no positions, returns empty array. Positions are aggregated across sources (i.e. the same investment product held in a 401(k) and a Roth 401(k) will be rolled-up into one position).
Size range: 0..
|
Field | Description |
---|---|
planId
string
|
See Common Fields |
planName
string
|
See Common Fields |
yrEndDate
date
|
See Common Fields |
participants
object[]
|
Array of Participant Position Objects. |
Field | Description |
---|---|
ssn
string
|
See Common Fields |
positions
object[]
|
Array of Position Objects. |
Field | Description |
---|---|
investmentProduct
object
|
See Investment Prodcut Object |
shares
float
|
Ending balance shares in employee's account |
vestedValue
float
|
Ending balance amount that is vested in employee's account |
value
float
|
Ending balance amount in employee's account |
updated
date
|
The date at which the position was updated |
curl https://rc.ltretire.com/v1/positions \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"planId": "WXYZ",
"planName": "WXYZ CORP. 401(K) PLAN",
"yrEndDate": "2019-12-31",
"participants": [
{
"ssn": "000000012",
"positions": [
{
"investmentProduct": {
"id": "99AMTIDA9",
"type": "F",
"assetClass": "Self-Directed Brokerage",
"description": "Ameritrade IDA",
"cusip": "99AMTIDA9",
"source": "Employer2"
},
"shares": 0,
"value": 0,
"vestedValue": 0,
"updated": "2021-09-30"
}
]
},
{
"ssn": "000000014",
"positions": [
{
"investmentProduct": {
"id": "VTTHX",
"type": "F",
"assetClass": "Target-Date 2035",
"description": "Vanguard Target",
"cusip": "92202E508",
"source": "EE Pre Tax"
},
"shares": 18.275,
"value": 496.71,
"vestedValue": 500.74,
"updated": "2021-09-30"
}
]
}
]
}
]
Field | Description |
---|---|
transactionId
integer
|
NOTE: transactionId is NOT a unique identifier. To uniquely identify a row, use a combination of planId, transsactionId, accountId, sequenceNumber, and units |
Get the list of transactions associated with the specified plan. The allowable date range for this call is 30 days.
Field | Description |
---|---|
pendingOnly query string param
char
|
This field is optional and will display all pending tranasactions if it is set to Y. Valid values are Y,y,N,n. |
beginDate query string param
date
|
This field is optional if pendingOnly is set to Y. This date is formatted as YYYY-MM-DD |
endDate query string param
date
|
This field is optional if pendingOnly is set to Y. This date is formatted as YYYY-MM-DD |
currentPage query string param
integer
|
This field is optional unless you want pagination. If pagination is desired this is field is required. Must be greater than 0 |
perPage query string param
integer, optional
|
This field will only function if current page is shown. Must be greater than 0 |
Field | Description |
---|---|
transactions
object[]
|
Array of Transaction Objects. If no transactions, returns empty array
Size range: 0..
|
curl https://rc.ltretire.com/v1/plans/WXYZ/transactions?pendingOnly=Y \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
curl /v1/plans/QUANTINNO/participants/xxxxxxxxx/transactions?pendingOnly=n&beginDate=2020-01-15&endDate=2020-02-01¤tPage=3&perPage=1 \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
[
{
"transactionId": 887,
"accountId": 304,
"sequenceNumber": 2,
"units": -0.006,
"dollarAmount": -1.13,
"perUnitValue": 191,
"transactionType": "INSERV",
"transactionStatusCode": "T",
"fundId": "DODGX",
"fundName": "Dodge & Cox Stock",
"tradeDate": "2019-02-27",
"effectiveDate": "2019-02-27",
"transactionTypeCode": "Di",
"comboShortValText": "ACPRefund",
"loanNumber": null,
"transactionTypeSubCode": "3",
"postDate": "2019-03-04",
"postTime": "17:23:48",
"source": {
"sourceId": 3,
"typeCode": "I",
"newContributionsCode": "N",
"adpSafeHarborCode": "N",
"acpSafeHarborCode": "N",
"rothContributionCode": "N",
"typeDescription": "Employer Match",
"aliasName": "ER Match"
},
"participant": {
"firstName": "Jessica",
"lastName": "Jones",
"ssn": "xxxxxxxxx"
},
"divisionId": null
},
...
]
{
"totalItems": 4,
"itemsThisPage": 1,
"perPage": 1,
"currentPage": 3,
"numberOfPages": 4,
"transactions":
[
{
"transactionId": 41,
"accountId": 129,
"sequenceNumber": 2,
"units": 888.79,
"dollarAmount": 9750,
"perUnitValue": 10.97,
"transactionType": "CONT",
"transactionStatusCode": "P",
"fundId": "PIGIX",
"fundName": "PIMCO Inv't Grade Corp Bond Inst'l Class",
"tradeDate": "2020-01-09",
"effectiveDate": "2020-01-15",
"transactionTypeCode": "De",
"comboShortValText": null,
"loanNumber": null,
"transactionTypeSubCode": null,
"postDate": "2020-01-08",
"postTime": "08:21:30",
"status": "posted",
"source": {
"sourceId": 2,
"typeCode": "D",
"newContributionsCode": "Y",
"adpSafeHarborCode": "N",
"acpSafeHarborCode": "N",
"rothContributionCode": "N",
"typeDescription": "Employee Deferral",
"aliasName": "EE Pre Tax"
},
"participant":
{
"firstName": "Albert",
"lastName": "Kim",
"ssn": "xxxxxxxxx"
},
"divisionId": null
}
]
}
Get the list of transactions associated with the specified plan and participant
curl https://rc.ltretire.com/v1/plans/WXYZ/participants/000000000/
transactions&pendingOnly=Y \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
Generate a token that can be used to SSO into the system of record's website.
Field | Description |
---|---|
ssn string
|
See Common Fields |
Field | Description |
---|---|
token
string
|
A token generated by the system of record. The token is good for one minute
Size range: 265
|
Field | Description |
---|---|
SUTSTOKEN
string
|
The token returned by the API |
FIRSTPAGE
string, optional
|
The relative path URL to open upon SSO. In other words, a deep link.
Example: /distributionland.aspx |
TRUELOGINPAGE
string, optional
|
Upon log out or session time out, the URL to which to redirect the browser. |
ERRORLOGINPAGE
string, optional
|
Upon an error, the URL to which to redirect the browser. |
curl https://rc.ltretire.com/v1/ssotokens \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx' \
-d '{
"ssn": "333224444"
}'
{
"token": "494877754B4C615763..."
}
<html>
<body>
<form id="PostForm"
name="PostForm"
action="https://withdraw-demo.ltretire.com/ParticipantSingleSignon.aspx"
method="POST"
target="NewWin">
<input type="hidden" name="SUTSTOKEN" value="494877754B4C615763...">
<input type='hidden' name='FIRSTPAGE' value='/distributionland.aspx'/>
</form>
<script language='javascript'>
var vPostForm = document.PostForm;
window.open("","NewWin","");
var w = window.setTimeout("vPostForm.submit();", 500);
</script>
</body>
</html>
Validate the SSO token which is only valid for one minute.
Field | Description |
---|---|
token
string
|
See above |
Field | Description |
---|---|
tokenValidated
string
|
Is the token valid?
Allowed Values: "Success.", "Failure."
|
curl https://rc.ltretire.com/v1/ssotokens/494877754... \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx'
{
"tokenValidated": "Success."
}
Field | Description |
---|---|
SSN
string |
See Common Fields |
dateOfBirth
date
| Employee's date of birth
Size range: 10
Format: "YYYY-MM-DD"
|
dateOfHire
date
|
Employee's hire date.
Size range: 10
Format: "YYYY-MM-DD"
|
dateOfRehire
date, optional
|
Employee's date of rehire
Size range: 10
Format: "YYYY-MM-DD"
|
dateOfTermination
date, optional
|
Employee's date of termination
Size range: 10
Format: "YYYY-MM-DD"
|
dateOfEntry
date, optional
|
Employee's date of entry
Size range: 10
Format: "YYYY-MM-DD"
|
ytdHours
integer
|
Year to date number of hours
Size range: 2
|
ytdComp
integer
|
Year to date compensation
Size range: 2
|
dopComp
integer
|
DOP compensation
Size range: 2
|
eligComp
integer
|
Eligibility compensation
Size range: 2
|
officer
string, optional
|
Officer of the company
Allowed values: Y,y,N,n
|
hceThisYear
string, optional
|
Highly compensated employee payment for current year
Allowed values: Y,y,N,n
|
hcePriorYear
string, optional
|
Highly compensated employee payment for prior year
Allowed values: Y,y,N,n
|
ownershipPercent
float, optional
|
Percentage of equity in company |
ytdEePreTax
float, optional
|
Year to date pre tax contributions |
ytdEeRoth
float, optional
|
Year to date employee roth contributions |
ytdErMatch
float, optional
|
Year to date employer match contributions |
ytdShMatch
float, optional
|
Year to date safe harbor match contributions. |
ytdShNonelective
float, optional
|
Year to date safe harbor non elective contributions |
ytdProfitSharing
float, optional
|
Year to date profit sharing contributions |
customNumber1
integer, optional
|
integer |
customNumber2
integer, optional
|
integer |
customNumber3
integer, optional
|
integer |
customText1
string, optional
|
text |
customText2
string, optional
|
text |
customText3
string, optional
|
text |
Post census details for each participant. Twelve concurrent request limit.
Field | Description |
---|---|
planId string |
Plan's unique Id
Size range: 1..12 |
census
object[] |
Array of census objects (see above)
Size range: 1..
|
Field | Description |
---|---|
jobQResponses
object[]
|
Array of JobQResponse Objects.
Size range: 2
|
curl https://rc.ltretire.com/v1/plans/PLAN101/census \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx' \
-d [
{
"customNumber1": "0.00",
"customNumber2": "0.00",
"customNumber3": "0.00”,
"customText1": "",
"customText2": "",
"customText3": "",
"dateOfBirth": "1995-07-24",
"dateOfEntry": "2020-07-01",
"dateOfHire": "2019-04-24”,
"dateOfTermination": null,
"dateOfRehire": null
"dopComp": "0.00",
"eligComp": "0.00",
"firstName": “Bob",
"hcePriorYear": "",
"hceThisYear": "",
"lastName": “Smith",
"officer": "N",
"ownershipPercent": "0.00",
"ssn": “555555555",
"ytdComp": "17033.41",
"ytdEePreTax": "0.00",
"ytdEeRoth": "0.00",
"ytdErMatch": "0.00",
"ytdHours": "1267.77",
"ytdProfitSharing": "0.00",
"ytdShMatch": "0.00",
"ytdShNonelective": "0.00"
},
…
]
[
{
"jobQResponses": [
{
"groupName": "YE1_9001",
"jobEndDateTime": "2020-01-06T10:37:26",
"jobId": "4663702",
"jobStartDateTime": "2020-01-06T10:37:16",
"jobStatusCode": "successful",
"queueDateTime": "2020-01-06T10:37:16",
"requestId": "4900434",
"taskGroupId": "2469",
"taskId": "3",
"taskName": "Import census demographic data via DER",
"transactionIds": []
}
]
},
{
"jobQResponses": [
{
"groupName": "YE2_9002",
"jobEndDateTime": "2020-01-06T10:37:30",
"jobId": "4663703",
"jobStartDateTime": "2020-01-06T10:37:27",
"jobStatusCode": "successful",
"queueDateTime": "2020-01-06T10:37:26",
"requestId": "4900435",
"taskGroupId": "2470",
"taskId": "3",
"taskName": "Import census demographic data via DER",
"transactionIds": []
},
{
"groupName": "YE2_9002",
"jobEndDateTime": "2020-01-06T10:37:55",
"jobId": "4663703",
"jobStartDateTime": "2020-01-06T10:37:30",
"jobStatusCode": "successful",
"queueDateTime": "2020-01-06T10:37:26",
"requestId": "4900435",
"taskGroupId": "2470",
"taskId": "9250",
"taskName": "RptYECensusAudt",
"transactionIds": []
},
{
"groupName": "YE2_9002",
"jobEndDateTime": "2020-01-06T10:38:33",
"jobId": "4663703",
"jobStartDateTime": "2020-01-06T10:37:56",
"jobStatusCode": "successful",
"queueDateTime": "2020-01-06T10:37:26",
"requestId": "4900435",
"taskGroupId": "2470",
"taskId": "9248",
"taskName": "RptYECensCompr",
"transactionIds": []
},
{
"groupName": "YE2_9002",
"jobEndDateTime": "2020-01-06T10:38:55",
"jobId": "4663703",
"jobStartDateTime": "2020-01-06T10:38:33",
"jobStatusCode": "successful",
"queueDateTime": "2020-01-06T10:37:26",
"requestId": "4900435",
"taskGroupId": "2470",
"taskId": "9249",
"taskName": "RptYECntrMsMtch",
"transactionIds": []
},
{
"groupName": "YE2_9002",
"jobEndDateTime": "2020-01-06T10:39:25",
"jobId": "4663703",
"jobStartDateTime": "2020-01-06T10:38:55",
"jobStatusCode": "successful",
"queueDateTime": "2020-01-06T10:37:26",
"requestId": "4900435",
"taskGroupId": "2470",
"taskId": "9258",
"taskName": "RptYEInFileNotRelius",
"transactionIds": []
}
]
}
]
Field | Description |
---|---|
ssn
string |
See Common Fields |
lastName
string
|
Participant's last name
Size range: 1..30
|
firstName
string
|
Participant's first name
Size range: 1..30
|
middleName
string, optional
|
Participant's middle name
Size range: 1..30
|
addressLine1
string, optional
|
Participant's address line 1
Size range: 1..30
|
addressLine2
string, optional
|
Participant's address line 2
Size range: 1..30
|
city
string, optional
|
Participant's city
Size range: 1..30
|
state
string, optional
|
Participant's two-character state code
Size range: 2
|
zip
string, optional
|
Participant's zip code
Size range: 5
Format: "NNNNN"
|
dateOfBirth
date
|
Participant's date of birth
Format: YYYY-MM-DD
|
dateOfHire
date
|
Participant's date of hire
Format: YYYY-MM-DD
|
dateOfTermination
date, optional
|
Participant's date of termination
Format: YYYY-MM-DD
|
dateOfRehire
date, optional
|
Participant's date of rehire
Format: YYYY-MM-DD
|
email
string, optional
|
The email address of participant
Size range: 1..100
|
cellphone
string, optional
|
The phone number of participant
Format: 1234567890
|
Endpoint to add or update a participant's information
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
enrollment
object[] |
Array of enrollment objects (see above)
Size range: 1..
|
Field | Description |
---|---|
jobQResponses
object[]
|
Array of JobQResponse Objects.
Size range: 1
|
**Validations
Date of birth: participant must be older than 10 and less than 100 years old
Date of Hire: must be greater than DOB
Date of Rehire can only exist if termination date is provide an less than rehire
If ssn exists, it will update otherwise it will insert a new record
curl https://rc.ltretire.com/v1/plans/PLAN101/enrollment \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx' \
-d '[
{
"ssn": "000000023",
"lastName" : "Newperson",
"firstName" : "Brand",
"middleName" : "Spankin",
"addressLine1" : "123 Main Street",
"addressLine2" : "Apt #302",
"city": "Roanoke",
"state": "VA",
"zip": "01234",
"dateOfBirth" : "1980-01-01",
"dateOfHire" : "2021-08-01",
"dateOfTermination" : null,
"dataOfRehire" : null,
"email" : "someone@lttrust.com",
"cellPhone" : "3032380111"
}
]'
{
"jobQResponses": [
{
"jobId": "5933499",
"requestId": "6184636",
"taskGroupId": "3330",
"taskId": "3",
"jobStatusCode": "successful",
"queueDateTime": "2021-09-13T22:10:17.000Z",
"jobStartDateTime": "2021-09-13T22:10:26.000Z",
"jobEndDateTime": "2021-09-13T22:10:32.000Z",
"groupName": "Auto_API_Demographic",
"taskName": "Import census demographic data via DER",
"transactionIds": [],
"output": []
},
{
"jobId": "5933499",
"requestId": "6184636",
"taskGroupId": "3330",
"taskId": "12",
"jobStatusCode": "successful",
"queueDateTime": "2021-09-13T22:10:17.000Z",
"jobStartDateTime": "2021-09-13T22:10:33.000Z",
"jobEndDateTime": "2021-09-13T22:10:37.000Z",
"groupName": "Auto_API_Demographic",
"taskName": "Post Eligibility transaction - All employees",
"transactionIds": [
1089
]
}
]
}
Field | Description |
---|---|
typeCode
string
|
Type of contributions
R - Roth
D - Pre Tax
|
contributionType
string
|
Percent or dollar type of contribution
P - Percent
D - Dollar Amount
|
contribution
number
|
the percent/amount of the contribution |
Endpoint to adjust the contribution rates/amounts of a participant
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
ssn
string |
See Common Fields |
contributions
object[] |
Array of contribution objects (see above)
Size range: 1..
|
Field | Description |
---|---|
requestId
integer
|
The Id returned by system of record upon adding the job to the queue (e.g. 3713537) |
contributions
object[]
|
Array of Contributions Objects
Size range: 1..
|
Field | Description |
---|---|
planId
url param
string
|
See Common Fields |
ssn
string |
See Common Fields |
typeCode
string
|
Type of contributions
R - Roth
D - Pre Tax
|
contributionAmount
number
|
the percent/amount of the contribution |
contributionType
string
|
Percent or dollar type of contribution
P - Percent
D - Dollar Amount
|
**Validation rules for Contribution Requests:
If contribution type is P it the contribution value cannot be greater than 100
Each type code can be specified only once per request
curl https://rc.ltretire.com/v1/plans/PLAN101/contributions \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer xxx.xxx.xxx' \
-d ' {
"ssn":"000000001",
"contributions": [
{
"typeCode" : "D",
"contributionType" : "P",
"contribution" : 12.00
},
{
"typeCode" : "R",
"contributionType" : "D",
"contribution" : 26.00
}
]
}'
{
"requestId": "694b2aae-f6de-4ad5-859c-fcc9b15c8461",
"contributions": [
{
"planId": "WXYZ",
"ssn": "000000001",
"typeCode": "D",
"contributionAmount": 12,
"contributionType": "P"
},
{
"planId": "WXYZ",
"ssn": "000000001",
"typeCode": "R",
"contributionAmount": 26,
"contributionType": "D"
}
]
}