Skip to content

List employees

employers.list_employees(stremployer_id, EmployerListEmployeesParams**kwargs) -> SyncPageNumberPage[Employee]
GET/v1/employers/{employer_id}/employees

Retrieves a paginated list of all employees for a specific employer. Results are paginated using page and limit parameters. Each employee includes payroll deductions from the most recent statement period. When a new deduction statement is generated, previous period deductions are replaced.

ParametersExpand Collapse
employer_id: str

Unique employer identifier (empr_*)

limit: Optional[int]

Items per page (default: 20, max: 100)

minimum1
maximum100
page: Optional[int]

Page number (default: 1)

minimum1
ReturnsExpand Collapse
class Employee:
id: str

Unique employee identifier with ‘empl_’ prefix

created_at: datetime

Timestamp when the employee was created

formatdate-time
date_of_birth: date

Date of birth (YYYY-MM-DD)

formatdate
deductions: List[Deduction]

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

benefit_name: str

Name of the benefit plan

deduction_amount_in_cents: int

Employee deduction amount in cents

deduction_category: Optional[str]

Deduction category (reserved for future use)

frequency: Literal["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: Literal["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: str

Email address

formatemail
first_name: str

Employee’s legal first name

last_name: str

Employee’s legal last name

member_id: str

Unique member identifier with ‘mbr_’ prefix

status: str

Employee status (active or terminated)

updated_at: datetime

Timestamp when the employee was last updated

formatdate-time
address: Optional[Address]

Employee’s residential address

address_line_1: str

Primary street address

city: str

City name

state: str

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

zipcode: str

ZIP code (5 or 9 digit)

address_line_2: Optional[str]

Secondary street address (apt, suite, etc.)

employee_class: Optional[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"
gender: Optional[str]

Gender identity, if provided

hire_date: Optional[date]

Employee’s hire date with the employer

formatdate
phone: Optional[str]

Phone number (10-digit US domestic string)

reference_id: Optional[str]

Partner-assigned reference ID for the employee

suffix: Optional[str]

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

termination_date: Optional[date]

Employee’s termination date, if terminated

formatdate

List employees

import os
from vitable_connect import VitableConnect

client = VitableConnect(
    api_key=os.environ.get("VITABLE_CONNECT_API_KEY"),  # This is the default and can be omitted
)
page = client.employers.list_employees(
    employer_id="empr_abc123def456",
)
page = page.data[0]
print(page.id)
{
  "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",
      "hire_date": "2023-01-15",
      "termination_date": null,
      "address": {
        "address_line_1": "456 Oak Avenue",
        "address_line_2": "Apt 2B",
        "city": "San Francisco",
        "state": "CA",
        "zipcode": "94102"
      },
      "deductions": [
        {
          "deduction_category": null,
          "deduction_amount_in_cents": 5000,
          "tax_classification": "Pre-tax",
          "frequency": "monthly",
          "benefit_name": "Gold PPO Plan",
          "period_start_date": "2025-01-01",
          "period_end_date": "2025-01-31"
        }
      ],
      "created_at": "2023-01-15T09:00:00Z",
      "updated_at": "2024-06-01T14:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "total_pages": 1
  }
}
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",
      "hire_date": "2023-01-15",
      "termination_date": null,
      "address": {
        "address_line_1": "456 Oak Avenue",
        "address_line_2": "Apt 2B",
        "city": "San Francisco",
        "state": "CA",
        "zipcode": "94102"
      },
      "deductions": [
        {
          "deduction_category": null,
          "deduction_amount_in_cents": 5000,
          "tax_classification": "Pre-tax",
          "frequency": "monthly",
          "benefit_name": "Gold PPO Plan",
          "period_start_date": "2025-01-01",
          "period_end_date": "2025-01-31"
        }
      ],
      "created_at": "2023-01-15T09:00:00Z",
      "updated_at": "2024-06-01T14:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "total_pages": 1
  }
}