Skip to content

Get employee

employees.retrieve(employee_id) -> EmployeeRetrieveResponse { data }
GET/v1/employees/{employee_id}

Retrieves detailed information for a specific employee by ID. Returns employee details including personal information, employment status, classification and compensation-type effective dates, compensation type, and payroll deductions from the most recent statement period. Deductions reflect a snapshot of the current period and are replaced when a new statement is generated.

ParametersExpand Collapse
employee_id: String

Unique employee identifier (empl_*)

ReturnsExpand Collapse
class EmployeeRetrieveResponse { data }

Response containing a single employee resource.

data: Employee { id, classification_effective_date, compensation_type, 20 more }
id: String

Unique employee identifier with ‘empl_’ prefix

classification_effective_date: Date

Date the employee’s current classification took effect

formatdate
compensation_type: :Salary | :Hourly
  • Salary - Salary
  • Hourly - Hourly
One of the following:
:Salary
:Hourly
compensation_type_effective_date: Date

Date the employee’s current compensation type took effect

formatdate
created_at: Time

Timestamp when the employee was created

formatdate-time
date_of_birth: Date

Date of birth (YYYY-MM-DD)

formatdate
deductions: Array[{ benefit_name, deduction_amount_in_cents, deduction_category, 4 more}]

Payroll deductions from the most recent statement period. Replaced when a new statement is generated.

benefit_name: String

Name of the benefit plan

deduction_amount_in_cents: Integer

Employee deduction amount in cents

deduction_category: String

Deduction category (reserved for future use)

frequency: :weekly | :bi_weekly | :semi_monthly | :monthly
  • weekly - Weekly
  • bi_weekly - Bi Weekly
  • semi_monthly - Semi Monthly
  • monthly - Monthly
One of the following:
:weekly
:bi_weekly
:semi_monthly
:monthly
period_end_date: Date

Period end date (YYYY-MM-DD)

formatdate
period_start_date: Date

Period start date (YYYY-MM-DD)

formatdate
tax_classification: :Unknown | :"Pre-tax" | :"Post-tax"
  • Unknown - Unknown
  • Pre-tax - Pre Tax
  • Post-tax - Post Tax
One of the following:
:Unknown
:"Pre-tax"
:"Post-tax"
email: String

Email address

formatemail
employee_class: EmployeeClass
  • Full Time - Full Time
  • Part Time - Part Time
  • Temporary - Temporary
  • Intern - Intern
  • Seasonal - Seasonal
  • Individual Contractor - Individual Contractor
One of the following:
:"Full Time"
:"Part Time"
:Temporary
:Intern
:Seasonal
:"Individual Contractor"
employer_id: String

Unique identifier of the employer this employment is with (empr_*)

first_name: String

Employee’s legal first name

last_name: String

Employee’s legal last name

member_id: String

Unique member identifier with ‘mbr_’ prefix

phone: String

Phone number (10-digit US domestic string)

start_date: Date

Employee’s start date with the employer

formatdate
status: :active | :terminated

Employee status (active or terminated)

One of the following:
:active
:terminated
updated_at: Time

Timestamp when the employee was last updated

formatdate-time
address: { address_line_1, city, state, 2 more}

Employee’s residential address

address_line_1: String

Primary street address

city: String

City name

state: String

Two-letter state code (e.g., CA, NY)

zipcode: String

ZIP code (5 or 9 digit)

address_line_2: String

Secondary street address (apt, suite, etc.)

employer_name: String

Name of the employer this employment is with

gender: String

Gender identity, if provided

reference_id: String

Partner-assigned reference ID for the employee

suffix: String

Name suffix (e.g., Jr., Sr., III)

termination_date: Date

Employee’s termination date, if terminated

formatdate

Get employee

require "vitable_connect"

vitable_connect = VitableConnect::Client.new(
  api_key: "My API Key",
  environment: "environment_1" # defaults to "production"
)

employee = vitable_connect.employees.retrieve("empl_abc123def456")

puts(employee)
{
  "data": {
    "id": "empl_abc123",
    "member_id": "mbr_xyz789",
    "reference_id": "partner-ee-001",
    "first_name": "John",
    "last_name": "Doe",
    "suffix": null,
    "email": "john.doe@example.com",
    "date_of_birth": "1985-06-15",
    "gender": null,
    "phone": "4155551234",
    "employee_class": "Full Time",
    "status": "active",
    "start_date": "2023-01-15",
    "classification_effective_date": "2023-03-01",
    "compensation_type": "Salary",
    "compensation_type_effective_date": "2023-03-01",
    "termination_date": null,
    "address": {
      "address_line_1": "456 Oak Avenue",
      "address_line_2": "Apt 2B",
      "city": "San Francisco",
      "state": "CA",
      "zipcode": "94102"
    },
    "deductions": [],
    "created_at": "2023-01-15T09:00:00Z",
    "updated_at": "2024-06-01T14:30:00Z"
  }
}
Returns Examples
{
  "data": {
    "id": "empl_abc123",
    "member_id": "mbr_xyz789",
    "reference_id": "partner-ee-001",
    "first_name": "John",
    "last_name": "Doe",
    "suffix": null,
    "email": "john.doe@example.com",
    "date_of_birth": "1985-06-15",
    "gender": null,
    "phone": "4155551234",
    "employee_class": "Full Time",
    "status": "active",
    "start_date": "2023-01-15",
    "classification_effective_date": "2023-03-01",
    "compensation_type": "Salary",
    "compensation_type_effective_date": "2023-03-01",
    "termination_date": null,
    "address": {
      "address_line_1": "456 Oak Avenue",
      "address_line_2": "Apt 2B",
      "city": "San Francisco",
      "state": "CA",
      "zipcode": "94102"
    },
    "deductions": [],
    "created_at": "2023-01-15T09:00:00Z",
    "updated_at": "2024-06-01T14:30:00Z"
  }
}