Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -41,7 +41,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Expand Down Expand Up @@ -78,7 +78,7 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/vitable-connect-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.8.0"
".": "0.9.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 20
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/vitable/vitable-connect-4e049d21bf4d1154541a77764427eafdc9a088c0a55f31f1d8880b388f18c0de.yml
openapi_spec_hash: eada242b2cc0d091d633c264be7f8a69
config_hash: f9c90441d2ba5436a2224f6ba4f669e9
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/vitable/vitable-connect-0cad8b2afe668835947111b8104ce1208656ff7345454963d54ca8f61287c25b.yml
openapi_spec_hash: 600b580ad628a1e04804503f22819c39
config_hash: 7295ebbd0e718c807378a7e264b1f400
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 0.9.0 (2026-07-21)

Full Changelog: [v0.8.0...v0.9.0](https://github.com/Vitable-Inc/vitable-connect-python/compare/v0.8.0...v0.9.0)

### Features

* **api:** api update ([1275787](https://github.com/Vitable-Inc/vitable-connect-python/commit/1275787206e5ab26299cb68641ec8ed5e068ef61))
* **api:** api update ([8fa7020](https://github.com/Vitable-Inc/vitable-connect-python/commit/8fa70208d70951f8b6f9e696f7206d9609b251d2))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([e6d3d00](https://github.com/Vitable-Inc/vitable-connect-python/commit/e6d3d00dd86edcf327d4d207ec518cce9c0c7dbc))


### Bug Fixes

* **internal:** resolve build failures ([d424005](https://github.com/Vitable-Inc/vitable-connect-python/commit/d424005af9acf931ea77e97fb139718237e55ede))

## 0.8.0 (2026-06-18)

Full Changelog: [v0.7.0...v0.8.0](https://github.com/Vitable-Inc/vitable-connect-python/compare/v0.7.0...v0.8.0)
Expand Down
2 changes: 1 addition & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Types:

```python
from vitable_connect.types import Type, AuthIssueAccessTokenResponse
from vitable_connect.types import AuthIssueAccessTokenResponse
```

Methods:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "vitable_connect"
version = "0.8.0"
version = "0.9.0"
description = "The official Python library for the vitable-connect API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion scripts/lint
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ else
fi

echo "==> Running pyright"
uv run pyright
uv run pyright -p .

echo "==> Running mypy"
uv run mypy .
Expand Down
2 changes: 1 addition & 1 deletion src/vitable_connect/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "vitable_connect"
__version__ = "0.8.0" # x-release-please-version
__version__ = "0.9.0" # x-release-please-version
14 changes: 8 additions & 6 deletions src/vitable_connect/resources/employees.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@ def retrieve(
"""Retrieves detailed information for a specific employee by ID.

Returns employee
details including personal information, employment status, 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.
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.

Args:
employee_id: Unique employee identifier (empl\\__\\**)
Expand Down Expand Up @@ -169,9 +170,10 @@ async def retrieve(
"""Retrieves detailed information for a specific employee by ID.

Returns employee
details including personal information, employment status, 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.
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.

Args:
employee_id: Unique employee identifier (empl\\__\\**)
Expand Down
4 changes: 4 additions & 0 deletions src/vitable_connect/resources/webhook_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ def list(
event_name: Literal[
"enrollment.accepted",
"enrollment.terminated",
"enrollment.termination_rescheduled",
"enrollment.elected",
"enrollment.granted",
"enrollment.waived",
Expand Down Expand Up @@ -120,6 +121,7 @@ def list(
Args:
event_name: - `enrollment.accepted` - Enrollment Accepted
- `enrollment.terminated` - Enrollment Terminated
- `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled
- `enrollment.elected` - Enrollment Elected
- `enrollment.granted` - Enrollment Granted
- `enrollment.waived` - Enrollment Waived
Expand Down Expand Up @@ -272,6 +274,7 @@ def list(
event_name: Literal[
"enrollment.accepted",
"enrollment.terminated",
"enrollment.termination_rescheduled",
"enrollment.elected",
"enrollment.granted",
"enrollment.waived",
Expand Down Expand Up @@ -301,6 +304,7 @@ def list(
Args:
event_name: - `enrollment.accepted` - Enrollment Accepted
- `enrollment.terminated` - Enrollment Terminated
- `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled
- `enrollment.elected` - Enrollment Elected
- `enrollment.granted` - Enrollment Granted
- `enrollment.waived` - Enrollment Waived
Expand Down
1 change: 0 additions & 1 deletion src/vitable_connect/types/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from __future__ import annotations

from .type import Type as Type
from .group import Group as Group
from .employee import Employee as Employee
from .employer import Employer as Employer
Expand Down
4 changes: 1 addition & 3 deletions src/vitable_connect/types/auth_issue_access_token_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
from typing import Optional
from typing_extensions import Literal, Required, TypedDict

from .type import Type

__all__ = ["AuthIssueAccessTokenParams", "BoundEntity"]


Expand All @@ -27,7 +25,7 @@ class BoundEntity(TypedDict, total=False):
employee)
"""

type: Required[Type]
type: Required[Literal["employer", "employee"]]
"""
- `employer` - employer
- `employee` - employee
Expand Down
4 changes: 2 additions & 2 deletions src/vitable_connect/types/auth_issue_access_token_response.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing_extensions import Literal

from .type import Type
from .._models import BaseModel

__all__ = ["AuthIssueAccessTokenResponse", "BoundEntity"]
Expand All @@ -14,7 +14,7 @@ class BoundEntity(BaseModel):
id: str
"""Prefixed entity ID the token is bound to (empr*\\** or empl*\\**)"""

type: Type
type: Literal["employer", "employee"]
"""
- `employer` - employer
- `employee` - employee
Expand Down
40 changes: 26 additions & 14 deletions src/vitable_connect/types/employee.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,18 @@ class Employee(BaseModel):
id: str
"""Unique employee identifier with 'empl\\__' prefix"""

classification_effective_date: date
"""Date the employee's current classification took effect"""

compensation_type: Optional[Literal["Salary", "Hourly"]] = None
"""
- `Salary` - Salary
- `Hourly` - Hourly
"""

compensation_type_effective_date: date
"""Date the employee's current compensation type took effect"""

created_at: datetime
"""Timestamp when the employee was created"""

Expand All @@ -80,6 +92,16 @@ class Employee(BaseModel):
email: str
"""Email address"""

employee_class: EmployeeClass
"""
- `Full Time` - Full Time
- `Part Time` - Part Time
- `Temporary` - Temporary
- `Intern` - Intern
- `Seasonal` - Seasonal
- `Individual Contractor` - Individual Contractor
"""

first_name: str
"""Employee's legal first name"""

Expand All @@ -92,7 +114,10 @@ class Employee(BaseModel):
phone: Optional[str] = None
"""Phone number (10-digit US domestic string)"""

status: str
start_date: date
"""Employee's start date with the employer"""

status: Literal["active", "terminated"]
"""Employee status (active or terminated)"""

updated_at: datetime
Expand All @@ -101,22 +126,9 @@ class Employee(BaseModel):
address: Optional[Address] = None
"""Employee's residential address"""

employee_class: Optional[EmployeeClass] = None
"""
- `Full Time` - Full Time
- `Part Time` - Part Time
- `Temporary` - Temporary
- `Intern` - Intern
- `Seasonal` - Seasonal
- `Individual Contractor` - Individual Contractor
"""

gender: Optional[str] = None
"""Gender identity, if provided"""

hire_date: Optional[date] = None
"""Employee's hire date with the employer"""

reference_id: Optional[str] = None
"""Partner-assigned reference ID for the employee"""

Expand Down
7 changes: 0 additions & 7 deletions src/vitable_connect/types/type.py

This file was deleted.

2 changes: 2 additions & 0 deletions src/vitable_connect/types/webhook_event_list_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ class WebhookEventListParams(TypedDict, total=False):
event_name: Literal[
"enrollment.accepted",
"enrollment.terminated",
"enrollment.termination_rescheduled",
"enrollment.elected",
"enrollment.granted",
"enrollment.waived",
Expand All @@ -31,6 +32,7 @@ class WebhookEventListParams(TypedDict, total=False):
"""
- `enrollment.accepted` - Enrollment Accepted
- `enrollment.terminated` - Enrollment Terminated
- `enrollment.termination_rescheduled` - Enrollment Termination Rescheduled
- `enrollment.elected` - Enrollment Elected
- `enrollment.granted` - Enrollment Granted
- `enrollment.waived` - Enrollment Waived
Expand Down
Loading