API Reference - Part 2

 

Plans

Plan Object
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".
 
 

List Plans

 

Get the entire list of plans associated with your API token

Response
Field Description
plans
object[]
Array of Plan Objects. If no plans, returns empty array
Size range: 0..

Example request

curl https://rc.ltretire.com/v1/plans \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "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 Plan

 

Get a specific plan

ARGUMENTS
Field Description
planId
url param
string
See Common Fields
Response
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.

Example request

curl https://rc.ltretire.com/v1/plans/WXYZ \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

{
  "planId": "WXYZ",
  "ein": "000000009",
  "planName": "WXYZ CORP. 401(K) PLAN",
  "yrEndDate": "2018-12-31",
  "yrBegDate": "2018-01-01",
}
 

List A Plans's Investments

 

Get the entire list of investments associated with the specified plan

ARGUMENTS
Field Description
planId
url param
string
See Common Fields
displaymodels
string
query str param
See Common Fields
Response
Field Description
investments
object[]
Array of Investment Product Objects. See Common Fields
Size range: 0..

Example request

curl https://rc.ltretire.com/v1/plans/WXYZ/investments?displaymodels=N \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "id": "VFINX",
    "type": "F",
    "modelOnly": "N",
    "description": "Vanguard 500 Index Inv"
  },
  {
    "id": "LAIAX",
    "type": "F",
    "modelOnly": "Y",
    "description": "Columbia Acorn International"
  }
]
 

List A Plans's Sources

 

Get the entire list of sources associated with the specified plan

ARGUMENTS
Field Description
planId
url param
string
See Common Fields
Response
Field Description
sources
object[]
Array of Source Objects
Size range: 0..
Source Object
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
Source Definitions
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

Example request

curl https://rc.ltretire.com/v1/plans/WXYZ/sources \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "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"
  },
  {
    ...
  }
]
 

List A Plans's Contribution Rates

 

Get the entire list of participants’ contribution rates associated with the specified plan

ARGUMENTS
Field Description
planId
url param
string
See Common Fields
Response
Field Description
employees
object[]
Array of Employee Contribution Rate Objects
Size range: 0..
Employee Contribution Rate Object
Field Description
ssn
string
See Common Fields
contributionRates
object[]
Array of Contribution Rate objects (see below)
Size range: 0..
Contribution Rate Object
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

Example request

curl https://rc.ltretire.com/v1/plans/WXYZ/contributionrates \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

{
  "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"
        }
      ]
    }
  ]
}

Participants

 
 

List Participants

 

Get the entire list of participants associated with your API token

Response
Field Description
participants
object[]
Array of Participant Objects. If no participants, returns empty array
Size range: 0..
Participant Object
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..
Plan Object
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

Example request

curl https://rc.ltretire.com/v1/participants \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "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"
      }
    ]
  }
]
 

List Participants By Plan Id

 

get entire list of participants by planid

ARGUMENTS
Field Description
planId
url param
string
See Common Fields
Response
See List Participants
Participant Object
See List Participants
Plan Object
See List Participants

Example request

curl https://rc.ltretire.com/v1/participants?planId=WXYZ \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "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"
      }
    ]
  }
]
 

List A Participant's Payrolls

 

Get the entire list of payrolls associated with the specified participant

ARGUMENTS
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
Response
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..
Payroll Object
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

Example request

curl https://rc.ltretire.com/v1/participants/333224444/payrolls?months=14 \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

{
  "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"
    }
  ]
}

Positions

 
 

List Positions

 

Get the entire list of positions associated with your token

ARGUMENTS
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
Response
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..
Plan Position Object
Field Description
planId
string
See Common Fields
planName
string
See Common Fields
yrEndDate
date
See Common Fields
participants
object[]
Array of Participant Position Objects.
Participant Position Object
Field Description
ssn
string
See Common Fields
positions
object[]
Array of Position Objects.
Position Object
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

Example request

curl https://rc.ltretire.com/v1/positions \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "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"
                  }
	    ]
        }
     ]
  }
]

Transactions

 
Transaction Object
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
 
 

List Plan Transactions

 

Get the list of transactions associated with the specified plan. The allowable date range for this call is 30 days.

ARGUMENTS
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
Response
Field Description
transactions
object[]
Array of Transaction Objects. If no transactions, returns empty array
Size range: 0..

Example request

curl https://rc.ltretire.com/v1/plans/WXYZ/transactions?pendingOnly=Y \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example pagination request

curl /v1/plans/QUANTINNO/participants/xxxxxxxxx/transactions?pendingOnly=n&beginDate=2020-01-15&endDate=2020-02-01&currentPage=3&perPage=1 \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

[
  {
    "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
  },
  ...
]

Example Pagination response (200)

{
 "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
    }
  ]
}
 

List Participant Transactions

 

Get the list of transactions associated with the specified plan and participant

Example request

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'

Example response (200)

See plan-level example response

SSO Tokens

 
 

Generate SSO Token

 

Generate a token that can be used to SSO into the system of record's website.

ARGUMENTS
Field Description
ssn
string
See Common Fields
Response
Field Description
token
string
A token generated by the system of record. The token is good for one minute
Size range: 265
Form Post
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.

Example request

curl https://rc.ltretire.com/v1/ssotokens \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx' \
  -d '{
    "ssn": "333224444"
  }'

Example response (200)

{
  "token": "494877754B4C615763..."
}

Example SSO

<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 SSO Token

 

Validate the SSO token which is only valid for one minute.

ARGUMENTS
Field Description
token
string
See above
Response
Field Description
tokenValidated
string
Is the token valid?
Allowed Values: "Success.", "Failure."

Example request

curl https://rc.ltretire.com/v1/ssotokens/494877754... \
  -X GET \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer xxx.xxx.xxx'

Example response (200)

{
  "tokenValidated": "Success."
}

Census

Census Object
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

 

Post census details for each participant. Twelve concurrent request limit.

ARGUMENTS
Field Description
planId
string
Plan's unique Id
Size range: 1..12
census
object[]
Array of census objects (see above)
Size range: 1..
Response
Field Description
jobQResponses
object[]
Array of JobQResponse Objects.
Size range: 2

Example request

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"
    },
…
]

Example response (200)

[
    {
        "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": []
            }
        ]
    }
]

Enrollment

Enrollment Object
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
 
 

Post Enrollment

 

Endpoint to add or update a participant's information

ARGUMENTS
Field Description
planId
url param
string
See Common Fields
enrollment
object[]
Array of enrollment objects (see above)
Size range: 1..
Response
Field Description
jobQResponses
object[]
Array of JobQResponse Objects.
Size range: 1

**Validations

  1. Date of birth: participant must be older than 10 and less than 100 years old

  2. Date of Hire: must be greater than DOB

  3. Date of Rehire can only exist if termination date is provide an less than rehire

  4. If ssn exists, it will update otherwise it will insert a new record

Example request

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"
	}
	
]'

Example response (200)

{
	"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
	    ]
	  }
	]
}

Contribution

Contribution Object
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
 
 

Post Contributions

 

Endpoint to adjust the contribution rates/amounts of a participant

ARGUMENTS
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..
Response
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..
Contributions Object
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

Example 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

          }
        ]
     }'

Example response (200)

{
  "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"
    }
  ]
}