Skip to content

chore: 🐝 Update SDK - SDK Generation KOMBO-PYTHON 1.4.0 - #50

Open
kombo-sdk-generator[bot] wants to merge 1 commit into
mainfrom
speakeasy-sdk-regen-1786752925
Open

chore: 🐝 Update SDK - SDK Generation KOMBO-PYTHON 1.4.0#50
kombo-sdk-generator[bot] wants to merge 1 commit into
mainfrom
speakeasy-sdk-regen-1786752925

Conversation

@kombo-sdk-generator

@kombo-sdk-generator kombo-sdk-generator Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

SDK update

Versioning

Version Bump Type: [minor] - 🤖 (automated)

Tip

If updates to your OpenAPI document introduce breaking changes, be sure to update the info.version field to trigger the correct version bump.
Speakeasy supports manual control of SDK versioning through multiple methods.

Python SDK Changes:

  • kombo.hris.get_hris_pay_runs(): Added
  • kombo.hris.get_hris_payslips(): Added
  • kombo.ats.get_ats_scorecards(): Added
  • kombo.connect.create_connection_link(): request.integration_tool Changed

View full SDK changelog

OpenAPI Change Summary
├──[+] webhooks (37437:5)
├─┬Paths
│ ├──[+] path (7754:3)
│ ├─┬/ai-apply/job-feeds
│ │ ├─┬GET
│ │ │ └──Responses
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/ai-apply/unified-api/jobs
│ │ └─┬GET
│ │   └──Responses
│ ├─┬/ai-apply/postings
│ │ ├─┬GET
│ │ │ └──Responses
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/ai-apply/postings/{posting_id}/inquire
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/ai-apply/apply
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/ai-apply/unified-api/jobs/{job_id}/applications
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/ai-apply/applications
│ │ └─┬GET
│ │   └──Responses
│ ├─┬/ai-apply/career-sites
│ │ ├─┬GET
│ │ │ └──Responses
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/passthrough/{tool}/{api}
│ │ └─┬POST
│ │   └──[🔀] description (95:20)
│ ├─┬/ai-apply/job-feeds/{job_feed_id}/bulk-import
│ │ └─┬POST
│ │   └──Responses
│ ├─┬/hris/pay-runs
│ │ └─┬GET
│ │   ├──[🔀] description (4185:20)
│ │   ├─┬Responses
│ │   │ └─┬200
│ │   │   └─┬application/json
│ │   │     └─┬example1
│ │   │       └──[🔀] value (4279:21)
│ │   └─┬Extensions
│ │     └──[-] x-speakeasy-ignore (4140:27)❌ 
│ └─┬/hris/payslips
│   └─┬GET
│     ├──[-] parameters (4242:17)❌ 
│     ├──[🔀] description (4322:20)
│     ├─┬Parameters
│     │ └──[🔀] description (4354:24)
│     ├─┬Responses
│     │ └─┬200
│     │   └─┬application/json
│     │     └─┬example1
│     │       └──[🔀] value (4445:21)
│     └─┬Extensions
│       └──[-] x-speakeasy-ignore (4329:27)❌ 
└─┬Components
  ├──[+] schemas (36511:7)
  ├──[+] schemas (29444:7)
  ├──[+] schemas (29406:7)
  ├──[+] schemas (29413:7)
  ├──[+] schemas (29403:7)
  ├──[+] schemas (29436:7)
  ├──[+] schemas (29440:7)
  ├─┬GetHrisPayRunsPositiveResponse
  │ └─┬data
  │   └─┬results
  │     └─┬Schema
  │       ├──[-] examples (19596:21)
  │       ├──[-] required (19587:21)❌ 
  │       ├──[-] required (19588:21)❌ 
  │       ├──[-] required (19589:21)❌ 
  │       ├──[-] properties (19515:19)❌ 
  │       ├──[-] properties (19486:19)❌ 
  │       ├──[-] properties (19492:19)❌ 
  │       ├─┬start_date
  │       │ ├──[-] externalDocs (19479:23)
  │       │ ├──[🔀] type (20134:23)❌ 
  │       │ ├──[+] pattern (20137:30)❌ 
  │       │ ├──[🔀] format (20136:29)❌ 
  │       │ └──[🔀] description (20138:34)
  │       ├─┬totals
  │       │ ├──[+] examples (20232:25)
  │       │ ├──[-] required (19550:25)❌ 
  │       │ ├──[-] required (19551:25)❌ 
  │       │ ├──[-] required (19552:25)❌ 
  │       │ ├─┬net_pay
  │       │ │ ├──[+] required (20212:29)❌ 
  │       │ │ ├──[+] required (20213:29)❌ 
  │       │ │ ├──[🔀] type (20201:27)❌ 
  │       │ │ ├──[-] format (19541:33)❌ 
  │       │ │ ├──[🔀] description (20214:38)
  │       │ │ ├──[+] properties (20204:27)
  │       │ │ └──[+] properties (20207:27)
  │       │ ├─┬gross_pay
  │       │ │ ├──[+] required (20196:29)❌ 
  │       │ │ ├──[+] required (20197:29)❌ 
  │       │ │ ├──[🔀] type (20185:27)❌ 
  │       │ │ ├──[-] format (19535:33)❌ 
  │       │ │ ├──[🔀] description (20198:38)
  │       │ │ ├──[+] properties (20188:27)
  │       │ │ └──[+] properties (20191:27)
  │       │ └─┬paid_amount
  │       │   ├──[+] required (20228:29)❌ 
  │       │   ├──[+] required (20229:29)❌ 
  │       │   ├──[🔀] type (20217:27)❌ 
  │       │   ├──[-] format (19547:33)❌ 
  │       │   ├──[🔀] description (20230:38)
  │       │   ├──[+] properties (20220:27)
  │       │   └──[+] properties (20223:27)
  │       ├─┬end_date
  │       │ ├──[-] externalDocs (19485:23)
  │       │ ├──[🔀] type (20141:23)❌ 
  │       │ ├──[+] pattern (20144:30)❌ 
  │       │ ├──[🔀] format (20143:29)❌ 
  │       │ └──[🔀] description (20145:34)
  │       └─┬legal_entity_id
  │         ├──[-] maxLength (19525:32)❌ 
  │         ├──[-] minLength (19524:32)❌ 
  │         ├──[-] pattern (19526:30)❌ 
  │         └──[🔀] description (20150:34)
  ├─┬GetHrisPayslipsPositiveResponse
  │ └─┬data
  │   └─┬results
  │     └─┬Schema
  │       ├──[-] required (19894:21)❌ 
  │       ├──[-] properties (19750:19)❌ 
  │       ├─┬pay_run
  │       │ ├──[+] examples (20525:25)
  │       │ ├──[-] required (19818:25)❌ 
  │       │ ├──[-] required (19819:25)❌ 
  │       │ ├──[🔀] type (20490:23)❌ 
  │       │ ├──[+] description (20530:34)
  │       │ ├──[-] properties (19776:23)❌ 
  │       │ ├──[-] properties (19782:23)❌ 
  │       │ ├─┬start_date
  │       │ │ ├──[-] externalDocs (19769:27)
  │       │ │ ├──[🔀] type (20501:27)❌ 
  │       │ │ ├──[+] pattern (20504:34)❌ 
  │       │ │ ├──[🔀] format (20503:33)❌ 
  │       │ │ └──[🔀] description (20505:38)
  │       │ ├─┬legal_entity_id
  │       │ │ ├──[-] maxLength (19810:36)❌ 
  │       │ │ ├──[-] minLength (19809:36)❌ 
  │       │ │ ├──[-] pattern (19811:34)❌ 
  │       │ │ └──[🔀] description (20517:38)
  │       │ └─┬end_date
  │       │   ├──[-] externalDocs (19775:27)
  │       │   ├──[🔀] type (20508:27)❌ 
  │       │   ├──[+] pattern (20511:34)❌ 
  │       │   ├──[🔀] format (20510:33)❌ 
  │       │   └──[🔀] description (20512:38)
  │       ├─┬totals
  │       │ ├──[+] examples (20425:25)
  │       │ ├──[-] required (19844:25)❌ 
  │       │ ├──[-] required (19845:25)❌ 
  │       │ ├──[-] required (19843:25)❌ 
  │       │ ├─┬paid_amount
  │       │ │ ├──[+] required (20422:29)❌ 
  │       │ │ ├──[+] required (20421:29)❌ 
  │       │ │ ├──[🔀] type (20410:27)❌ 
  │       │ │ ├──[-] format (19840:33)❌ 
  │       │ │ ├──[🔀] description (20423:38)
  │       │ │ ├──[+] properties (20413:27)
  │       │ │ └──[+] properties (20416:27)
  │       │ ├─┬gross_pay
  │       │ │ ├──[+] required (20389:29)❌ 
  │       │ │ ├──[+] required (20390:29)❌ 
  │       │ │ ├──[🔀] type (20378:27)❌ 
  │       │ │ ├──[-] format (19828:33)❌ 
  │       │ │ ├──[🔀] description (20391:38)
  │       │ │ ├──[+] properties (20381:27)
  │       │ │ └──[+] properties (20384:27)
  │       │ └─┬net_pay
  │       │   ├──[+] required (20406:29)❌ 
  │       │   ├──[+] required (20405:29)❌ 
  │       │   ├──[🔀] type (20394:27)❌ 
  │       │   ├──[-] format (19834:33)❌ 
  │       │   ├──[🔀] description (20407:38)
  │       │   ├──[+] properties (20397:27)
  │       │   └──[+] properties (20400:27)
  │       └─┬line_items
  │         ├──[+] examples (20569:25)
  │         ├──[+] description (20567:34)
  │         └─┬Schema
  │           ├──[+] required (20564:27)❌ 
  │           ├──[+] required (20565:27)❌ 
  │           ├──[-] required (19860:27)❌ 
  │           ├──[+] properties (20536:25)
  │           ├──[+] properties (20539:25)
  │           ├─┬amount
  │           │ ├──[+] required (20560:31)❌ 
  │           │ ├──[+] required (20561:31)❌ 
  │           │ ├──[🔀] type (20549:29)❌ 
  │           │ ├──[-] format (19856:35)❌ 
  │           │ ├──[+] properties (20552:29)
  │           │ └──[+] properties (20555:29)
  │           └─┬name
  │             ├──[🔀] type (20544:29)❌ 
  │             └──[🔀] description (20546:40)
  ├─┬PostConnectCreateLinkRequestBody
  │ └─┬integration_tool
  │   ├──[+] enum (35575:15)
  │   ├──[+] enum (35409:15)
  │   ├──[+] enum (35517:15)
  │   └──[+] enum (35596:15)
  ├─┬GetHrisPayslipsParameterUpdatedAfter
  │ └──[🔀] description (20289:20)
  └─┬DataChangedWebhookPayload
    └─┬data
      └─┬changed_models
        └─┬Schema
          └─┬name
            ├──[+] enum (35815:25)
            ├──[+] enum (35832:25)
            ├──[+] enum (35817:25)
            ├──[+] enum (35816:25)
            └──[+] enum (35818:25)
Document Element Total Changes Breaking Changes
paths 22 1
components 126 69

View full report

Linting Report 0 errors, 325 warnings, 199 hints

View full report

PYTHON CHANGELOG

core: 6.1.2 - 2026-08-24

🐛 Bug Fixes

  • advance pagination through an optional wrapped request body instead of failing to compile or repeating the first page (commit by @AshGodfrey)

core: 6.1.1 - 2026-08-17

🐛 Bug Fixes

  • handle a nullable request body in paginated operations (commit by @AshGodfrey)

core: 6.1.0 - 2026-08-13

🐝 New Features

  • support httpx2 (Pydantic's httpx fork) via the new httpClientLibrary gen.yaml option, and retry connection errors raised by API-compatible client libraries (commit by @AshGodfrey)

core: 6.0.36 - 2026-08-12

🐝 New Features

errors: 3.4.5 - 2026-08-11

🐛 Bug Fixes

  • prevent leaking JSONDecodeError for non-JSON response body under lenient error schema validation (commit by @2ynn)

retries: 3.1.2 - 2026-09-01

🐛 Bug Fixes

  • support retry strategy none and operation-level disabled retry overrides (commit by @ThomasRooney)

retries: 3.1.1 - 2026-08-26

🐛 Bug Fixes

  • close the retried response before sleeping so streaming retries do not leak pooled connections (commit by @AshGodfrey)

retries: 3.1.0 - 2026-08-13

🐝 New Features

  • support httpx2 (Pydantic's httpx fork) via the new httpClientLibrary gen.yaml option, and retry connection errors raised by API-compatible client libraries (commit by @AshGodfrey)

unions: 3.1.9 - 2026-08-13

🐛 Bug Fixes

  • collapse primitive-only unions in path parameters instead of dropping the operation (commit by @AshGodfrey)

Based on Speakeasy CLI 1.796.4

Last updated by Speakeasy workflow


Note

Medium Risk
Adds HRIS payroll read APIs and broad auto-generated type changes; integration_tool enum updates may affect connect-link callers at compile time, and payroll data increases sensitivity of integrated responses.

Overview
Regenerates the Kombo Python SDK at v1.4.0 (Speakeasy 1.796.4) against an updated OpenAPI spec, adding client support for new API surface and refreshing generated models, docs, and lock metadata.

New operations: kombo.hris.get_hris_pay_runs() and get_hris_payslips() expose paginated pay-run and payslip data (totals, employee, pay run, line items). kombo.ats.get_ats_scorecards() lists interview scorecards with typed question/response unions (text, boolean, number, date, single/multi select).

API model updates: create_connection_link’s integration_tool literal enum is expanded/updated. Webhook typings add issue status changed handling, and data-changed / related models pick up new changed-model names (e.g. pay runs, payslips). Several shared schema names are scoped (e.g. Option1/Author → operation-specific types) to avoid collisions.

Generator/config: gen.yaml sets httpClientLibrary: httpx; READMEs document optional httpx2 usage. Underlying Speakeasy feature bumps include core 6.1.2, retries 3.1.2, and unions 3.1.9 (pagination/retry/union fixes in generated code).

Reviewed by Cursor Bugbot for commit 001b7f8. Bugbot is set up for automated code reviews on this repo. Configure here.

@kombo-sdk-generator kombo-sdk-generator Bot added the patch Patch version bump label Aug 15, 2026
@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 3 times, most recently from 30b4966 to 56985bc Compare August 18, 2026 00:16
@kombo-sdk-generator kombo-sdk-generator Bot changed the title chore: 🐝 Update SDK - SDK Generation KOMBO-PYTHON 1.3.8 chore: 🐝 Update SDK - SDK Generation KOMBO-PYTHON 1.4.0 Aug 18, 2026
@kombo-sdk-generator kombo-sdk-generator Bot added minor Minor version bump and removed patch Patch version bump labels Aug 18, 2026
@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 2 times, most recently from 6bffd25 to c67698d Compare August 20, 2026 00:17
@@ -1,4 +1,4 @@
# Option1
# GetAtsJobsPositiveResponseOption1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor bump renames public model types

Medium Severity

This minor release removes the previously exported Option1, Option2, and Author types and replaces them with longer, operation-prefixed names. Clients that import those symbols from kombo.models will fail on upgrade even though the changelog and OpenAPI summary claim no breaking changes.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c67698d. Configure here.

@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch from c67698d to 3361449 Compare August 21, 2026 00:17
Comment thread src/kombo/ats.py
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
http_headers: Optional[Mapping[str, str]] = None,
) -> Optional[models.GetAtsScorecardsResponse]:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent scorecards method name

Medium Severity

The new ATS method is named get_ats_scorecards, while sibling methods from the same GetAts* operation IDs are named get_notes, get_jobs, and get_interviews. The prior release already treated get_ats_notes as incorrect and renamed it to get_notes, so this reintroduces the same redundant ats prefix under kombo.ats.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3361449. Configure here.

Comment thread src/kombo/models/getatsjobspositiveresponse.py
@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 2 times, most recently from 0414b97 to 422aaf4 Compare August 23, 2026 00:17


class Author(BaseModel):
class GetAtsNotesPositiveResponseAuthor(BaseModel):

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Silent breaking model renames

High Severity

Public models previously exported as Author, Option1, and Option2 were renamed to GetAtsNotesPositiveResponseAuthor, GetAtsJobsPositiveResponseOption1, and GetAtsJobsPositiveResponseOption2 in a minor bump to 1.4.0. The changelog reports no breaking changes, so existing imports of the short names will fail at runtime without warning.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 422aaf4. Configure here.

@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 5 times, most recently from e204190 to 836d7f1 Compare August 28, 2026 03:01
GetAtsJobsPositiveResponseOption1,
GetAtsJobsPositiveResponseOption1TypedDict,
GetAtsJobsPositiveResponseOption2,
GetAtsJobsPositiveResponseOption2TypedDict,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Public nested types renamed without aliases

Medium Severity

Existing public types Option1, Option2, and Author were renamed to GetAtsJobsPositiveResponseOption1, GetAtsJobsPositiveResponseOption2, and GetAtsNotesPositiveResponseAuthor with no aliases. Imports and type hints against the old names fail after this minor upgrade.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 836d7f1. Configure here.

@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 2 times, most recently from d5b81e0 to 4633ee1 Compare August 30, 2026 00:37

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread src/kombo/models/gethrispayrunspositiveresponse.py
@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 6 times, most recently from 5cfb49e to 9e790ac Compare September 5, 2026 00:33
@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch 2 times, most recently from 8d6c9ac to 20f1d7d Compare September 7, 2026 00:37
* `kombo.hris.get_hris_pay_runs()`: **Added**
* `kombo.hris.get_hris_payslips()`: **Added**
* `kombo.ats.get_ats_scorecards()`: **Added**
* `kombo.connect.create_connection_link()`:  `request.integration_tool` **Changed**
@kombo-sdk-generator
kombo-sdk-generator Bot force-pushed the speakeasy-sdk-regen-1786752925 branch from 20f1d7d to 001b7f8 Compare September 8, 2026 00:35

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

There are 5 total unresolved issues (including 4 from previous reviews).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 001b7f8. Configure here.

Comment thread src/kombo/hris.py
server_url: Optional[str] = None,
timeout_ms: Optional[int] = None,
http_headers: Optional[Mapping[str, str]] = None,
) -> Optional[models.GetHrisPayRunsResponse]:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefixed names break SDK conventions

Medium Severity

New methods are named get_hris_pay_runs, get_hris_payslips, and get_ats_scorecards, which repeats the domain prefix already implied by kombo.hris / kombo.ats. Existing methods use get_employees, get_notes, and get_interviews. The last release already had to remove get_ats_notes as a breaking rename, so shipping these names again locks in another breaking change later.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 001b7f8. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor Minor version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant