# Employees ## Get employee **get** `/v1/employees/{employee_id}` Retrieves detailed information for a specific employee by ID. Returns employee details including personal information and employment status. ### Path Parameters - `employee_id: string` Unique employee identifier (empl_*) ### Returns - `data: Employee` - `id: string` Unique employee identifier with 'empl_' prefix - `created_at: string` Timestamp when the employee was created - `date_of_birth: string` Date of birth (YYYY-MM-DD) - `email: string` Email address - `enrollments: array of object { id, status, answered_at }` Benefit enrollments for this employee - `id: string` Unique enrollment identifier with 'enrl_' prefix - `status: EnrollmentStatus` * `pending` - Pending * `enrolled` - Enrolled * `waived` - Waived * `inactive` - Inactive - `"pending"` - `"enrolled"` - `"waived"` - `"inactive"` - `answered_at: optional string` Timestamp when the enrollment decision was made - `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 - `status: string` Employee status (active or terminated) - `updated_at: string` Timestamp when the employee was last updated - `address: optional object { 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: optional string` 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 - `"Full Time"` - `"Part Time"` - `"Temporary"` - `"Intern"` - `"Seasonal"` - `"Individual Contractor"` - `gender: optional string` Gender identity, if provided - `hire_date: optional string` Employee's hire date with the employer - `phone: optional string` Phone number (10-digit US domestic string) - `reference_id: optional string` Partner-assigned reference ID for the employee - `suffix: optional string` Name suffix (e.g., Jr., Sr., III) - `termination_date: optional string` Employee's termination date, if terminated ### Example ```http curl https://api.vitablehealth.com/v1/employees/$EMPLOYEE_ID \ -H "Authorization: Bearer $VITABLE_CONNECT_API_KEY" ``` #### Response ```json { "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" }, "enrollments": [ { "id": "enrl_abc123", "status": "enrolled", "answered_at": "2023-01-20T10:00:00Z" } ], "created_at": "2023-01-15T09:00:00Z", "updated_at": "2024-06-01T14:30:00Z" } } ``` ## List employee enrollments **get** `/v1/employees/{employee_id}/enrollments` Retrieves a paginated list of benefit enrollments for an employee. ### Path Parameters - `employee_id: string` Unique employee identifier (empl_*) ### Query Parameters - `limit: optional number` Items per page (default: 20, max: 100) - `page: optional number` Page number (default: 1) ### Returns - `data: array of Enrollment` - `id: string` Unique enrollment identifier (enrl_*) - `answered_at: string` When the employee enrolled or waived - `benefit: object { id, category, name, product_code }` Nested benefit product summary - `id: string` Benefit product ID (bprd_*) - `category: "Medical" or "Dental" or "Vision" or "Hospital"` * `Medical` - Medical * `Dental` - Dental * `Vision` - Vision * `Hospital` - Hospital - `"Medical"` - `"Dental"` - `"Vision"` - `"Hospital"` - `name: string` Display name of the benefit product - `product_code: "EBA" or "VPC" or "VPC_CORE" or 12 more` * `EBA` - Eba Mec * `VPC` - Vpc Enhanced * `VPC_CORE` - Vpc Core * `MEC` - Vpc Mec * `MEC2` - Mec2 * `MEC_PLUS` - Mec Plus * `MVP` - Mvp * `MVP2` - Mvp2 * `MVPSL` - Mvpsl * `MVPSL2` - Mvpsl2 * `VD` - Dental * `VV` - Vision * `ICHRA` - Ichra * `ICHRA_PREMIUM_PLUS` - Ichra Premium Plus * `ICHRA_REIMBURSEMENT_ONLY` - Ichra Reimbursement Only - `"EBA"` - `"VPC"` - `"VPC_CORE"` - `"MEC"` - `"MEC2"` - `"MEC_PLUS"` - `"MVP"` - `"MVP2"` - `"MVPSL"` - `"MVPSL2"` - `"VD"` - `"VV"` - `"ICHRA"` - `"ICHRA_PREMIUM_PLUS"` - `"ICHRA_REIMBURSEMENT_ONLY"` - `coverage_end: string` Coverage period end date - `coverage_start: string` Coverage period start date - `created_at: string` When the enrollment was created - `employee_deduction_in_cents: number` Employee monthly payroll deduction in cents - `employee_id: string` Employee ID (empl_*) - `employer_contribution_in_cents: number` Employer monthly contribution in cents - `employer_id: string` Employer ID (empr_*) - `status: EnrollmentStatus` * `pending` - Pending * `enrolled` - Enrolled * `waived` - Waived * `inactive` - Inactive - `"pending"` - `"enrolled"` - `"waived"` - `"inactive"` - `terminated_at: string` When coverage was terminated - `updated_at: string` When the enrollment was last updated - `pagination: Pagination` Pagination metadata for list responses. - `limit: number` Items per page - `page: number` Current page number - `total: number` Total number of items - `total_pages: number` Total number of pages ### Example ```http curl https://api.vitablehealth.com/v1/employees/$EMPLOYEE_ID/enrollments \ -H "Authorization: Bearer $VITABLE_CONNECT_API_KEY" ``` #### Response ```json { "data": [ { "id": "enrl_abc123def456", "employee_id": "empl_xyz789ghi012", "employer_id": "empr_def456ghi789", "benefit": { "id": "bprd_medical456", "name": "MEC Plus", "product_code": "MEC_PLUS", "category": "Medical" }, "status": "enrolled", "coverage_start": "2026-04-01", "coverage_end": "2027-03-31", "employee_deduction_in_cents": 5000, "employer_contribution_in_cents": 25000, "answered_at": "2026-01-20T14:30:00Z", "terminated_at": null, "created_at": "2026-01-15T10:30:00Z", "updated_at": "2026-01-15T10:30:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 1, "total_pages": 1 } } ``` ## Domain Types ### Employee - `Employee = object { id, created_at, date_of_birth, 15 more }` - `id: string` Unique employee identifier with 'empl_' prefix - `created_at: string` Timestamp when the employee was created - `date_of_birth: string` Date of birth (YYYY-MM-DD) - `email: string` Email address - `enrollments: array of object { id, status, answered_at }` Benefit enrollments for this employee - `id: string` Unique enrollment identifier with 'enrl_' prefix - `status: EnrollmentStatus` * `pending` - Pending * `enrolled` - Enrolled * `waived` - Waived * `inactive` - Inactive - `"pending"` - `"enrolled"` - `"waived"` - `"inactive"` - `answered_at: optional string` Timestamp when the enrollment decision was made - `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 - `status: string` Employee status (active or terminated) - `updated_at: string` Timestamp when the employee was last updated - `address: optional object { 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: optional string` 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 - `"Full Time"` - `"Part Time"` - `"Temporary"` - `"Intern"` - `"Seasonal"` - `"Individual Contractor"` - `gender: optional string` Gender identity, if provided - `hire_date: optional string` Employee's hire date with the employer - `phone: optional string` Phone number (10-digit US domestic string) - `reference_id: optional string` Partner-assigned reference ID for the employee - `suffix: optional string` Name suffix (e.g., Jr., Sr., III) - `termination_date: optional string` Employee's termination date, if terminated ### Employee Class - `EmployeeClass = "Full Time" or "Part Time" or "Temporary" or 3 more` * `Full Time` - Full Time * `Part Time` - Part Time * `Temporary` - Temporary * `Intern` - Intern * `Seasonal` - Seasonal * `Individual Contractor` - Individual Contractor - `"Full Time"` - `"Part Time"` - `"Temporary"` - `"Intern"` - `"Seasonal"` - `"Individual Contractor"` ### Pagination - `Pagination = object { limit, page, total, total_pages }` Pagination metadata for list responses. - `limit: number` Items per page - `page: number` Current page number - `total: number` Total number of items - `total_pages: number` Total number of pages