diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index c1906122..186d792c 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,24 +1,24 @@ lockVersion: 2.0.0 id: 0c8d1667-2710-4860-aee3-7d221dbc0a60 management: - docChecksum: 46717390b4d61e8129895ab2c4077aca + docChecksum: 5bb366abaff294d76c9f6091cceb2312 docVersion: 1.0.0 - speakeasyVersion: 1.798.0 - generationVersion: 2.938.0 - releaseVersion: 1.4.0 - configChecksum: f819fbd05ad12ee6a899087de7ff3e68 + speakeasyVersion: 1.800.1 + generationVersion: 2.943.0 + releaseVersion: 1.4.1 + configChecksum: cb5fa610e8e20e7aff69f786a59187c9 repoURL: https://github.com/kombohq/python-sdk.git installationURL: https://github.com/kombohq/python-sdk.git published: true persistentEdits: - generation_id: 8d4f8705-fcd9-4863-bbc6-5023eaaf34ad - pristine_commit_hash: ee49b5bf1ebad37a97a99f7d43f45b26bd7be90a - pristine_tree_hash: bb60f28772df72b29415eec7b5b01bb09b0c53b3 + generation_id: 5e6c7e72-bbc8-4716-bcc4-f4f358500829 + pristine_commit_hash: 70271849d176677e3d9125ba6464d0ffbe2f9708 + pristine_tree_hash: 880464f19110c198af1ac728b9158977cd3f5f69 features: python: additionalDependencies: 1.1.0 constsAndDefaults: 1.0.8 - core: 6.1.2 + core: 6.1.3 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 enumUnions: 0.1.1 @@ -44,7 +44,7 @@ features: retries: 3.1.2 sdkHooks: 1.3.0 serverIDs: 3.0.0 - unions: 3.1.10 + unions: 3.1.12 webhooks: 2.0.0 trackedFiles: .gitattributes: @@ -79,6 +79,10 @@ trackedFiles: id: 437bf42a480e last_write_checksum: sha1:a93a35a251a17ed9514160734abc844f4dd2fc94 pristine_git_object: bcaccc5b22b1cc44d3e5a3e0a265f4c7d326a828 + docs/models/amountytd.md: + id: 7d3ef05fa6a6 + last_write_checksum: sha1:611c9565854477b83bc351b2312ea731dbc9d4db + pristine_git_object: 49e2f0939b470bbb306055f09edfca3678a11b37 docs/models/assesscandidatedata.md: id: 1c1434b54a77 last_write_checksum: sha1:6d5e02105835f41e8a47df7d4368779a027a9c2a @@ -1617,8 +1621,8 @@ trackedFiles: pristine_git_object: d22ea126a369a89bad209a5de5daf84d0b2d9c34 docs/models/gethrispayslipspositiveresponse.md: id: 921ea86d5b09 - last_write_checksum: sha1:92a06dea9342f92ceeccd83ede831d7ae6e773b8 - pristine_git_object: 94601e33a9c5818686ac22f21e016a0977b5f47b + last_write_checksum: sha1:9b48b121691913fe38191e4385618729c76169ef + pristine_git_object: b8b7960e5a431b43f28a8cfb1f42b2d8eccfbc24 docs/models/gethrispayslipspositiveresponsedata.md: id: 3641b40effc0 last_write_checksum: sha1:ae384ad1e78692aa5dedc571ee0986d88b1434dc @@ -1637,12 +1641,12 @@ trackedFiles: pristine_git_object: 894c5d1d4331c284aeb91d304b773e9c8878fe81 docs/models/gethrispayslipspositiveresponseresult.md: id: 4513982035ca - last_write_checksum: sha1:2947d3bdc4c0a6905265a1e71c809d3cdd52fc49 - pristine_git_object: 5d3802525598ebde43b722b3e3f4080395bc1f21 + last_write_checksum: sha1:e727db1001ef21175e91d531d22061802f65d46d + pristine_git_object: 6ddd568bf72c2f1cdce2972b7a3e514ee1aa0f36 docs/models/gethrispayslipspositiveresponsetotals.md: id: 39dca590f71c - last_write_checksum: sha1:46209899adcf1da4fb5175a12ff7e4495dc3d950 - pristine_git_object: 8f4ba89ece1985f857430f6e9d44398618b6e3fa + last_write_checksum: sha1:affcba924fab8aba996915fb393ad79d8ca0be37 + pristine_git_object: 66bbbdf45166fb9766da3cfd5f18b54a803261d7 docs/models/gethrispayslipsrequest.md: id: a175989bb947 last_write_checksum: sha1:5fcd1efa6393ca2f22b5073c5767409b6f2dd589 @@ -1987,6 +1991,10 @@ trackedFiles: id: 196fbcdd2548 last_write_checksum: sha1:5f6b1b4e62cb3042461ae31755b653a9e698a48e pristine_git_object: 1fa3773fb30afb32ff2cdf998e44557aeae8ba2a + docs/models/grosspayytd.md: + id: e2aadd0d017b + last_write_checksum: sha1:3887252e03227db14bd8ae6c0859634a5e4968cc + pristine_git_object: a2cecf0836134e59ad54226ecbfa72185a62b65c docs/models/headers.md: id: 0ec0ab95b977 last_write_checksum: sha1:5b17f8973b7b6ca5fe27757bb17eab29034fbd8e @@ -2109,8 +2117,8 @@ trackedFiles: pristine_git_object: 95d7af043b98494373f18f3ceae6a530e7e4af71 docs/models/integrationtool.md: id: 59f82e2d180c - last_write_checksum: sha1:02bc6d04ec7f73290a681f8533fce4e9e9be2374 - pristine_git_object: bd35e339b00d486af7be406f4d666d0e4b6d31d2 + last_write_checksum: sha1:8ab94bfa17705a989166eb62974a260a5f07f8c9 + pristine_git_object: b4feaafa49909f6a1e65502e2d12bed789de01be docs/models/internal/globals.md: id: 9c173b87f41f last_write_checksum: sha1:3969d44e1ad9258f466c40b241681eb82c1ac29a @@ -2205,8 +2213,8 @@ trackedFiles: pristine_git_object: 2e5d5dac33e72f4cf8981a4ae1cb5eb0db3677ce docs/models/lineitem.md: id: 946ed7dd10b9 - last_write_checksum: sha1:def49cf06e47313bbf177932e3749da01afd7262 - pristine_git_object: 5ddffe77010ab4219bbc114e1be70e8daed75b88 + last_write_checksum: sha1:9361c409b511f7761749818b3180367d61688357 + pristine_git_object: e8dd5206fd728deb26241fe84f589685e0c13903 docs/models/manager.md: id: 475dd5a54e8a last_write_checksum: sha1:24ea1923a0a2365c3df1937cb3fcf7d32f0b3efe @@ -2235,6 +2243,10 @@ trackedFiles: id: 6ee802922293 last_write_checksum: sha1:742c9a1d8b7af218bd4409c70db9e51bdabc79fc pristine_git_object: f5ec5e91917640a2c9a7a18ed0e8430622528cc8 + docs/models/netpayytd.md: + id: 947aa9c3e21e + last_write_checksum: sha1:824f2f7b6daa7d73176fe0ef0e6ecc344af771e2 + pristine_git_object: 7e7866dc6c03db3964c0478b34fdc6631137f6b5 docs/models/offer.md: id: e20e1bb1fed4 last_write_checksum: sha1:f57b5704c7ffdc90d0d5af4f8e736668d185ee70 @@ -2247,6 +2259,10 @@ trackedFiles: id: 957ee74ef883 last_write_checksum: sha1:fcc738fa1fdec584ba09b403404cb84124a066da pristine_git_object: cef59f026d5b96b47d4f67f7b1ec516955cccb8a + docs/models/paidamountytd.md: + id: 947dc11c0363 + last_write_checksum: sha1:f5f9340ba50f682b479d5b421c6083779e769b20 + pristine_git_object: 1e41d30090ca1ffbeebb66de2f9de1dc46d83dee docs/models/patchintegrationsintegrationidintegrationfieldsintegrationfieldidpositiveresponse.md: id: 52bfec13e773 last_write_checksum: sha1:657881248ba1535eea1b41cc7aeaca9745ce2404 @@ -2267,6 +2283,10 @@ trackedFiles: id: f0e24a2fe282 last_write_checksum: sha1:85455ee950eb8de4eb2c2efa014cdb02070e878f pristine_git_object: 51c9cf5b0108fec5c68d8ae006269005dfe5b32f + docs/models/paycode.md: + id: e07e030c0f50 + last_write_checksum: sha1:0b07b367a2fdb534f5e7bdf094c35b83651fdc22 + pristine_git_object: 3238e851d19e83d0460cc201b688fa9b41efacc3 docs/models/payrun.md: id: 5ba90dd6de7a last_write_checksum: sha1:8cc23ceb992ae468622236e0f598d468b0772f0e @@ -2349,8 +2369,8 @@ trackedFiles: pristine_git_object: 377f364bfea1fa8bf0ed9aede4d63f735ee40caf docs/models/postatsapplicationsapplicationidnotesrequestbody.md: id: 19dfbfbce757 - last_write_checksum: sha1:1264387652bf6e9eb120ce0fcf3454a4edd14a49 - pristine_git_object: 358cba82d4a065420b2bf9b86289e84815db032d + last_write_checksum: sha1:b18cea3e0f5cd14703607c7af8c04b9d065048e0 + pristine_git_object: 63be54d8107eec00a646d851fd80b5671a388494 docs/models/postatsapplicationsapplicationidnotesrequestbodybullhorn.md: id: 58385a2c263a last_write_checksum: sha1:823a020d468ca5ec4d1ad5a8d0196e5f23d35af8 @@ -2497,12 +2517,16 @@ trackedFiles: pristine_git_object: 045abe6d1f9a6a5894d6e29d24f1aadf8939f28c docs/models/postatsapplicationsapplicationidresultlinksrequestbodyremotefields.md: id: 7e534f22fffc - last_write_checksum: sha1:82b4be48cd6911d920469c4ef6ee4ad17b6bf0a8 - pristine_git_object: 47b7f291ca7ff2e5686f550d37f649905c2772c0 + last_write_checksum: sha1:88176a87bbd028679425bd2a35c9b118cb0243e6 + pristine_git_object: b8711ff13f87916e8c3a9755aba2949aff5ff68c docs/models/postatsapplicationsapplicationidresultlinksrequestbodytalent360.md: id: 9c568f846661 last_write_checksum: sha1:72e7a79b18c5a25d30a22e7b4d7cd3c93ef4cf13 pristine_git_object: ad530a809f44edc467e77cc62626020bd37c71fb + docs/models/postatsapplicationsapplicationidresultlinksrequestbodytraffit.md: + id: e42b2d5b7d34 + last_write_checksum: sha1:1f6117e50a0bd01354a249668ca8088c032d8c3b + pristine_git_object: e5aa6b663ffcf5649564a22e5a67cd208b71baa9 docs/models/postatsapplicationsapplicationidresultlinksrequestbodyworkable.md: id: 236d17f5f9fa last_write_checksum: sha1:55973ba4fdda1f6e82dc56a4ec5f9c496c5387f3 @@ -2609,12 +2633,16 @@ trackedFiles: pristine_git_object: 5f694039f10342499682ce35717702fd9cc348be docs/models/postatscandidatescandidateidresultlinksrequestbodyremotefields.md: id: 43488809128f - last_write_checksum: sha1:a570f2a452aea6fe0a0afbc555a650ef42bdf160 - pristine_git_object: 830b0e000514ecb635a217655c65dd21ccfd2299 + last_write_checksum: sha1:48a3b9c12fd7b23d2b780facbe675d7b6a9b3364 + pristine_git_object: feedd2a89024bb6a62d92245ebc4899a4c6af8a6 docs/models/postatscandidatescandidateidresultlinksrequestbodytalent360.md: id: 97e7c9de0a61 last_write_checksum: sha1:f926e7232dedeceb37f4a720e8e115a8d6e2a0f4 pristine_git_object: 2e6d5253f13a9258b269e06cc8636e58c0b56883 + docs/models/postatscandidatescandidateidresultlinksrequestbodytraffit.md: + id: 02b49ae0cd8a + last_write_checksum: sha1:5cd0c9a4c121686a7fc8994fc4ace327fee4ab61 + pristine_git_object: 66cd2be91d1917f128b8d6683f856b087751e568 docs/models/postatscandidatescandidateidresultlinksrequestbodyworkable.md: id: 065b12bfc4ab last_write_checksum: sha1:d423a6b5147d6a03744a5d6f9b67fba96cc33dad @@ -2827,6 +2855,10 @@ trackedFiles: id: 84d588e1d06e last_write_checksum: sha1:347ea24ea83ec2496002f4c66123e7f2f04c8ea2 pristine_git_object: e6cfd578d947a0b7b76293675b568c19c10e63cd + docs/models/postatscandidatesrequestbodyfountain.md: + id: a0121b59b03f + last_write_checksum: sha1:ce53f5723b97aab86630e859025a4bea524a693c + pristine_git_object: bde8ebd586882098fd6a9b9cfc8b7512331d6d4a docs/models/postatscandidatesrequestbodygdprconsent.md: id: da3e97087096 last_write_checksum: sha1:531cbdc4ae23f9034059c15c528bfe379826e4e1 @@ -2957,8 +2989,8 @@ trackedFiles: pristine_git_object: d61fb1f0a618fa4b9933cb1612c2ebeb07f1d5a3 docs/models/postatscandidatesrequestbodyremotefields.md: id: a29732cdb42a - last_write_checksum: sha1:a3357c7f7566a549d9be3d665b927731999e69aa - pristine_git_object: 201aaa3a4fe05577b17ace55aaf8af0ede6a5b3c + last_write_checksum: sha1:e6e406d3a0a105e21942d7b56a57bfd7af96cf8f + pristine_git_object: cfc6c32a6666e0e233e19cb28523137811e07b6f docs/models/postatscandidatesrequestbodyresumedata.md: id: 6e43a280682c last_write_checksum: sha1:b68c5072d69278b61ac352daeafa81d164080432 @@ -3013,8 +3045,8 @@ trackedFiles: pristine_git_object: 5ed9861ea6b85b88b7278e58df1252042a59568b docs/models/postatscandidatesrequestbodytalentsoft.md: id: 10a4816ba1d4 - last_write_checksum: sha1:d372bf60e7ddad412410bd9368347b66d4fa28fa - pristine_git_object: 46ca19e329371cf96f2ad55131aefc3c3e3a42dd + last_write_checksum: sha1:c49b3449ba81d3a3fee19678cf0489d2f68a6764 + pristine_git_object: 5d3678386103037f211c441028e505b32875904e docs/models/postatscandidatesrequestbodyteamtailor.md: id: 5648e1b8db30 last_write_checksum: sha1:7d69b86e53311cc10f700122563a5dba8293888d @@ -3439,6 +3471,10 @@ trackedFiles: id: 86acb2e35f83 last_write_checksum: sha1:b0c544d6dcbe053752a505a2114c69b06bcd72c8 pristine_git_object: 23505677d3c7107d915bf0a9b356714be27c467c + docs/models/postatsjobsjobidapplicationsrequestbodyfountain.md: + id: 2380144c6a65 + last_write_checksum: sha1:68cc0f6d76e53acd7be8258b5c937008a2972676 + pristine_git_object: 76d44c08934b86e12cf7f376fa410029b347357c docs/models/postatsjobsjobidapplicationsrequestbodygdprconsent.md: id: 9c3a58870729 last_write_checksum: sha1:8940c45dfdd132a86dd1cf1f7c2ce5d2414c6307 @@ -3569,8 +3605,8 @@ trackedFiles: pristine_git_object: 72d663cb3905829a744e7bb265859e39eb6dd382 docs/models/postatsjobsjobidapplicationsrequestbodyremotefields.md: id: 0dedc4f12d45 - last_write_checksum: sha1:5880a7c2a37a6928df6b8f705095243e5122317c - pristine_git_object: ae0c4841ac4287d8dfd6daccc553002803c51593 + last_write_checksum: sha1:cda891d78a0c08df2f7913be3268726b5a3e42a2 + pristine_git_object: 93327aece95632d173a707f14c81d7f6112a44ab docs/models/postatsjobsjobidapplicationsrequestbodyresumedata.md: id: 2b9769b36fa2 last_write_checksum: sha1:844aa8831da738f33d395ebd66d44106375a38d6 @@ -3625,8 +3661,8 @@ trackedFiles: pristine_git_object: e81a20f2087e9024d162d1bc11960e984d7352be docs/models/postatsjobsjobidapplicationsrequestbodytalentsoft.md: id: 0e5aea0ee96f - last_write_checksum: sha1:e393a015ab0bc7d2237125dd3875f7193954451f - pristine_git_object: 92a617b0125cbe00faa86495e753755e23352c18 + last_write_checksum: sha1:71c1c29b316804fb6bd6674662f28ba464b172cf + pristine_git_object: eda13a9df48c1b0decda367884a92d0d7767964a docs/models/postatsjobsjobidapplicationsrequestbodyteamtailor.md: id: d06ffa9784be last_write_checksum: sha1:eadae70ec62b248f7992efb453f115541244c797 @@ -4541,16 +4577,16 @@ trackedFiles: pristine_git_object: 74f759ee15d215acb1999ae8345fda5bc68ed817 docs/sdks/ats/README.md: id: 24fafa267f6c - last_write_checksum: sha1:7ea810bbbfcc4702ce75a52fbc40b1e52b523849 - pristine_git_object: a39991b1e0cbf12769b7f4af1f7299951316f409 + last_write_checksum: sha1:7bba6fd1166b4963796b6dc007602c6632afd093 + pristine_git_object: e6e1729c13c4c3efd3c80931d94e878e57d96659 docs/sdks/connect/README.md: id: 074a4658c86b last_write_checksum: sha1:b566a8a5ce9a930511eea2f4d663da210b57e270 pristine_git_object: 2e0ba9a6b65bd0c4a916d6b76f2263120690b58a docs/sdks/general/README.md: id: ce0ada6fa2e1 - last_write_checksum: sha1:9e4d9f11de3e68a2adb3dfe7f53f00a18bc226e6 - pristine_git_object: 38a5f23e9a20d95e1260d268cd3842d8bf8fc40d + last_write_checksum: sha1:695b423c02399f795884983ba3eee2b890ee422e + pristine_git_object: dea0aef44fc9960c46f2cd8b42331b147a1281eb docs/sdks/hris/README.md: id: 0baa868a038c last_write_checksum: sha1:638980b40661fdaf2b60ddfb7258eef9aadbf6bc @@ -4565,8 +4601,8 @@ trackedFiles: pristine_git_object: f456032107a9387ba6c98afd1c981df2f4b3d636 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:48d85b3a4750717c62f07210c8fd5f9a8407f584 - pristine_git_object: 61f65460b132961b68804feb21188ea8b926b188 + last_write_checksum: sha1:d8806f941870a6b00a7c32ef04e39a7c603414ba + pristine_git_object: a07e127b198b49c7bf7786dc10f252b6e4b1bf23 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:b6ad6f0515a952d7cb052befddb6a117d4f627d8 @@ -4593,16 +4629,16 @@ trackedFiles: pristine_git_object: 460080ad13f20f8eac822635c7778a371e892c5d src/kombo/_version.py: id: 45cf440ad1df - last_write_checksum: sha1:0c995120e7a03bfdfc98f8b904817ac4896a54cb - pristine_git_object: 5ff814d9e964d4d518fce288969555d23e5953a4 + last_write_checksum: sha1:204a561caa396831e73d6eda048f918faa7dd900 + pristine_git_object: d9fa9396a17b9885cbf8a377bd41907f96376f1b src/kombo/assessment.py: id: aec6e8a7589f last_write_checksum: sha1:4d155741d6e52c6b6fcb93cccb6dd2efd191cfb5 pristine_git_object: b2c845ee7e48489c5dcccb8893d7ca6c8ad123bf src/kombo/ats.py: id: a9839762f5c3 - last_write_checksum: sha1:5dba43da7e3867e994a0a140e5c436481f908cfd - pristine_git_object: 6350a413e335ce1e48eca5db265202b5081fddd0 + last_write_checksum: sha1:9e4fab9e11cef1896ce442457e9a17ceed253728 + pristine_git_object: 01679c389d992168a3a3693d98b3670d66b7fdc3 src/kombo/basesdk.py: id: 8f30a0bd36ff last_write_checksum: sha1:f7cceecb507a387fd50740b9f4cd3cfe5cb3451b @@ -4645,8 +4681,8 @@ trackedFiles: pristine_git_object: 16ac2977e80b6eabe4020aa8a21dd28e83032f9a src/kombo/general.py: id: 107ecb9f3651 - last_write_checksum: sha1:7da44f2845094eff7125eea3abf3dd10c8baca78 - pristine_git_object: 7e85779abdebd1742958157046982890071a5564 + last_write_checksum: sha1:e8842d5464ff4dc098833ff032a9911761cab051 + pristine_git_object: 9119b55d6e82121cef035d26abf9f47ebc8ebb86 src/kombo/hris.py: id: 9ba1b37ab10a last_write_checksum: sha1:44866f436b8aacd94fc5f041da5ee84d965285f0 @@ -4657,8 +4693,8 @@ trackedFiles: pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/kombo/models/__init__.py: id: 45e6e8c7f07f - last_write_checksum: sha1:3d1b358c638e6478459a62fba1108b114381572d - pristine_git_object: be79094f9a288a132b6e988c59a6d6d05e80e4b1 + last_write_checksum: sha1:ac3aee4a99155fddfb96b8026139272cb4559f4e + pristine_git_object: 340344959f7d1ab6fe044f6f3005270bfd7057cd src/kombo/models/assessmentorderreceivedwebhookpayload.py: id: 532c2db2ee93 last_write_checksum: sha1:a89544ec063f76ec1faa875bf51141a32963ef51 @@ -4941,8 +4977,8 @@ trackedFiles: pristine_git_object: aeea3ad6b5a6442858c31b4be215df75a07c1499 src/kombo/models/gethrispayslipspositiveresponse.py: id: 31addaacfccf - last_write_checksum: sha1:24cf2af80fd666691c7c8dbdd5d6f8c285fbd0cd - pristine_git_object: 654a839494a6b2a7f934c8f561cf64f16dde021c + last_write_checksum: sha1:ae7265311ba7b176eca029d765d36a889a8bcf97 + pristine_git_object: eb7205c8758e38a8c0f7f31aa827e4af54177f93 src/kombo/models/gethrisperformancereviewcyclesop.py: id: 531d13c1919b last_write_checksum: sha1:b36d63a3f77016394bbf6bf444d01b410b2e2d26 @@ -5093,8 +5129,8 @@ trackedFiles: pristine_git_object: 5a56d68268d640ec3f8f2f9003c111979fa83642 src/kombo/models/postatsapplicationsapplicationidnotesrequestbody.py: id: 44497b08cf43 - last_write_checksum: sha1:f0eed646553eebb2e7dcae130254e605e289c513 - pristine_git_object: 3571cbddaf7a470dafb6a957212cde5cffbbfd14 + last_write_checksum: sha1:26af6212a49be2c3aecc56ad244370890d96a87f + pristine_git_object: 9912af796dddacf1fc0d0cd483a1d72226c09928 src/kombo/models/postatsapplicationsapplicationidrejectop.py: id: 53d6e1ff7e85 last_write_checksum: sha1:ea87c41f6ca5319550810062c6e790d4da60b6f8 @@ -5117,8 +5153,8 @@ trackedFiles: pristine_git_object: 03be529dc77e6da68aaac5403f4491f25229a8f1 src/kombo/models/postatsapplicationsapplicationidresultlinksrequestbody.py: id: 15e34c668fd7 - last_write_checksum: sha1:4553166fd24e50d5736bd38741aba71865717b8c - pristine_git_object: 43d46424b64a02afc006bd2e59e02a8db5427dbf + last_write_checksum: sha1:5a5b329c4ea0bba29e50b8046ee7ca6d08ad03e8 + pristine_git_object: 709558ee0237fe6b908beeb303c1b558f78cc090 src/kombo/models/postatscandidatescandidateidattachmentsop.py: id: 7c6984e982a3 last_write_checksum: sha1:9c7d3e830a010ede5599ec784d12ab1ff98cf176 @@ -5141,8 +5177,8 @@ trackedFiles: pristine_git_object: 1910122477d1088243d2c088ca1e0fd03346c6cb src/kombo/models/postatscandidatescandidateidresultlinksrequestbody.py: id: 872b369e52c5 - last_write_checksum: sha1:1fe95feb727b3cfc8f8a126779ce8db25314f004 - pristine_git_object: f803c99ba5e059c91c37500057509c9032e4f8b7 + last_write_checksum: sha1:e5853d1e562138098d455ef56c389e89b439995f + pristine_git_object: 401382ea25ac0233598ec62f614d5ee669b3e3c6 src/kombo/models/postatscandidatescandidateidtagsop.py: id: 2fea2f5a65f9 last_write_checksum: sha1:e6f1e9adece4a90ed6219598d006fdf284bf1012 @@ -5165,8 +5201,8 @@ trackedFiles: pristine_git_object: 7a97ad39aca8886d0999a4573a69626c1bfc5cbb src/kombo/models/postatscandidatesrequestbody.py: id: ac6e98f043e9 - last_write_checksum: sha1:f8383c63ded20f8b960b13c3c09d6a22ac9134d3 - pristine_git_object: 4c71b625e0064cc0a06ef963c1f8e62d3dc17178 + last_write_checksum: sha1:7c37dcf4b1aa641b1dabf9d3e4bbe1575b64cc17 + pristine_git_object: 8476e28cbb6382538343fb4ffea130ed3275e8b1 src/kombo/models/postatsimporttrackedapplicationop.py: id: d36d9960022a last_write_checksum: sha1:e0aa98b306d9e4852785f10e40e97c34f084efef @@ -5189,16 +5225,16 @@ trackedFiles: pristine_git_object: 20ba13411c0885c7b43e5c4c0d6ae721b13f02e1 src/kombo/models/postatsjobsjobidapplicationsrequestbody.py: id: a451a5e6b515 - last_write_checksum: sha1:aa28006227c506b89f82038d3bbfdb0f3114ba48 - pristine_git_object: 6db3af0fdeb7a5959ad5664fb6948b6187219253 + last_write_checksum: sha1:129602203f20e9893dd64eab42bdb850c840f041 + pristine_git_object: bd2424c9c613c164ded910aaab8906498530ede0 src/kombo/models/postconnectcreatelinkpositiveresponse.py: id: a3271239a82f last_write_checksum: sha1:543a7f17d567995e4f37abf477f4592fd0d5cdac pristine_git_object: e682c8afbefb1f3400009fa32d86706979690a16 src/kombo/models/postconnectcreatelinkrequestbody.py: id: 8ae6871fd392 - last_write_checksum: sha1:ee18689e48f1fbf5c45c4360efb8bf167f45389f - pristine_git_object: 3e409965ef5e1fc9bc23acf30f7fe7cf665d76d9 + last_write_checksum: sha1:22b58bcb4e9d15d6bad494fe00c3b13e25e381ae + pristine_git_object: 64bac4a8c896cb07456e3e565ecf6796a6394fd7 src/kombo/models/postforcesyncop.py: id: 695738b0e4fb last_write_checksum: sha1:4288d66c5efda40419ee3602e124d5186662a99e @@ -5433,8 +5469,8 @@ trackedFiles: pristine_git_object: 12e0aa4f1151bb52474cc02e88397329b90703f6 src/kombo/utils/datetimes.py: id: 2cb38f000778 - last_write_checksum: sha1:fa47d54c549ff9b95496ce91930fadfb04a36be9 - pristine_git_object: adad24762cf452d137abe94fda0fd26224cef593 + last_write_checksum: sha1:dcbdac8f63789f5d41b64d4d0515db77961e1d0c + pristine_git_object: 688c29a59b33a38c3b8bd3276f89c98483fcdb58 src/kombo/utils/dynamic_imports.py: id: b6914f844f62 last_write_checksum: sha1:a1940c63feb8eddfd8026de53384baf5056d5dcc @@ -5489,12 +5525,12 @@ trackedFiles: pristine_git_object: 8396514d3bbe9a4a1d2caa604d90d9adf16123e3 src/kombo/utils/url.py: id: 7b3d335c5292 - last_write_checksum: sha1:6479961baa90432ca25626f8e40a7bbc32e73b41 - pristine_git_object: c78ccbae426ce6d385709d97ce0b1c2813ea2418 + last_write_checksum: sha1:0269c7e27f701e0c72d44bc2a36ac4d44ef2108c + pristine_git_object: 8eeaa7b0cc48e5e528afc0527da8b76ef46308d4 src/kombo/utils/values.py: id: 089c05c60fc5 - last_write_checksum: sha1:65e1ee8607767a4fc1ae7a55c74d77a23ab3cef1 - pristine_git_object: ac217f473c5d52a454a2979b3eb35e66175d365c + last_write_checksum: sha1:c0eaaf8779a4ba3ae068579a57182667efef0cb7 + pristine_git_object: 094755b73f7f9382d8df997602080c82a55896fd examples: webhookDataChangedWebhookPayload: speakeasy-default-webhook-data-changed-webhook-payload: @@ -8202,7 +8238,7 @@ examples: X-Integration-Id: "workday:HWUTwvyx2wLoSUHphiWVrp28" responses: "200": - application/json: {"status": "success", "data": {"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=", "results": [{"id": "E4q8YceHEtPWeGwBAEcd9xPs", "remote_id": "300000331094861", "changed_at": "2026-01-10T12:32:01Z", "remote_deleted_at": null, "totals": {"gross_pay": {"currency": "USD", "value": 2207.75}, "net_pay": {"currency": "USD", "value": 1730.35}, "paid_amount": {"currency": "USD", "value": 1730.35}}, "employee": {"id": "26vafvWSRmbhNcxJYqjCzuJg", "remote_id": "32", "first_name": "John", "last_name": "Doe", "display_full_name": "John Doe", "work_email": "john.doe@acme.com", "remote_deleted_at": null}, "pay_run": {"id": "HdyE3KNfcbNzXFRqwW1Wh2eP", "remote_id": "300000092871122", "start_date": "2026-01-01T00:00:00Z", "end_date": "2026-01-13T00:00:00Z", "legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"}, "line_items": [{"id": "8TMenmF8QVyP1EqagstHhsPG", "remote_id": "300000331094861:REGULAR_SALARY", "name": "Regular Salary", "amount": {"currency": "USD", "value": 2207.75}}, {"id": "CELfyfzuHs6Dz1MDPdoSCY3U", "remote_id": "300000331094861:FIT_WITHHELD", "name": "FIT Withheld", "amount": {"currency": "USD", "value": 235.94}}, {"id": "H1gPqyuZTK3y75NRxe4QZ3u7", "remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD", "name": "Social Security Employee Withheld", "amount": {"currency": "USD", "value": 136.88}}, {"id": "HEnJXik92Qqph5SX4NtK6NRM", "remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD", "name": "Medicare Employee Withheld", "amount": {"currency": "USD", "value": 32.01}}, {"id": "Ho16emGY5zVYeEc2nN9CWeKv", "remote_id": "300000331094861:SIT_WITHHELD_CA", "name": "SIT Withheld (CA)", "amount": {"currency": "USD", "value": 71.47}}, {"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ", "remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA", "name": "VPDI Employee Withheld (CA)", "amount": {"currency": "USD", "value": 1.1}}]}]}} + application/json: {"status": "success", "data": {"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=", "results": [{"id": "E4q8YceHEtPWeGwBAEcd9xPs", "remote_id": "300000331094861", "custom_fields": {}, "changed_at": "2026-01-10T12:32:01Z", "remote_deleted_at": null, "totals": {"gross_pay": {"currency": "USD", "value": 2207.75}, "net_pay": {"currency": "USD", "value": 1730.35}, "paid_amount": {"currency": "USD", "value": 1730.35}, "gross_pay_ytd": {"currency": "USD", "value": 4415.5}, "net_pay_ytd": {"currency": "USD", "value": 3460.7}, "paid_amount_ytd": {"currency": "USD", "value": 3460.7}}, "employee": {"id": "26vafvWSRmbhNcxJYqjCzuJg", "remote_id": "32", "first_name": "John", "last_name": "Doe", "display_full_name": "John Doe", "work_email": "john.doe@acme.com", "remote_deleted_at": null}, "pay_run": {"id": "HdyE3KNfcbNzXFRqwW1Wh2eP", "remote_id": "300000092871122", "start_date": "2026-01-01T00:00:00Z", "end_date": "2026-01-13T00:00:00Z", "legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"}, "line_items": [{"id": "8TMenmF8QVyP1EqagstHhsPG", "remote_id": "300000331094861:REGULAR_SALARY", "name": "Regular Salary", "pay_code": {"remote_id": "200", "remote_label": "Regular Salary"}, "amount": {"currency": "USD", "value": 2207.75}, "amount_ytd": {"currency": "USD", "value": 4415.5}, "custom_fields": {}}, {"id": "CELfyfzuHs6Dz1MDPdoSCY3U", "remote_id": "300000331094861:FIT_WITHHELD", "name": "FIT Withheld", "pay_code": {"remote_id": "FIT", "remote_label": "FIT Withheld"}, "amount": {"currency": "USD", "value": 235.94}, "amount_ytd": {"currency": "USD", "value": 471.88}, "custom_fields": {}}, {"id": "H1gPqyuZTK3y75NRxe4QZ3u7", "remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD", "name": "Social Security Employee Withheld", "pay_code": {"remote_id": "SOCSEC", "remote_label": "Social Security Employee Withheld"}, "amount": {"currency": "USD", "value": 136.88}, "amount_ytd": {"currency": "USD", "value": 273.76}, "custom_fields": {}}, {"id": "HEnJXik92Qqph5SX4NtK6NRM", "remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD", "name": "Medicare Employee Withheld", "pay_code": {"remote_id": "MEDICARE", "remote_label": "Medicare Employee Withheld"}, "amount": {"currency": "USD", "value": 32.01}, "amount_ytd": {"currency": "USD", "value": 64.02}, "custom_fields": {}}, {"id": "Ho16emGY5zVYeEc2nN9CWeKv", "remote_id": "300000331094861:SIT_WITHHELD_CA", "name": "SIT Withheld (CA)", "pay_code": {"remote_id": "SIT_CA", "remote_label": "SIT Withheld (CA)"}, "amount": {"currency": "USD", "value": 71.47}, "amount_ytd": {"currency": "USD", "value": 142.94}, "custom_fields": {}}, {"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ", "remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA", "name": "VPDI Employee Withheld (CA)", "pay_code": {"remote_id": "VPDI_CA", "remote_label": "VPDI Employee Withheld (CA)"}, "amount": {"currency": "USD", "value": 1.1}, "amount_ytd": {"currency": "USD", "value": 2.2}, "custom_fields": {}}]}]}} default: application/json: {"status": "error", "error": {"code": "HRIS.EMPLOYEE_ALREADY_EXISTS", "title": "", "message": "", "log_url": "https://shiny-deck.org"}} example1: @@ -8215,7 +8251,7 @@ examples: X-Integration-Id: "workday:HWUTwvyx2wLoSUHphiWVrp28" responses: "200": - application/json: {"status": "success", "data": {"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=", "results": [{"id": "E4q8YceHEtPWeGwBAEcd9xPs", "remote_id": "300000331094861", "changed_at": "2026-01-10T12:32:01Z", "remote_deleted_at": null, "totals": {"gross_pay": {"currency": "USD", "value": 2207.75}, "net_pay": {"currency": "USD", "value": 1730.35}, "paid_amount": {"currency": "USD", "value": 1730.35}}, "employee": {"id": "26vafvWSRmbhNcxJYqjCzuJg", "remote_id": "32", "first_name": "John", "last_name": "Doe", "display_full_name": "John Doe", "work_email": "john.doe@acme.com", "remote_deleted_at": null}, "pay_run": {"id": "HdyE3KNfcbNzXFRqwW1Wh2eP", "remote_id": "300000092871122", "start_date": "2026-01-01T00:00:00Z", "end_date": "2026-01-13T00:00:00Z", "legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"}, "line_items": [{"id": "8TMenmF8QVyP1EqagstHhsPG", "remote_id": "300000331094861:REGULAR_SALARY", "name": "Regular Salary", "amount": {"currency": "USD", "value": 2207.75}}, {"id": "CELfyfzuHs6Dz1MDPdoSCY3U", "remote_id": "300000331094861:FIT_WITHHELD", "name": "FIT Withheld", "amount": {"currency": "USD", "value": 235.94}}, {"id": "H1gPqyuZTK3y75NRxe4QZ3u7", "remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD", "name": "Social Security Employee Withheld", "amount": {"currency": "USD", "value": 136.88}}, {"id": "HEnJXik92Qqph5SX4NtK6NRM", "remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD", "name": "Medicare Employee Withheld", "amount": {"currency": "USD", "value": 32.01}}, {"id": "Ho16emGY5zVYeEc2nN9CWeKv", "remote_id": "300000331094861:SIT_WITHHELD_CA", "name": "SIT Withheld (CA)", "amount": {"currency": "USD", "value": 71.47}}, {"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ", "remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA", "name": "VPDI Employee Withheld (CA)", "amount": {"currency": "USD", "value": 1.1}}]}]}} + application/json: {"status": "success", "data": {"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=", "results": [{"id": "E4q8YceHEtPWeGwBAEcd9xPs", "remote_id": "300000331094861", "custom_fields": {}, "changed_at": "2026-01-10T12:32:01Z", "remote_deleted_at": null, "totals": {"gross_pay": {"currency": "USD", "value": 2207.75}, "net_pay": {"currency": "USD", "value": 1730.35}, "paid_amount": {"currency": "USD", "value": 1730.35}, "gross_pay_ytd": {"currency": "USD", "value": 4415.5}, "net_pay_ytd": {"currency": "USD", "value": 3460.7}, "paid_amount_ytd": {"currency": "USD", "value": 3460.7}}, "employee": {"id": "26vafvWSRmbhNcxJYqjCzuJg", "remote_id": "32", "first_name": "John", "last_name": "Doe", "display_full_name": "John Doe", "work_email": "john.doe@acme.com", "remote_deleted_at": null}, "pay_run": {"id": "HdyE3KNfcbNzXFRqwW1Wh2eP", "remote_id": "300000092871122", "start_date": "2026-01-01T00:00:00Z", "end_date": "2026-01-13T00:00:00Z", "legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"}, "line_items": [{"id": "8TMenmF8QVyP1EqagstHhsPG", "remote_id": "300000331094861:REGULAR_SALARY", "name": "Regular Salary", "pay_code": {"remote_id": "200", "remote_label": "Regular Salary"}, "amount": {"currency": "USD", "value": 2207.75}, "amount_ytd": {"currency": "USD", "value": 4415.5}, "custom_fields": {}}, {"id": "CELfyfzuHs6Dz1MDPdoSCY3U", "remote_id": "300000331094861:FIT_WITHHELD", "name": "FIT Withheld", "pay_code": {"remote_id": "FIT", "remote_label": "FIT Withheld"}, "amount": {"currency": "USD", "value": 235.94}, "amount_ytd": {"currency": "USD", "value": 471.88}, "custom_fields": {}}, {"id": "H1gPqyuZTK3y75NRxe4QZ3u7", "remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD", "name": "Social Security Employee Withheld", "pay_code": {"remote_id": "SOCSEC", "remote_label": "Social Security Employee Withheld"}, "amount": {"currency": "USD", "value": 136.88}, "amount_ytd": {"currency": "USD", "value": 273.76}, "custom_fields": {}}, {"id": "HEnJXik92Qqph5SX4NtK6NRM", "remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD", "name": "Medicare Employee Withheld", "pay_code": {"remote_id": "MEDICARE", "remote_label": "Medicare Employee Withheld"}, "amount": {"currency": "USD", "value": 32.01}, "amount_ytd": {"currency": "USD", "value": 64.02}, "custom_fields": {}}, {"id": "Ho16emGY5zVYeEc2nN9CWeKv", "remote_id": "300000331094861:SIT_WITHHELD_CA", "name": "SIT Withheld (CA)", "pay_code": {"remote_id": "SIT_CA", "remote_label": "SIT Withheld (CA)"}, "amount": {"currency": "USD", "value": 71.47}, "amount_ytd": {"currency": "USD", "value": 142.94}, "custom_fields": {}}, {"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ", "remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA", "name": "VPDI Employee Withheld (CA)", "pay_code": {"remote_id": "VPDI_CA", "remote_label": "VPDI Employee Withheld (CA)"}, "amount": {"currency": "USD", "value": 1.1}, "amount_ytd": {"currency": "USD", "value": 2.2}, "custom_fields": {}}]}]}} Error Response: parameters: query: @@ -8333,7 +8369,7 @@ examples: default: application/json: {"status": "error", "error": {"code": null, "title": null, "message": "The message is always in the response.", "log_url": null}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `kombo.hris.get_hris_pay_runs()`: **Added**\n* `kombo.hris.get_hris_payslips()`: **Added**\n* `kombo.ats.get_ats_scorecards()`: **Added**\n* `kombo.ats.get_ats_attachments()`: **Added**\n* `kombo.ats.create_candidate()`: `request.remote_fields` **Changed**\n* `kombo.ats.create_application()`: `request.remote_fields` **Changed**\n* `kombo.connect.create_connection_link()`: \n * `request` **Changed**\n * `response.data.static_ips` **Added**\n" +releaseNotes: "## Python SDK Changes:\n* `kombo.hris.get_hris_payslips()`: `response.data.results[]` **Changed**\n* `kombo.ats.add_application_result_link()`: \n * `request.remote_fields.traffit` **Added**\n* `kombo.ats.add_application_note()`: `request.title` **Added**\n* `kombo.ats.create_candidate()`: `request.remote_fields` **Changed**\n* `kombo.ats.add_candidate_result_link()`: \n * `request.remote_fields.traffit` **Added**\n* `kombo.ats.create_application()`: `request.remote_fields` **Changed**\n* `kombo.connect.create_connection_link()`: `request.integration_tool` **Changed**\n" generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index d3864fe8..f88e2356 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false python: - version: 1.4.0 + version: 1.4.1 additionalDependencies: dev: inline-snapshot: '>=0.13.0' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 1c336595..7b649fa4 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.798.0 +speakeasyVersion: 1.800.1 sources: kombo-prepared-spec: sourceNamespace: kombo-api - sourceRevisionDigest: sha256:b5f1845cda8b548154d1b9e835e2fc701e8e1c3834417aa57f898c58f6c0f04d - sourceBlobDigest: sha256:0f7e67ea4d75aabbe0572c1351117ff92fb10204f63da3188353463a33238a23 + sourceRevisionDigest: sha256:ac88ae81fc38292db8a0bc9c4c804f88e324ad4380ce84411e49927c15a67b3d + sourceBlobDigest: sha256:0752f44d94cb27bdd2c66218c9f42ce60cba3a1af38818d33db7ff59482f255b tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: kombo-python: source: kombo-prepared-spec sourceNamespace: kombo-api - sourceRevisionDigest: sha256:b5f1845cda8b548154d1b9e835e2fc701e8e1c3834417aa57f898c58f6c0f04d - sourceBlobDigest: sha256:0f7e67ea4d75aabbe0572c1351117ff92fb10204f63da3188353463a33238a23 + sourceRevisionDigest: sha256:ac88ae81fc38292db8a0bc9c4c804f88e324ad4380ce84411e49927c15a67b3d + sourceBlobDigest: sha256:0752f44d94cb27bdd2c66218c9f42ce60cba3a1af38818d33db7ff59482f255b codeSamplesNamespace: kombo-api-python-code-samples - codeSamplesRevisionDigest: sha256:09b567362c7cbe45b3efd85b9e09f2ddaa71397016181f0b8a12c33acf9b31cc + codeSamplesRevisionDigest: sha256:566e7c010a8fdf7bd8ac526d9a12b424fd23946c305c84a1f187d1ab213f3de3 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 577778bc..8915cdbc 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -308,4 +308,14 @@ Based on: ### Generated - [python v1.4.0] . ### Releases -- [PyPI v1.4.0] https://pypi.org/project/kombo/1.4.0 - . \ No newline at end of file +- [PyPI v1.4.0] https://pypi.org/project/kombo/1.4.0 - . + +## 2026-10-07 00:36:33 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.800.1 (2.943.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.4.1] . +### Releases +- [PyPI v1.4.1] https://pypi.org/project/kombo/1.4.1 - . \ No newline at end of file diff --git a/docs/models/amountytd.md b/docs/models/amountytd.md new file mode 100644 index 00000000..49e2f093 --- /dev/null +++ b/docs/models/amountytd.md @@ -0,0 +1,11 @@ +# AmountYtd + +The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `currency` | *str* | :heavy_check_mark: | The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in. | +| `value` | *float* | :heavy_check_mark: | The monetary value. | \ No newline at end of file diff --git a/docs/models/gethrispayslipspositiveresponse.md b/docs/models/gethrispayslipspositiveresponse.md index 94601e33..b8b7960e 100644 --- a/docs/models/gethrispayslipspositiveresponse.md +++ b/docs/models/gethrispayslipspositiveresponse.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `status` | *Literal["success"]* | :heavy_check_mark: | N/A | | -| `data` | [models.GetHrisPayslipsPositiveResponseData](../models/gethrispayslipspositiveresponsedata.md) | :heavy_check_mark: | N/A | {
"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=",
"results": [
{
"id": "E4q8YceHEtPWeGwBAEcd9xPs",
"remote_id": "300000331094861",
"changed_at": "2026-01-10T12:32:01Z",
"remote_deleted_at": null,
"remote_data": null,
"totals": {
"gross_pay": {
"currency": "USD",
"value": 2207.75
},
"net_pay": {
"currency": "USD",
"value": 1730.35
},
"paid_amount": {
"currency": "USD",
"value": 1730.35
}
},
"employee": {
"id": "26vafvWSRmbhNcxJYqjCzuJg",
"remote_id": "32",
"first_name": "John",
"last_name": "Doe",
"display_full_name": "John Doe",
"work_email": "john.doe@acme.com",
"remote_deleted_at": null
},
"pay_run": {
"id": "HdyE3KNfcbNzXFRqwW1Wh2eP",
"remote_id": "300000092871122",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-01-13T00:00:00Z",
"legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"
},
"line_items": [
{
"id": "8TMenmF8QVyP1EqagstHhsPG",
"remote_id": "300000331094861:REGULAR_SALARY",
"name": "Regular Salary",
"amount": {
"currency": "USD",
"value": 2207.75
}
},
{
"id": "CELfyfzuHs6Dz1MDPdoSCY3U",
"remote_id": "300000331094861:FIT_WITHHELD",
"name": "FIT Withheld",
"amount": {
"currency": "USD",
"value": 235.94
}
},
{
"id": "H1gPqyuZTK3y75NRxe4QZ3u7",
"remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD",
"name": "Social Security Employee Withheld",
"amount": {
"currency": "USD",
"value": 136.88
}
},
{
"id": "HEnJXik92Qqph5SX4NtK6NRM",
"remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD",
"name": "Medicare Employee Withheld",
"amount": {
"currency": "USD",
"value": 32.01
}
},
{
"id": "Ho16emGY5zVYeEc2nN9CWeKv",
"remote_id": "300000331094861:SIT_WITHHELD_CA",
"name": "SIT Withheld (CA)",
"amount": {
"currency": "USD",
"value": 71.47
}
},
{
"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ",
"remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA",
"name": "VPDI Employee Withheld (CA)",
"amount": {
"currency": "USD",
"value": 1.1
}
}
]
}
]
} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `status` | *Literal["success"]* | :heavy_check_mark: | N/A | | +| `data` | [models.GetHrisPayslipsPositiveResponseData](../models/gethrispayslipspositiveresponsedata.md) | :heavy_check_mark: | N/A | {
"next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=",
"results": [
{
"id": "E4q8YceHEtPWeGwBAEcd9xPs",
"remote_id": "300000331094861",
"custom_fields": {},
"integration_fields": [],
"changed_at": "2026-01-10T12:32:01Z",
"remote_deleted_at": null,
"remote_data": null,
"totals": {
"gross_pay": {
"currency": "USD",
"value": 2207.75
},
"net_pay": {
"currency": "USD",
"value": 1730.35
},
"paid_amount": {
"currency": "USD",
"value": 1730.35
},
"gross_pay_ytd": {
"currency": "USD",
"value": 4415.5
},
"net_pay_ytd": {
"currency": "USD",
"value": 3460.7
},
"paid_amount_ytd": {
"currency": "USD",
"value": 3460.7
}
},
"employee": {
"id": "26vafvWSRmbhNcxJYqjCzuJg",
"remote_id": "32",
"first_name": "John",
"last_name": "Doe",
"display_full_name": "John Doe",
"work_email": "john.doe@acme.com",
"remote_deleted_at": null
},
"pay_run": {
"id": "HdyE3KNfcbNzXFRqwW1Wh2eP",
"remote_id": "300000092871122",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-01-13T00:00:00Z",
"legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"
},
"line_items": [
{
"id": "8TMenmF8QVyP1EqagstHhsPG",
"remote_id": "300000331094861:REGULAR_SALARY",
"name": "Regular Salary",
"pay_code": {
"remote_id": "200",
"remote_label": "Regular Salary"
},
"amount": {
"currency": "USD",
"value": 2207.75
},
"amount_ytd": {
"currency": "USD",
"value": 4415.5
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "CELfyfzuHs6Dz1MDPdoSCY3U",
"remote_id": "300000331094861:FIT_WITHHELD",
"name": "FIT Withheld",
"pay_code": {
"remote_id": "FIT",
"remote_label": "FIT Withheld"
},
"amount": {
"currency": "USD",
"value": 235.94
},
"amount_ytd": {
"currency": "USD",
"value": 471.88
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "H1gPqyuZTK3y75NRxe4QZ3u7",
"remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD",
"name": "Social Security Employee Withheld",
"pay_code": {
"remote_id": "SOCSEC",
"remote_label": "Social Security Employee Withheld"
},
"amount": {
"currency": "USD",
"value": 136.88
},
"amount_ytd": {
"currency": "USD",
"value": 273.76
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "HEnJXik92Qqph5SX4NtK6NRM",
"remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD",
"name": "Medicare Employee Withheld",
"pay_code": {
"remote_id": "MEDICARE",
"remote_label": "Medicare Employee Withheld"
},
"amount": {
"currency": "USD",
"value": 32.01
},
"amount_ytd": {
"currency": "USD",
"value": 64.02
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "Ho16emGY5zVYeEc2nN9CWeKv",
"remote_id": "300000331094861:SIT_WITHHELD_CA",
"name": "SIT Withheld (CA)",
"pay_code": {
"remote_id": "SIT_CA",
"remote_label": "SIT Withheld (CA)"
},
"amount": {
"currency": "USD",
"value": 71.47
},
"amount_ytd": {
"currency": "USD",
"value": 142.94
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ",
"remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA",
"name": "VPDI Employee Withheld (CA)",
"pay_code": {
"remote_id": "VPDI_CA",
"remote_label": "VPDI Employee Withheld (CA)"
},
"amount": {
"currency": "USD",
"value": 1.1
},
"amount_ytd": {
"currency": "USD",
"value": 2.2
},
"custom_fields": {},
"integration_fields": []
}
]
}
]
} | \ No newline at end of file diff --git a/docs/models/gethrispayslipspositiveresponseresult.md b/docs/models/gethrispayslipspositiveresponseresult.md index 5d380252..6ddd568b 100644 --- a/docs/models/gethrispayslipspositiveresponseresult.md +++ b/docs/models/gethrispayslipspositiveresponseresult.md @@ -3,13 +3,14 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | | -| `remote_id` | *str* | :heavy_check_mark: | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | | -| `changed_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | | -| `remote_deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | | -| `totals` | [models.GetHrisPayslipsPositiveResponseTotals](../models/gethrispayslipspositiveresponsetotals.md) | :heavy_check_mark: | N/A | {
"gross_pay": {
"currency": "USD",
"value": 2207.75
},
"net_pay": {
"currency": "USD",
"value": 1730.35
},
"paid_amount": {
"currency": "USD",
"value": 1730.35
}
} | -| `employee` | [models.Employee](../models/employee.md) | :heavy_check_mark: | The employee that the payslip is for. | {
"id": "26vafvWSRmbhNcxJYqjCzuJg",
"remote_id": "32",
"first_name": "John",
"last_name": "Doe",
"display_full_name": "John Doe",
"work_email": "john.doe@acme.com",
"remote_deleted_at": null
} | -| `pay_run` | [Nullable[models.PayRun]](../models/payrun.md) | :heavy_check_mark: | The pay run the payslip was paid out through. | {
"id": "HdyE3KNfcbNzXFRqwW1Wh2eP",
"remote_id": "300000092871122",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-01-13T00:00:00Z",
"legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"
} | -| `line_items` | List[[models.LineItem](../models/lineitem.md)] | :heavy_check_mark: | The individual earnings, deductions, and contributions that make up the payslip. | [
{
"id": "8TMenmF8QVyP1EqagstHhsPG",
"remote_id": "300000331094861:REGULAR_SALARY",
"name": "Regular Salary",
"amount": {
"currency": "USD",
"value": 2207.75
}
},
{
"id": "CELfyfzuHs6Dz1MDPdoSCY3U",
"remote_id": "300000331094861:FIT_WITHHELD",
"name": "FIT Withheld",
"amount": {
"currency": "USD",
"value": 235.94
}
},
{
"id": "H1gPqyuZTK3y75NRxe4QZ3u7",
"remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD",
"name": "Social Security Employee Withheld",
"amount": {
"currency": "USD",
"value": 136.88
}
},
{
"id": "HEnJXik92Qqph5SX4NtK6NRM",
"remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD",
"name": "Medicare Employee Withheld",
"amount": {
"currency": "USD",
"value": 32.01
}
},
{
"id": "Ho16emGY5zVYeEc2nN9CWeKv",
"remote_id": "300000331094861:SIT_WITHHELD_CA",
"name": "SIT Withheld (CA)",
"amount": {
"currency": "USD",
"value": 71.47
}
},
{
"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ",
"remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA",
"name": "VPDI Employee Withheld (CA)",
"amount": {
"currency": "USD",
"value": 1.1
}
}
] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | :heavy_check_mark: | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. | | +| `remote_id` | *str* | :heavy_check_mark: | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | | +| `custom_fields` | Dict[str, *Any*] | :heavy_check_mark: | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | | +| `changed_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | | +| `remote_deleted_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | | +| `totals` | [models.GetHrisPayslipsPositiveResponseTotals](../models/gethrispayslipspositiveresponsetotals.md) | :heavy_check_mark: | N/A | {
"gross_pay": {
"currency": "USD",
"value": 2207.75
},
"net_pay": {
"currency": "USD",
"value": 1730.35
},
"paid_amount": {
"currency": "USD",
"value": 1730.35
},
"gross_pay_ytd": {
"currency": "USD",
"value": 4415.5
},
"net_pay_ytd": {
"currency": "USD",
"value": 3460.7
},
"paid_amount_ytd": {
"currency": "USD",
"value": 3460.7
}
} | +| `employee` | [models.Employee](../models/employee.md) | :heavy_check_mark: | The employee that the payslip is for. | {
"id": "26vafvWSRmbhNcxJYqjCzuJg",
"remote_id": "32",
"first_name": "John",
"last_name": "Doe",
"display_full_name": "John Doe",
"work_email": "john.doe@acme.com",
"remote_deleted_at": null
} | +| `pay_run` | [Nullable[models.PayRun]](../models/payrun.md) | :heavy_check_mark: | The pay run the payslip was paid out through. | {
"id": "HdyE3KNfcbNzXFRqwW1Wh2eP",
"remote_id": "300000092871122",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-01-13T00:00:00Z",
"legal_entity_id": "3Y6vdh2SPujGVx8oj4g8hdUu"
} | +| `line_items` | List[[models.LineItem](../models/lineitem.md)] | :heavy_check_mark: | The individual earnings, deductions, and contributions that make up the payslip. | [
{
"id": "8TMenmF8QVyP1EqagstHhsPG",
"remote_id": "300000331094861:REGULAR_SALARY",
"name": "Regular Salary",
"pay_code": {
"remote_id": "200",
"remote_label": "Regular Salary"
},
"amount": {
"currency": "USD",
"value": 2207.75
},
"amount_ytd": {
"currency": "USD",
"value": 4415.5
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "CELfyfzuHs6Dz1MDPdoSCY3U",
"remote_id": "300000331094861:FIT_WITHHELD",
"name": "FIT Withheld",
"pay_code": {
"remote_id": "FIT",
"remote_label": "FIT Withheld"
},
"amount": {
"currency": "USD",
"value": 235.94
},
"amount_ytd": {
"currency": "USD",
"value": 471.88
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "H1gPqyuZTK3y75NRxe4QZ3u7",
"remote_id": "300000331094861:SOCIAL_SECURITY_EMPLOYEE_WITHHELD",
"name": "Social Security Employee Withheld",
"pay_code": {
"remote_id": "SOCSEC",
"remote_label": "Social Security Employee Withheld"
},
"amount": {
"currency": "USD",
"value": 136.88
},
"amount_ytd": {
"currency": "USD",
"value": 273.76
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "HEnJXik92Qqph5SX4NtK6NRM",
"remote_id": "300000331094861:MEDICARE_EMPLOYEE_WITHHELD",
"name": "Medicare Employee Withheld",
"pay_code": {
"remote_id": "MEDICARE",
"remote_label": "Medicare Employee Withheld"
},
"amount": {
"currency": "USD",
"value": 32.01
},
"amount_ytd": {
"currency": "USD",
"value": 64.02
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "Ho16emGY5zVYeEc2nN9CWeKv",
"remote_id": "300000331094861:SIT_WITHHELD_CA",
"name": "SIT Withheld (CA)",
"pay_code": {
"remote_id": "SIT_CA",
"remote_label": "SIT Withheld (CA)"
},
"amount": {
"currency": "USD",
"value": 71.47
},
"amount_ytd": {
"currency": "USD",
"value": 142.94
},
"custom_fields": {},
"integration_fields": []
},
{
"id": "9D24qXFEp1pSQ2Y3jaRFSTBQ",
"remote_id": "300000331094861:VPDI_EMPLOYEE_WITHHELD_CA",
"name": "VPDI Employee Withheld (CA)",
"pay_code": {
"remote_id": "VPDI_CA",
"remote_label": "VPDI Employee Withheld (CA)"
},
"amount": {
"currency": "USD",
"value": 1.1
},
"amount_ytd": {
"currency": "USD",
"value": 2.2
},
"custom_fields": {},
"integration_fields": []
}
] | \ No newline at end of file diff --git a/docs/models/gethrispayslipspositiveresponsetotals.md b/docs/models/gethrispayslipspositiveresponsetotals.md index 8f4ba89e..66bbbdf4 100644 --- a/docs/models/gethrispayslipspositiveresponsetotals.md +++ b/docs/models/gethrispayslipspositiveresponsetotals.md @@ -3,8 +3,11 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| `gross_pay` | [OptionalNullable[models.GetHrisPayslipsPositiveResponseGrossPay]](../models/gethrispayslipspositiveresponsegrosspay.md) | :heavy_minus_sign: | The total gross pay for the payslip, before taxes and after gross deductions. | -| `net_pay` | [OptionalNullable[models.GetHrisPayslipsPositiveResponseNetPay]](../models/gethrispayslipspositiveresponsenetpay.md) | :heavy_minus_sign: | The total net pay for the payslip, after taxes have been applied to the gross pay. | -| `paid_amount` | [OptionalNullable[models.GetHrisPayslipsPositiveResponsePaidAmount]](../models/gethrispayslipspositiveresponsepaidamount.md) | :heavy_minus_sign: | The amount of the payslip that was actually paid out to the employee. This value accounts for net earnings and deductions. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `gross_pay` | [OptionalNullable[models.GetHrisPayslipsPositiveResponseGrossPay]](../models/gethrispayslipspositiveresponsegrosspay.md) | :heavy_minus_sign: | The total gross pay for the payslip, before taxes and after gross deductions. | +| `net_pay` | [OptionalNullable[models.GetHrisPayslipsPositiveResponseNetPay]](../models/gethrispayslipspositiveresponsenetpay.md) | :heavy_minus_sign: | The total net pay for the payslip, after taxes have been applied to the gross pay. | +| `paid_amount` | [OptionalNullable[models.GetHrisPayslipsPositiveResponsePaidAmount]](../models/gethrispayslipspositiveresponsepaidamount.md) | :heavy_minus_sign: | The amount of the payslip that was actually paid out to the employee. This value accounts for net earnings and deductions. | +| `gross_pay_ytd` | [OptionalNullable[models.GrossPayYtd]](../models/grosspayytd.md) | :heavy_minus_sign: | The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. | +| `net_pay_ytd` | [OptionalNullable[models.NetPayYtd]](../models/netpayytd.md) | :heavy_minus_sign: | The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. | +| `paid_amount_ytd` | [OptionalNullable[models.PaidAmountYtd]](../models/paidamountytd.md) | :heavy_minus_sign: | The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. | \ No newline at end of file diff --git a/docs/models/grosspayytd.md b/docs/models/grosspayytd.md new file mode 100644 index 00000000..a2cecf08 --- /dev/null +++ b/docs/models/grosspayytd.md @@ -0,0 +1,11 @@ +# GrossPayYtd + +The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `currency` | *str* | :heavy_check_mark: | The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in. | +| `value` | *float* | :heavy_check_mark: | The monetary value. | \ No newline at end of file diff --git a/docs/models/integrationtool.md b/docs/models/integrationtool.md index bd35e339..b4feaafa 100644 --- a/docs/models/integrationtool.md +++ b/docs/models/integrationtool.md @@ -93,6 +93,7 @@ value: IntegrationTool = "workday" - `"talentclue"` - `"inrecruiting"` - `"jobadder"` +- `"jobadderjobboard"` - `"ubeeo"` - `"connexys"` - `"hr4you"` @@ -123,6 +124,7 @@ value: IntegrationTool = "workday" - `"sandbox"` - `"guidecom"` - `"spott"` +- `"stardex"` - `"logicmelon"` - `"loxo"` - `"kula"` @@ -131,6 +133,7 @@ value: IntegrationTool = "workday" - `"pageup"` - `"talent360"` - `"emplypeople"` +- `"hibob"` - `"workdaycustomreport"` - `"workdaycustomreportsftp"` - `"ukgprowfm"` @@ -142,7 +145,6 @@ value: IntegrationTool = "workday" - `"fourth"` - `"kenjo"` - `"heavenhr"` -- `"hibob"` - `"cezannehr"` - `"entraid"` - `"azuread"` diff --git a/docs/models/lineitem.md b/docs/models/lineitem.md index 5ddffe77..e8dd5206 100644 --- a/docs/models/lineitem.md +++ b/docs/models/lineitem.md @@ -3,9 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `id` | *str* | :heavy_check_mark: | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. For some integrations, this ID can still change if the payslip is edited. | -| `remote_id` | *str* | :heavy_check_mark: | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. This value may include the item's position on the payslip, which can change if the payslip is edited. | -| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the salary type. | -| `amount` | [OptionalNullable[models.Amount]](../models/amount.md) | :heavy_minus_sign: | The amount of the line item. | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *str* | :heavy_check_mark: | The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. For some integrations, this ID can still change if the payslip is edited. | | +| `remote_id` | *str* | :heavy_check_mark: | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. This value may include the item's position on the payslip, which can change if the payslip is edited. | | +| `name` | *Nullable[str]* | :heavy_check_mark: | The name of the salary type. | | +| `pay_code` | [models.PayCode](../models/paycode.md) | :heavy_check_mark: | The pay code (salary type) this line item belongs to in the remote system. | {
"remote_id": "200",
"remote_label": "Regular Salary"
} | +| `amount` | [OptionalNullable[models.Amount]](../models/amount.md) | :heavy_minus_sign: | The amount of the line item. | | +| `amount_ytd` | [OptionalNullable[models.AmountYtd]](../models/amountytd.md) | :heavy_minus_sign: | The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. | | +| `custom_fields` | Dict[str, *Any*] | :heavy_check_mark: | A key-value store of fields not covered by the schema. [Read more](/custom-fields) | | \ No newline at end of file diff --git a/docs/models/netpayytd.md b/docs/models/netpayytd.md new file mode 100644 index 00000000..7e7866dc --- /dev/null +++ b/docs/models/netpayytd.md @@ -0,0 +1,11 @@ +# NetPayYtd + +The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `currency` | *str* | :heavy_check_mark: | The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in. | +| `value` | *float* | :heavy_check_mark: | The monetary value. | \ No newline at end of file diff --git a/docs/models/paidamountytd.md b/docs/models/paidamountytd.md new file mode 100644 index 00000000..1e41d300 --- /dev/null +++ b/docs/models/paidamountytd.md @@ -0,0 +1,11 @@ +# PaidAmountYtd + +The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount. + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| `currency` | *str* | :heavy_check_mark: | The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in. | +| `value` | *float* | :heavy_check_mark: | The monetary value. | \ No newline at end of file diff --git a/docs/models/paycode.md b/docs/models/paycode.md new file mode 100644 index 00000000..3238e851 --- /dev/null +++ b/docs/models/paycode.md @@ -0,0 +1,11 @@ +# PayCode + +The pay code (salary type) this line item belongs to in the remote system. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `remote_id` | *str* | :heavy_check_mark: | The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. | +| `remote_label` | *Nullable[str]* | :heavy_check_mark: | The name of the salary type as it appears in the remote system. | \ No newline at end of file diff --git a/docs/models/postatsapplicationsapplicationidnotesrequestbody.md b/docs/models/postatsapplicationsapplicationidnotesrequestbody.md index 358cba82..63be54d8 100644 --- a/docs/models/postatsapplicationsapplicationidnotesrequestbody.md +++ b/docs/models/postatsapplicationsapplicationidnotesrequestbody.md @@ -5,6 +5,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `title` | *Optional[str]* | :heavy_minus_sign: | Title of the note, often called "subject" in the ATS. Only some ATSs support note titles, and the others ignore this field. | | `content` | *str* | :heavy_check_mark: | UTF-8 content of the note. | | `content_type` | [models.ContentType](../models/contenttype.md) | :heavy_check_mark: | Content type of the note. Currently only `PLAIN_TEXT` is supported. | | `remote_fields` | [Optional[models.PostAtsApplicationsApplicationIDNotesRequestBodyRemoteFields]](../models/postatsapplicationsapplicationidnotesrequestbodyremotefields.md) | :heavy_minus_sign: | Tool specific remote fields for the note. | \ No newline at end of file diff --git a/docs/models/postatsapplicationsapplicationidresultlinksrequestbodyremotefields.md b/docs/models/postatsapplicationsapplicationidresultlinksrequestbodyremotefields.md index 47b7f291..b8711ff1 100644 --- a/docs/models/postatsapplicationsapplicationidresultlinksrequestbodyremotefields.md +++ b/docs/models/postatsapplicationsapplicationidresultlinksrequestbodyremotefields.md @@ -10,5 +10,6 @@ Additional fields that we will pass through to specific ATS systems. | `icims` | [Optional[models.PostAtsApplicationsApplicationIDResultLinksRequestBodyIcims]](../models/postatsapplicationsapplicationidresultlinksrequestbodyicims.md) | :heavy_minus_sign: | Fields specific to iCIMS. | | `oracle` | [Optional[models.PostAtsApplicationsApplicationIDResultLinksRequestBodyOracle]](../models/postatsapplicationsapplicationidresultlinksrequestbodyoracle.md) | :heavy_minus_sign: | Fields specific to Oracle. | | `talent360` | [Optional[models.PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360]](../models/postatsapplicationsapplicationidresultlinksrequestbodytalent360.md) | :heavy_minus_sign: | Talent360 specific remote fields for the result link. | +| `traffit` | [Optional[models.PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit]](../models/postatsapplicationsapplicationidresultlinksrequestbodytraffit.md) | :heavy_minus_sign: | Fields specific to Traffit. | | `greenhouse` | [Optional[models.PostAtsApplicationsApplicationIDResultLinksRequestBodyGreenhouse]](../models/postatsapplicationsapplicationidresultlinksrequestbodygreenhouse.md) | :heavy_minus_sign: | Fields specific to Greenhouse. | | `workable` | [Optional[models.PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkable]](../models/postatsapplicationsapplicationidresultlinksrequestbodyworkable.md) | :heavy_minus_sign: | Workable specific remote fields for ATS actions. | \ No newline at end of file diff --git a/docs/models/postatsapplicationsapplicationidresultlinksrequestbodytraffit.md b/docs/models/postatsapplicationsapplicationidresultlinksrequestbodytraffit.md new file mode 100644 index 00000000..e5aa6b66 --- /dev/null +++ b/docs/models/postatsapplicationsapplicationidresultlinksrequestbodytraffit.md @@ -0,0 +1,10 @@ +# PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit + +Fields specific to Traffit. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `candidate` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ "_Assessment_Score": "5" }`. The field must be available via integration in Traffit. | \ No newline at end of file diff --git a/docs/models/postatscandidatescandidateidresultlinksrequestbodyremotefields.md b/docs/models/postatscandidatescandidateidresultlinksrequestbodyremotefields.md index 830b0e00..feedd2a8 100644 --- a/docs/models/postatscandidatescandidateidresultlinksrequestbodyremotefields.md +++ b/docs/models/postatscandidatescandidateidresultlinksrequestbodyremotefields.md @@ -10,5 +10,6 @@ Additional fields that we will pass through to specific ATS systems. | `icims` | [Optional[models.PostAtsCandidatesCandidateIDResultLinksRequestBodyIcims]](../models/postatscandidatescandidateidresultlinksrequestbodyicims.md) | :heavy_minus_sign: | Fields specific to iCIMS. | | `oracle` | [Optional[models.PostAtsCandidatesCandidateIDResultLinksRequestBodyOracle]](../models/postatscandidatescandidateidresultlinksrequestbodyoracle.md) | :heavy_minus_sign: | Fields specific to Oracle. | | `talent360` | [Optional[models.PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360]](../models/postatscandidatescandidateidresultlinksrequestbodytalent360.md) | :heavy_minus_sign: | Talent360 specific remote fields for the result link. | +| `traffit` | [Optional[models.PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit]](../models/postatscandidatescandidateidresultlinksrequestbodytraffit.md) | :heavy_minus_sign: | Fields specific to Traffit. | | `greenhouse` | [Optional[models.PostAtsCandidatesCandidateIDResultLinksRequestBodyGreenhouse]](../models/postatscandidatescandidateidresultlinksrequestbodygreenhouse.md) | :heavy_minus_sign: | Fields specific to Greenhouse. | | `workable` | [Optional[models.PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkable]](../models/postatscandidatescandidateidresultlinksrequestbodyworkable.md) | :heavy_minus_sign: | Workable specific remote fields for ATS actions. | \ No newline at end of file diff --git a/docs/models/postatscandidatescandidateidresultlinksrequestbodytraffit.md b/docs/models/postatscandidatescandidateidresultlinksrequestbodytraffit.md new file mode 100644 index 00000000..66cd2be9 --- /dev/null +++ b/docs/models/postatscandidatescandidateidresultlinksrequestbodytraffit.md @@ -0,0 +1,10 @@ +# PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit + +Fields specific to Traffit. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `candidate` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ "_Assessment_Score": "5" }`. The field must be available via integration in Traffit. | \ No newline at end of file diff --git a/docs/models/postatscandidatesrequestbodyfountain.md b/docs/models/postatscandidatesrequestbodyfountain.md new file mode 100644 index 00000000..bde8ebd5 --- /dev/null +++ b/docs/models/postatscandidatesrequestbodyfountain.md @@ -0,0 +1,13 @@ +# PostAtsCandidatesRequestBodyFountain + +Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `consent_sms_transactional` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to transactional SMS about their current application. Fountain requires this on create from November 17, 2026. | +| `consent_sms_marketing` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to marketing SMS about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional SMS consent. | +| `consent_calls_transactional` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to transactional calls about their current application. Fountain requires this on create from November 17, 2026. | +| `consent_calls_marketing` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to marketing calls about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional call consent. | \ No newline at end of file diff --git a/docs/models/postatscandidatesrequestbodyremotefields.md b/docs/models/postatscandidatesrequestbodyremotefields.md index 201aaa3a..cfc6c32a 100644 --- a/docs/models/postatscandidatesrequestbodyremotefields.md +++ b/docs/models/postatscandidatesrequestbodyremotefields.md @@ -32,4 +32,5 @@ Additional fields that we will pass through to specific ATS systems. | `pinpoint` | [Optional[models.PostAtsCandidatesRequestBodyPinpoint]](../models/postatscandidatesrequestbodypinpoint.md) | :heavy_minus_sign: | Fields specific to Pinpoint. | | `covetorest` | [Optional[models.PostAtsCandidatesRequestBodyCovetorest]](../models/postatscandidatesrequestbodycovetorest.md) | :heavy_minus_sign: | Fields specific to Coveto REST. | | `afas` | [Optional[models.PostAtsCandidatesRequestBodyAfas]](../models/postatscandidatesrequestbodyafas.md) | :heavy_minus_sign: | Fields specific to AFAS. | +| `fountain` | [Optional[models.PostAtsCandidatesRequestBodyFountain]](../models/postatscandidatesrequestbodyfountain.md) | :heavy_minus_sign: | Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants. | | `recruitcrm` | [Optional[models.PostAtsCandidatesRequestBodyRecruitcrm]](../models/postatscandidatesrequestbodyrecruitcrm.md) | :heavy_minus_sign: | Fields specific to Recruit CRM. | \ No newline at end of file diff --git a/docs/models/postatscandidatesrequestbodytalentsoft.md b/docs/models/postatscandidatesrequestbodytalentsoft.md index 46ca19e3..5d367838 100644 --- a/docs/models/postatscandidatesrequestbodytalentsoft.md +++ b/docs/models/postatscandidatesrequestbodytalentsoft.md @@ -5,7 +5,8 @@ Fields specific to TalentSoft. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `applicant` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `applicant` object. | -| `application` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `application` object. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `applicant` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `applicant` object. | +| `application` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `application` object. | +| `custom_fields` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's top-level `customFields` object when creating applications without an account. For account-based application creation, pass custom fields in `applicant.customFields` instead. | \ No newline at end of file diff --git a/docs/models/postatsjobsjobidapplicationsrequestbodyfountain.md b/docs/models/postatsjobsjobidapplicationsrequestbodyfountain.md new file mode 100644 index 00000000..76d44c08 --- /dev/null +++ b/docs/models/postatsjobsjobidapplicationsrequestbodyfountain.md @@ -0,0 +1,13 @@ +# PostAtsJobsJobIDApplicationsRequestBodyFountain + +Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `consent_sms_transactional` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to transactional SMS about their current application. Fountain requires this on create from November 17, 2026. | +| `consent_sms_marketing` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to marketing SMS about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional SMS consent. | +| `consent_calls_transactional` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to transactional calls about their current application. Fountain requires this on create from November 17, 2026. | +| `consent_calls_marketing` | *Optional[bool]* | :heavy_minus_sign: | Whether the applicant consented to marketing calls about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional call consent. | \ No newline at end of file diff --git a/docs/models/postatsjobsjobidapplicationsrequestbodyremotefields.md b/docs/models/postatsjobsjobidapplicationsrequestbodyremotefields.md index ae0c4841..93327aec 100644 --- a/docs/models/postatsjobsjobidapplicationsrequestbodyremotefields.md +++ b/docs/models/postatsjobsjobidapplicationsrequestbodyremotefields.md @@ -32,4 +32,5 @@ Additional fields that we will pass through to specific ATS systems. | `pinpoint` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyPinpoint]](../models/postatsjobsjobidapplicationsrequestbodypinpoint.md) | :heavy_minus_sign: | Fields specific to Pinpoint. | | `covetorest` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyCovetorest]](../models/postatsjobsjobidapplicationsrequestbodycovetorest.md) | :heavy_minus_sign: | Fields specific to Coveto REST. | | `afas` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyAfas]](../models/postatsjobsjobidapplicationsrequestbodyafas.md) | :heavy_minus_sign: | Fields specific to AFAS. | +| `fountain` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyFountain]](../models/postatsjobsjobidapplicationsrequestbodyfountain.md) | :heavy_minus_sign: | Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants. | | `recruitcrm` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyRecruitcrm]](../models/postatsjobsjobidapplicationsrequestbodyrecruitcrm.md) | :heavy_minus_sign: | Fields specific to Recruit CRM. | \ No newline at end of file diff --git a/docs/models/postatsjobsjobidapplicationsrequestbodytalentsoft.md b/docs/models/postatsjobsjobidapplicationsrequestbodytalentsoft.md index 92a617b0..eda13a9d 100644 --- a/docs/models/postatsjobsjobidapplicationsrequestbodytalentsoft.md +++ b/docs/models/postatsjobsjobidapplicationsrequestbodytalentsoft.md @@ -5,7 +5,8 @@ Fields specific to TalentSoft. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | -| `applicant` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `applicant` object. | -| `application` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `application` object. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `applicant` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `applicant` object. | +| `application` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's `application` object. | +| `custom_fields` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to TalentSoft's top-level `customFields` object when creating applications without an account. For account-based application creation, pass custom fields in `applicant.customFields` instead. | \ No newline at end of file diff --git a/docs/sdks/ats/README.md b/docs/sdks/ats/README.md index a39991b1..e6e1729c 100644 --- a/docs/sdks/ats/README.md +++ b/docs/sdks/ats/README.md @@ -392,6 +392,7 @@ with Kombo( | `application_id` | *str* | :heavy_check_mark: | The Kombo ID of the application you want to create the note for. | | `content` | *str* | :heavy_check_mark: | UTF-8 content of the note. | | `content_type` | [models.ContentType](../../models/contenttype.md) | :heavy_check_mark: | Content type of the note. Currently only `PLAIN_TEXT` is supported. | +| `title` | *Optional[str]* | :heavy_minus_sign: | Title of the note, often called "subject" in the ATS. Only some ATSs support note titles, and the others ignore this field. | | `remote_fields` | [Optional[models.PostAtsApplicationsApplicationIDNotesRequestBodyRemoteFields]](../../models/postatsapplicationsapplicationidnotesrequestbodyremotefields.md) | :heavy_minus_sign: | Tool specific remote fields for the note. | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | diff --git a/docs/sdks/general/README.md b/docs/sdks/general/README.md index 38a5f23e..dea0aef4 100644 --- a/docs/sdks/general/README.md +++ b/docs/sdks/general/README.md @@ -167,6 +167,7 @@ To get started, please pick the relevant API (some tools provide multiple to due |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\{subdomain\}/v1` as the base URL.| |BITE|`bite/v1`|[Bite's v1 API](https://api.b-ite.io/docs/#/). We automatically authenticate all requests and use your configured API base URL with `/v1` appended (default `https://api.b-ite.io/v1`).| |BoondManager|`boondmanager/api`|BoondManager [REST API](https://ui.boondmanager.com/administrator/developer/apisandbox). We automatically authenticate all requests and use `https://ui.boondmanager.com/api` as the base URL.| +|Breathe HR|`breathehr/v1`|Breathe HR's [API](https://developer.breathehr.com/). We automatically authenticate all requests and use `https://api.breathehr.com/v1` as the base URL.| |Breezy HR|`breezyhr/v3`|[BreezyHR's v3 API](https://developer.breezy.hr/reference/overview). We automatically authenticate all requests and use "https://api.breezy.hr/v3/" as the base URL.| |Bullhorn for Salesforce|`bullhorn4salesforce/v66`|We use `https://\{subdomain\}.my.salesforce.com/services/data/v66.0` as the base URL. Find the official docs [here](https://kb.bullhorn.com/bh4sf/Content/BH4SF/Topics/bh4sfRestAPI.htm).| |Bullhorn|`bullhorn/default`|[Bullhorn's API](https://bullhorn.github.io/rest-api-docs/index.html). We automatically use the right `https://\{subdomain\}.bullhornstaffing.com/rest-services/\{corpToken\}` base URL.| @@ -174,7 +175,7 @@ To get started, please pick the relevant API (some tools provide multiple to due |Carerix|`carerix/api`|Carerix [REST API](https://docs.carerix.io/rest/introduction). We automatically authenticate all requests and use `https://api.carerix.com` as the base URL. Please note that Carerix uses XML for request and response bodies.| |Carerix|`carerixgraphql/graphql`|Carerix [GraphQL API](https://docs.carerix.io/graphql/welcome). We automatically authenticate all requests (OAuth2 client credentials) and use `https://api.carerix.io/graphql/v1` as the base URL. Send GraphQL requests as `POST /graphql` with a JSON body of `\{ "query": "...", "variables": \{ ... \} \}`.| |CEGID TalentSoft Customer|`talentsoftcustomer/v1`|Cegid Talentsoft Recruiting FrontOffice API: [API Documentation](https://developers.cegid.com/api-details#api=cegid-talentsoft-recruiting-frontoffice) We automatically authenticate all requests and use `https://\{customer_subdomain\}.talent-soft.com/api/v1` as the base URL.| -|CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://developers.cegid.com/api-details). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.| +|CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://cegid-hr-developers.talentsoft.net/docs/Talentsoft%20Recrutement/frontoffice/). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.| |Ceipal|`ceipal/v1`|We use `https://api.ceipal.com/v1` as the base URL. Find the official docs [here](https://developer.ceipal.com/ceipal-ats-version-one/ceipal-ats-v1-api-reference).| |Cezanne HR|`cezannehr/dataservice`|[CezanneHR's v7 dataservice API](https://api.cezannehr.com/).We automatically authenticate all requests and use the base URL `https://\{subdomain\}.cezanneondemand.com/cezanneondemand/v7/dataservice.svc`| |Compleet (Persy)|`compleetpersy/api`|Compleet Persy [REST API](https://persy-api.refined.site/space/PAPI/450166808/Requirements+Jobfeed+%2F+Anforderungen+f%C3%BCr+Jobfeeds). We automatically authenticate all requests and use `https://www.germanpersonnel.de/persy/api/v1` as the base URL.| @@ -234,7 +235,7 @@ To get started, please pick the relevant API (some tools provide multiple to due |Heyrecruit|`heyrecruit/v2`|[Heyrecruit's v2 API](https://documenter.getpostman.com/view/23241256/2s9YysBLcf#47e271ac-47c8-4c75-9cc6-b8c506e9dad6). We automatically authenticate all requests using the client ID and secret and use `https://app.heyrecruit.de/api/v2` as the base URL.| |HiBob|`hibob/docs`|This passthrough is only used for fetching employee documents in HiBob. It is present as a workaround while we are working on a new endpoint for fetching documents in HRIS. It should not be used for any other purpose. We automatically authenticate all requests using the service user credentials and use `https://app.hibob.com/api/docs/employees/` as the base URL.| |HiBob|`hibob/hire`|[HiBob's Hire API](https://apidocs.hibob.com/docs/how-to-integrate-with-ats-hire-api). We automatically authenticate all requests using the hire service user credentials. The base URL is configured during the integration setup.| -|HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| +|HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people), including the [hiring endpoints](https://apidocs.hibob.com/docs/explore-hiring-api). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| |HoorayHR|`hoorayhr/api`|[HoorayHR API](https://api.hoorayhr.io/documentation/). We automatically authenticate all requests and use `https://api.hoorayhr.io` as the base URL.| |HR Office|`hroffice/soap`|[HROffice SOAP API](https://api.hroffice.nl/HROfficeCoreService.asmx). We automatically authenticate all requests and wrap them in a SOAP envelope. Build the request `Body` with the raw XML parameters for your operation (e.g., `\1\`). Use `/` as your `path`. Set your `method` to `POST`. You need to specify the `api_options` object and set `operation_name` to the SOAP operation you want to call (e.g., `GetAllJobByLanguage`).| |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.| @@ -301,6 +302,7 @@ To get started, please pick the relevant API (some tools provide multiple to due |PeopleXD|`peoplexd/b2b`|PeopleXD's [B2B API](https://documenter.getpostman.com/view/3101638/TzeTHUDu#intro). We automatically authenticate all requests and use `https://api.corehr.com/ws/\{tenant_id\}/corehr` or `https://uatapi.corehr.com/ws/\{tenant_id\}/corehr` as the base URL.| |Personio|`personio/jobboard`|API endpoints exposed on Personio's public job board pages ([currently just the XML feed](https://developer.personio.de/reference/get_xml)). We automatically use the right `https://\{company\}.jobs.personio.de` base URL.| |Personio|`personio/personnel`|Personio's [Personnel Data API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v1` as the base URL.| +|Personio|`personio/personnelv2`|Personio's [V2 Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Personio|`personio/personnelv2`|Personio's [V2 Personnel Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Personio|`personio/recruiting`|Personio's [Recruiting API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the Recruiting access token and use `https://api.personio.de/v1/recruiting` as the base URL.| |Personio|`personio/recruitingV2`|Personio's [V2 Recruiting API](https://developer.personio.de/reference/get_v2-recruiting-applications). We automatically authenticate all requests using the Recruiting access token, send the `Beta` header and use `https://api.personio.de/v2/recruiting` as the base URL.| @@ -329,6 +331,7 @@ To get started, please pick the relevant API (some tools provide multiple to due |Softgarden|`softgarden/frontend-v3`|[Softgarden's Frontend API v3](https://dev.softgarden.de/frontend-v3/. We automatically authenticate all requests and use 'https://api.softgarden.io/api/rest' as base URL.| |Spark Hire Recruit|`comeet/api`|[Spark Hire Recruit's API.](https://developers.comeet.com/reference/recruiting-api-overview)We automatically authenticate all requests and use `https://api.comeet.com` as the base URL.| |Spott|`spott/protected`|The [Spott API](https://docs.gospott.com). We automatically authenticate all requests and use `https://api.gospott.com` as the base URL.| +|Stardex|`stardex/v1`|We use `https://api.stardex.ai` as the base URL. Find the official docs [here](https://docs.stardex.com/api-reference/introduction-v1).| |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.| |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.| |Talent360|`talent360/v3`|We use `https://api.talent360.io/V3` as the base URL. Find the official docs [here](https://api-doc.talent360.io/).| diff --git a/pyproject.toml b/pyproject.toml index 61f65460..a07e127b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "kombo" -version = "1.4.0" +version = "1.4.1" description = "The official Python SDK for the Kombo Unified API" authors = [{ name = "Kombo Technologies GmbH" },] readme = "README-PYPI.md" diff --git a/src/kombo/_version.py b/src/kombo/_version.py index 5ff814d9..d9fa9396 100644 --- a/src/kombo/_version.py +++ b/src/kombo/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "kombo" -__version__: str = "1.4.0" +__version__: str = "1.4.1" __openapi_doc_version__: str = "1.0.0" -__gen_version__: str = "2.938.0" -__user_agent__: str = "speakeasy-sdk/python 1.4.0 2.938.0 1.0.0 kombo" +__gen_version__: str = "2.943.0" +__user_agent__: str = "speakeasy-sdk/python 1.4.1 2.943.0 1.0.0 kombo" try: if __package__ is not None: diff --git a/src/kombo/ats.py b/src/kombo/ats.py index 6350a413..01679c38 100644 --- a/src/kombo/ats.py +++ b/src/kombo/ats.py @@ -970,6 +970,7 @@ def add_application_note( application_id: str, content: str, content_type: models.ContentType, + title: Optional[str] = None, remote_fields: Optional[ Union[ models.PostAtsApplicationsApplicationIDNotesRequestBodyRemoteFields, @@ -1004,6 +1005,7 @@ def add_application_note( :param application_id: The Kombo ID of the application you want to create the note for. :param content: UTF-8 content of the note. :param content_type: Content type of the note. Currently only `PLAIN_TEXT` is supported. + :param title: Title of the note, often called \"subject\" in the ATS. Only some ATSs support note titles, and the others ignore this field. :param remote_fields: Tool specific remote fields for the note. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1026,6 +1028,7 @@ def add_application_note( request = models.PostAtsApplicationsApplicationIDNotesRequest( application_id=application_id, body=models.PostAtsApplicationsApplicationIDNotesRequestBody( + title=title, content=content, content_type=content_type, remote_fields=utils.get_pydantic_model( @@ -1104,6 +1107,7 @@ async def add_application_note_async( application_id: str, content: str, content_type: models.ContentType, + title: Optional[str] = None, remote_fields: Optional[ Union[ models.PostAtsApplicationsApplicationIDNotesRequestBodyRemoteFields, @@ -1138,6 +1142,7 @@ async def add_application_note_async( :param application_id: The Kombo ID of the application you want to create the note for. :param content: UTF-8 content of the note. :param content_type: Content type of the note. Currently only `PLAIN_TEXT` is supported. + :param title: Title of the note, often called \"subject\" in the ATS. Only some ATSs support note titles, and the others ignore this field. :param remote_fields: Tool specific remote fields for the note. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -1160,6 +1165,7 @@ async def add_application_note_async( request = models.PostAtsApplicationsApplicationIDNotesRequest( application_id=application_id, body=models.PostAtsApplicationsApplicationIDNotesRequestBody( + title=title, content=content, content_type=content_type, remote_fields=utils.get_pydantic_model( diff --git a/src/kombo/general.py b/src/kombo/general.py index 7e85779a..9119b55d 100644 --- a/src/kombo/general.py +++ b/src/kombo/general.py @@ -416,6 +416,7 @@ def send_passthrough_request( |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\{subdomain\}/v1` as the base URL.| |BITE|`bite/v1`|[Bite's v1 API](https://api.b-ite.io/docs/#/). We automatically authenticate all requests and use your configured API base URL with `/v1` appended (default `https://api.b-ite.io/v1`).| |BoondManager|`boondmanager/api`|BoondManager [REST API](https://ui.boondmanager.com/administrator/developer/apisandbox). We automatically authenticate all requests and use `https://ui.boondmanager.com/api` as the base URL.| + |Breathe HR|`breathehr/v1`|Breathe HR's [API](https://developer.breathehr.com/). We automatically authenticate all requests and use `https://api.breathehr.com/v1` as the base URL.| |Breezy HR|`breezyhr/v3`|[BreezyHR's v3 API](https://developer.breezy.hr/reference/overview). We automatically authenticate all requests and use \"https://api.breezy.hr/v3/\" as the base URL.| |Bullhorn for Salesforce|`bullhorn4salesforce/v66`|We use `https://\{subdomain\}.my.salesforce.com/services/data/v66.0` as the base URL. Find the official docs [here](https://kb.bullhorn.com/bh4sf/Content/BH4SF/Topics/bh4sfRestAPI.htm).| |Bullhorn|`bullhorn/default`|[Bullhorn's API](https://bullhorn.github.io/rest-api-docs/index.html). We automatically use the right `https://\{subdomain\}.bullhornstaffing.com/rest-services/\{corpToken\}` base URL.| @@ -423,7 +424,7 @@ def send_passthrough_request( |Carerix|`carerix/api`|Carerix [REST API](https://docs.carerix.io/rest/introduction). We automatically authenticate all requests and use `https://api.carerix.com` as the base URL. Please note that Carerix uses XML for request and response bodies.| |Carerix|`carerixgraphql/graphql`|Carerix [GraphQL API](https://docs.carerix.io/graphql/welcome). We automatically authenticate all requests (OAuth2 client credentials) and use `https://api.carerix.io/graphql/v1` as the base URL. Send GraphQL requests as `POST /graphql` with a JSON body of `\{ \"query\": \"...\", \"variables\": \{ ... \} \}`.| |CEGID TalentSoft Customer|`talentsoftcustomer/v1`|Cegid Talentsoft Recruiting FrontOffice API: [API Documentation](https://developers.cegid.com/api-details#api=cegid-talentsoft-recruiting-frontoffice) We automatically authenticate all requests and use `https://\{customer_subdomain\}.talent-soft.com/api/v1` as the base URL.| - |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://developers.cegid.com/api-details). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.| + |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://cegid-hr-developers.talentsoft.net/docs/Talentsoft%20Recrutement/frontoffice/). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.| |Ceipal|`ceipal/v1`|We use `https://api.ceipal.com/v1` as the base URL. Find the official docs [here](https://developer.ceipal.com/ceipal-ats-version-one/ceipal-ats-v1-api-reference).| |Cezanne HR|`cezannehr/dataservice`|[CezanneHR's v7 dataservice API](https://api.cezannehr.com/).We automatically authenticate all requests and use the base URL `https://\{subdomain\}.cezanneondemand.com/cezanneondemand/v7/dataservice.svc`| |Compleet (Persy)|`compleetpersy/api`|Compleet Persy [REST API](https://persy-api.refined.site/space/PAPI/450166808/Requirements+Jobfeed+%2F+Anforderungen+f%C3%BCr+Jobfeeds). We automatically authenticate all requests and use `https://www.germanpersonnel.de/persy/api/v1` as the base URL.| @@ -483,7 +484,7 @@ def send_passthrough_request( |Heyrecruit|`heyrecruit/v2`|[Heyrecruit's v2 API](https://documenter.getpostman.com/view/23241256/2s9YysBLcf#47e271ac-47c8-4c75-9cc6-b8c506e9dad6). We automatically authenticate all requests using the client ID and secret and use `https://app.heyrecruit.de/api/v2` as the base URL.| |HiBob|`hibob/docs`|This passthrough is only used for fetching employee documents in HiBob. It is present as a workaround while we are working on a new endpoint for fetching documents in HRIS. It should not be used for any other purpose. We automatically authenticate all requests using the service user credentials and use `https://app.hibob.com/api/docs/employees/` as the base URL.| |HiBob|`hibob/hire`|[HiBob's Hire API](https://apidocs.hibob.com/docs/how-to-integrate-with-ats-hire-api). We automatically authenticate all requests using the hire service user credentials. The base URL is configured during the integration setup.| - |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| + |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people), including the [hiring endpoints](https://apidocs.hibob.com/docs/explore-hiring-api). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| |HoorayHR|`hoorayhr/api`|[HoorayHR API](https://api.hoorayhr.io/documentation/). We automatically authenticate all requests and use `https://api.hoorayhr.io` as the base URL.| |HR Office|`hroffice/soap`|[HROffice SOAP API](https://api.hroffice.nl/HROfficeCoreService.asmx). We automatically authenticate all requests and wrap them in a SOAP envelope. Build the request `Body` with the raw XML parameters for your operation (e.g., `\1\`). Use `/` as your `path`. Set your `method` to `POST`. You need to specify the `api_options` object and set `operation_name` to the SOAP operation you want to call (e.g., `GetAllJobByLanguage`).| |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.| @@ -550,6 +551,7 @@ def send_passthrough_request( |PeopleXD|`peoplexd/b2b`|PeopleXD's [B2B API](https://documenter.getpostman.com/view/3101638/TzeTHUDu#intro). We automatically authenticate all requests and use `https://api.corehr.com/ws/\{tenant_id\}/corehr` or `https://uatapi.corehr.com/ws/\{tenant_id\}/corehr` as the base URL.| |Personio|`personio/jobboard`|API endpoints exposed on Personio's public job board pages ([currently just the XML feed](https://developer.personio.de/reference/get_xml)). We automatically use the right `https://\{company\}.jobs.personio.de` base URL.| |Personio|`personio/personnel`|Personio's [Personnel Data API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v1` as the base URL.| + |Personio|`personio/personnelv2`|Personio's [V2 Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Personio|`personio/personnelv2`|Personio's [V2 Personnel Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Personio|`personio/recruiting`|Personio's [Recruiting API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the Recruiting access token and use `https://api.personio.de/v1/recruiting` as the base URL.| |Personio|`personio/recruitingV2`|Personio's [V2 Recruiting API](https://developer.personio.de/reference/get_v2-recruiting-applications). We automatically authenticate all requests using the Recruiting access token, send the `Beta` header and use `https://api.personio.de/v2/recruiting` as the base URL.| @@ -578,6 +580,7 @@ def send_passthrough_request( |Softgarden|`softgarden/frontend-v3`|[Softgarden's Frontend API v3](https://dev.softgarden.de/frontend-v3/. We automatically authenticate all requests and use 'https://api.softgarden.io/api/rest' as base URL.| |Spark Hire Recruit|`comeet/api`|[Spark Hire Recruit's API.](https://developers.comeet.com/reference/recruiting-api-overview)We automatically authenticate all requests and use `https://api.comeet.com` as the base URL.| |Spott|`spott/protected`|The [Spott API](https://docs.gospott.com). We automatically authenticate all requests and use `https://api.gospott.com` as the base URL.| + |Stardex|`stardex/v1`|We use `https://api.stardex.ai` as the base URL. Find the official docs [here](https://docs.stardex.com/api-reference/introduction-v1).| |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.| |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.| |Talent360|`talent360/v3`|We use `https://api.talent360.io/V3` as the base URL. Find the official docs [here](https://api-doc.talent360.io/).| @@ -775,6 +778,7 @@ async def send_passthrough_request_async( |BambooHR|`bamboohr/v1`|BambooHR's [API](https://documentation.bamboohr.com/reference/get-employee). We automatically authenticate all requests using the customer credentials `https://api.bamboohr.com/api/gateway.php/\{subdomain\}/v1` as the base URL.| |BITE|`bite/v1`|[Bite's v1 API](https://api.b-ite.io/docs/#/). We automatically authenticate all requests and use your configured API base URL with `/v1` appended (default `https://api.b-ite.io/v1`).| |BoondManager|`boondmanager/api`|BoondManager [REST API](https://ui.boondmanager.com/administrator/developer/apisandbox). We automatically authenticate all requests and use `https://ui.boondmanager.com/api` as the base URL.| + |Breathe HR|`breathehr/v1`|Breathe HR's [API](https://developer.breathehr.com/). We automatically authenticate all requests and use `https://api.breathehr.com/v1` as the base URL.| |Breezy HR|`breezyhr/v3`|[BreezyHR's v3 API](https://developer.breezy.hr/reference/overview). We automatically authenticate all requests and use \"https://api.breezy.hr/v3/\" as the base URL.| |Bullhorn for Salesforce|`bullhorn4salesforce/v66`|We use `https://\{subdomain\}.my.salesforce.com/services/data/v66.0` as the base URL. Find the official docs [here](https://kb.bullhorn.com/bh4sf/Content/BH4SF/Topics/bh4sfRestAPI.htm).| |Bullhorn|`bullhorn/default`|[Bullhorn's API](https://bullhorn.github.io/rest-api-docs/index.html). We automatically use the right `https://\{subdomain\}.bullhornstaffing.com/rest-services/\{corpToken\}` base URL.| @@ -782,7 +786,7 @@ async def send_passthrough_request_async( |Carerix|`carerix/api`|Carerix [REST API](https://docs.carerix.io/rest/introduction). We automatically authenticate all requests and use `https://api.carerix.com` as the base URL. Please note that Carerix uses XML for request and response bodies.| |Carerix|`carerixgraphql/graphql`|Carerix [GraphQL API](https://docs.carerix.io/graphql/welcome). We automatically authenticate all requests (OAuth2 client credentials) and use `https://api.carerix.io/graphql/v1` as the base URL. Send GraphQL requests as `POST /graphql` with a JSON body of `\{ \"query\": \"...\", \"variables\": \{ ... \} \}`.| |CEGID TalentSoft Customer|`talentsoftcustomer/v1`|Cegid Talentsoft Recruiting FrontOffice API: [API Documentation](https://developers.cegid.com/api-details#api=cegid-talentsoft-recruiting-frontoffice) We automatically authenticate all requests and use `https://\{customer_subdomain\}.talent-soft.com/api/v1` as the base URL.| - |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://developers.cegid.com/api-details). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.| + |CEGID TalentSoft FrontOffice|`talentsoft/v2`|Cegid Talentsoft Recruiting FrontOffice [API](https://cegid-hr-developers.talentsoft.net/docs/Talentsoft%20Recrutement/frontoffice/). We automatically authenticate all requests using the provided credentials and use `https://\{domain\}/api/v2` as the base URL.| |Ceipal|`ceipal/v1`|We use `https://api.ceipal.com/v1` as the base URL. Find the official docs [here](https://developer.ceipal.com/ceipal-ats-version-one/ceipal-ats-v1-api-reference).| |Cezanne HR|`cezannehr/dataservice`|[CezanneHR's v7 dataservice API](https://api.cezannehr.com/).We automatically authenticate all requests and use the base URL `https://\{subdomain\}.cezanneondemand.com/cezanneondemand/v7/dataservice.svc`| |Compleet (Persy)|`compleetpersy/api`|Compleet Persy [REST API](https://persy-api.refined.site/space/PAPI/450166808/Requirements+Jobfeed+%2F+Anforderungen+f%C3%BCr+Jobfeeds). We automatically authenticate all requests and use `https://www.germanpersonnel.de/persy/api/v1` as the base URL.| @@ -842,7 +846,7 @@ async def send_passthrough_request_async( |Heyrecruit|`heyrecruit/v2`|[Heyrecruit's v2 API](https://documenter.getpostman.com/view/23241256/2s9YysBLcf#47e271ac-47c8-4c75-9cc6-b8c506e9dad6). We automatically authenticate all requests using the client ID and secret and use `https://app.heyrecruit.de/api/v2` as the base URL.| |HiBob|`hibob/docs`|This passthrough is only used for fetching employee documents in HiBob. It is present as a workaround while we are working on a new endpoint for fetching documents in HRIS. It should not be used for any other purpose. We automatically authenticate all requests using the service user credentials and use `https://app.hibob.com/api/docs/employees/` as the base URL.| |HiBob|`hibob/hire`|[HiBob's Hire API](https://apidocs.hibob.com/docs/how-to-integrate-with-ats-hire-api). We automatically authenticate all requests using the hire service user credentials. The base URL is configured during the integration setup.| - |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| + |HiBob|`hibob/v1`|[HiBob's v1 API](https://apidocs.hibob.com/reference/get_people), including the [hiring endpoints](https://apidocs.hibob.com/docs/explore-hiring-api). We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use `https://api.hibob.com/v1` as the base URL.| |HoorayHR|`hoorayhr/api`|[HoorayHR API](https://api.hoorayhr.io/documentation/). We automatically authenticate all requests and use `https://api.hoorayhr.io` as the base URL.| |HR Office|`hroffice/soap`|[HROffice SOAP API](https://api.hroffice.nl/HROfficeCoreService.asmx). We automatically authenticate all requests and wrap them in a SOAP envelope. Build the request `Body` with the raw XML parameters for your operation (e.g., `\1\`). Use `/` as your `path`. Set your `method` to `POST`. You need to specify the `api_options` object and set `operation_name` to the SOAP operation you want to call (e.g., `GetAllJobByLanguage`).| |HR WORKS|`hrworks/v2`|HRWorks's v2 [API](https://developers.hrworks.de/2.0/endpoints). We automatically authenticate all requests using the customer credentials.| @@ -909,6 +913,7 @@ async def send_passthrough_request_async( |PeopleXD|`peoplexd/b2b`|PeopleXD's [B2B API](https://documenter.getpostman.com/view/3101638/TzeTHUDu#intro). We automatically authenticate all requests and use `https://api.corehr.com/ws/\{tenant_id\}/corehr` or `https://uatapi.corehr.com/ws/\{tenant_id\}/corehr` as the base URL.| |Personio|`personio/jobboard`|API endpoints exposed on Personio's public job board pages ([currently just the XML feed](https://developer.personio.de/reference/get_xml)). We automatically use the right `https://\{company\}.jobs.personio.de` base URL.| |Personio|`personio/personnel`|Personio's [Personnel Data API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v1` as the base URL.| + |Personio|`personio/personnelv2`|Personio's [V2 Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Personio|`personio/personnelv2`|Personio's [V2 Personnel Data API](https://developer.personio.de/v2.0/reference/introduction). We automatically authenticate all requests using the client ID and secret and use `https://api.personio.de/v2` as the base URL.| |Personio|`personio/recruiting`|Personio's [Recruiting API](https://developer.personio.de/reference/get_company-employees). We automatically authenticate all requests using the Recruiting access token and use `https://api.personio.de/v1/recruiting` as the base URL.| |Personio|`personio/recruitingV2`|Personio's [V2 Recruiting API](https://developer.personio.de/reference/get_v2-recruiting-applications). We automatically authenticate all requests using the Recruiting access token, send the `Beta` header and use `https://api.personio.de/v2/recruiting` as the base URL.| @@ -937,6 +942,7 @@ async def send_passthrough_request_async( |Softgarden|`softgarden/frontend-v3`|[Softgarden's Frontend API v3](https://dev.softgarden.de/frontend-v3/. We automatically authenticate all requests and use 'https://api.softgarden.io/api/rest' as base URL.| |Spark Hire Recruit|`comeet/api`|[Spark Hire Recruit's API.](https://developers.comeet.com/reference/recruiting-api-overview)We automatically authenticate all requests and use `https://api.comeet.com` as the base URL.| |Spott|`spott/protected`|The [Spott API](https://docs.gospott.com). We automatically authenticate all requests and use `https://api.gospott.com` as the base URL.| + |Stardex|`stardex/v1`|We use `https://api.stardex.ai` as the base URL. Find the official docs [here](https://docs.stardex.com/api-reference/introduction-v1).| |Sympa|`sympa/api`|Sympa's [API](https://documenter.getpostman.com/view/33639379/2sA3kXG1vX#intro). We automatically authenticate all requests and use `https://api.sympahr.net/api/` as the base URL.| |Taleez|`taleez/0`|[Taleez's API](https://api.taleez.com/swagger-ui/index.html). We automatically authenticate all requests and use `https://api.taleez.com/0` as the base URL.| |Talent360|`talent360/v3`|We use `https://api.talent360.io/V3` as the base URL. Find the official docs [here](https://api-doc.talent360.io/).| diff --git a/src/kombo/models/__init__.py b/src/kombo/models/__init__.py index be79094f..34034495 100644 --- a/src/kombo/models/__init__.py +++ b/src/kombo/models/__init__.py @@ -989,6 +989,8 @@ from .gethrispayslipspositiveresponse import ( Amount, AmountTypedDict, + AmountYtd, + AmountYtdTypedDict, Employee, EmployeeTypedDict, GetHrisPayslipsPositiveResponse, @@ -1005,8 +1007,16 @@ GetHrisPayslipsPositiveResponseTotals, GetHrisPayslipsPositiveResponseTotalsTypedDict, GetHrisPayslipsPositiveResponseTypedDict, + GrossPayYtd, + GrossPayYtdTypedDict, LineItem, LineItemTypedDict, + NetPayYtd, + NetPayYtdTypedDict, + PaidAmountYtd, + PaidAmountYtdTypedDict, + PayCode, + PayCodeTypedDict, PayRun, PayRunTypedDict, ) @@ -1474,6 +1484,8 @@ PostAtsApplicationsApplicationIDResultLinksRequestBodyRemoteFieldsTypedDict, PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360, PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360TypedDict, + PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit, + PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffitTypedDict, PostAtsApplicationsApplicationIDResultLinksRequestBodyTypedDict, PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkable, PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkableTypedDict, @@ -1540,6 +1552,8 @@ PostAtsCandidatesCandidateIDResultLinksRequestBodyRemoteFieldsTypedDict, PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360, PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360TypedDict, + PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit, + PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffitTypedDict, PostAtsCandidatesCandidateIDResultLinksRequestBodyTypedDict, PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkable, PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkableTypedDict, @@ -1653,6 +1667,8 @@ PostAtsCandidatesRequestBodyExperienceDatumTypedDict, PostAtsCandidatesRequestBodyFieldOfStudyReference, PostAtsCandidatesRequestBodyFieldOfStudyReferenceTypedDict, + PostAtsCandidatesRequestBodyFountain, + PostAtsCandidatesRequestBodyFountainTypedDict, PostAtsCandidatesRequestBodyGdprConsent, PostAtsCandidatesRequestBodyGdprConsentTypedDict, PostAtsCandidatesRequestBodyGender, @@ -1966,6 +1982,8 @@ PostAtsJobsJobIDApplicationsRequestBodyExperienceDatumTypedDict, PostAtsJobsJobIDApplicationsRequestBodyFieldOfStudyReference, PostAtsJobsJobIDApplicationsRequestBodyFieldOfStudyReferenceTypedDict, + PostAtsJobsJobIDApplicationsRequestBodyFountain, + PostAtsJobsJobIDApplicationsRequestBodyFountainTypedDict, PostAtsJobsJobIDApplicationsRequestBodyGdprConsent, PostAtsJobsJobIDApplicationsRequestBodyGdprConsentTypedDict, PostAtsJobsJobIDApplicationsRequestBodyGender, @@ -2418,6 +2436,8 @@ "A3innuvanominaTypedDict", "Amount", "AmountTypedDict", + "AmountYtd", + "AmountYtdTypedDict", "AssessCandidateData", "AssessCandidateDataTypedDict", "AssessCandidateTestResultData", @@ -3281,6 +3301,8 @@ "GetToolsCategoryPositiveResponseWriteActionTypedDict", "GetToolsCategoryRequest", "GetToolsCategoryRequestTypedDict", + "GrossPayYtd", + "GrossPayYtdTypedDict", "Headers", "HeadersTypedDict", "HomeAddress", @@ -3376,11 +3398,15 @@ "MultipartFormDatum", "MultipartFormDatumTypedDict", "Name", + "NetPayYtd", + "NetPayYtdTypedDict", "Offer", "OfferStatus", "OfferTypedDict", "OrderedOption", "OrderedOptionTypedDict", + "PaidAmountYtd", + "PaidAmountYtdTypedDict", "PatchIntegrationsIntegrationIDIntegrationFieldsIntegrationFieldIDPositiveResponse", "PatchIntegrationsIntegrationIDIntegrationFieldsIntegrationFieldIDPositiveResponseData", "PatchIntegrationsIntegrationIDIntegrationFieldsIntegrationFieldIDPositiveResponseDataTypedDict", @@ -3390,6 +3416,8 @@ "PatchIntegrationsIntegrationIDIntegrationFieldsIntegrationFieldIDRequestBody", "PatchIntegrationsIntegrationIDIntegrationFieldsIntegrationFieldIDRequestBodyTypedDict", "PatchIntegrationsIntegrationIDIntegrationFieldsIntegrationFieldIDRequestTypedDict", + "PayCode", + "PayCodeTypedDict", "PayRun", "PayRunTypedDict", "PostAtsApplicationsApplicationIDAttachmentsGlobals", @@ -3502,6 +3530,8 @@ "PostAtsApplicationsApplicationIDResultLinksRequestBodyRemoteFieldsTypedDict", "PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360", "PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360TypedDict", + "PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit", + "PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffitTypedDict", "PostAtsApplicationsApplicationIDResultLinksRequestBodyTypedDict", "PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkable", "PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkableTypedDict", @@ -3556,6 +3586,8 @@ "PostAtsCandidatesCandidateIDResultLinksRequestBodyRemoteFieldsTypedDict", "PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360", "PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360TypedDict", + "PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit", + "PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffitTypedDict", "PostAtsCandidatesCandidateIDResultLinksRequestBodyTypedDict", "PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkable", "PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkableTypedDict", @@ -3658,6 +3690,8 @@ "PostAtsCandidatesRequestBodyExperienceDatumTypedDict", "PostAtsCandidatesRequestBodyFieldOfStudyReference", "PostAtsCandidatesRequestBodyFieldOfStudyReferenceTypedDict", + "PostAtsCandidatesRequestBodyFountain", + "PostAtsCandidatesRequestBodyFountainTypedDict", "PostAtsCandidatesRequestBodyGdprConsent", "PostAtsCandidatesRequestBodyGdprConsentTypedDict", "PostAtsCandidatesRequestBodyGender", @@ -3956,6 +3990,8 @@ "PostAtsJobsJobIDApplicationsRequestBodyExperienceDatumTypedDict", "PostAtsJobsJobIDApplicationsRequestBodyFieldOfStudyReference", "PostAtsJobsJobIDApplicationsRequestBodyFieldOfStudyReferenceTypedDict", + "PostAtsJobsJobIDApplicationsRequestBodyFountain", + "PostAtsJobsJobIDApplicationsRequestBodyFountainTypedDict", "PostAtsJobsJobIDApplicationsRequestBodyGdprConsent", "PostAtsJobsJobIDApplicationsRequestBodyGdprConsentTypedDict", "PostAtsJobsJobIDApplicationsRequestBodyGender", @@ -5202,6 +5238,8 @@ "GetHrisPayslipsResponseTypedDict": ".gethrispayslipsop", "Amount": ".gethrispayslipspositiveresponse", "AmountTypedDict": ".gethrispayslipspositiveresponse", + "AmountYtd": ".gethrispayslipspositiveresponse", + "AmountYtdTypedDict": ".gethrispayslipspositiveresponse", "Employee": ".gethrispayslipspositiveresponse", "EmployeeTypedDict": ".gethrispayslipspositiveresponse", "GetHrisPayslipsPositiveResponse": ".gethrispayslipspositiveresponse", @@ -5218,8 +5256,16 @@ "GetHrisPayslipsPositiveResponseTotals": ".gethrispayslipspositiveresponse", "GetHrisPayslipsPositiveResponseTotalsTypedDict": ".gethrispayslipspositiveresponse", "GetHrisPayslipsPositiveResponseTypedDict": ".gethrispayslipspositiveresponse", + "GrossPayYtd": ".gethrispayslipspositiveresponse", + "GrossPayYtdTypedDict": ".gethrispayslipspositiveresponse", "LineItem": ".gethrispayslipspositiveresponse", "LineItemTypedDict": ".gethrispayslipspositiveresponse", + "NetPayYtd": ".gethrispayslipspositiveresponse", + "NetPayYtdTypedDict": ".gethrispayslipspositiveresponse", + "PaidAmountYtd": ".gethrispayslipspositiveresponse", + "PaidAmountYtdTypedDict": ".gethrispayslipspositiveresponse", + "PayCode": ".gethrispayslipspositiveresponse", + "PayCodeTypedDict": ".gethrispayslipspositiveresponse", "PayRun": ".gethrispayslipspositiveresponse", "PayRunTypedDict": ".gethrispayslipspositiveresponse", "GetHrisPerformanceReviewCyclesGlobals": ".gethrisperformancereviewcyclesop", @@ -5605,6 +5651,8 @@ "PostAtsApplicationsApplicationIDResultLinksRequestBodyRemoteFieldsTypedDict": ".postatsapplicationsapplicationidresultlinksrequestbody", "PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360": ".postatsapplicationsapplicationidresultlinksrequestbody", "PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360TypedDict": ".postatsapplicationsapplicationidresultlinksrequestbody", + "PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit": ".postatsapplicationsapplicationidresultlinksrequestbody", + "PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffitTypedDict": ".postatsapplicationsapplicationidresultlinksrequestbody", "PostAtsApplicationsApplicationIDResultLinksRequestBodyTypedDict": ".postatsapplicationsapplicationidresultlinksrequestbody", "PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkable": ".postatsapplicationsapplicationidresultlinksrequestbody", "PostAtsApplicationsApplicationIDResultLinksRequestBodyWorkableTypedDict": ".postatsapplicationsapplicationidresultlinksrequestbody", @@ -5659,6 +5707,8 @@ "PostAtsCandidatesCandidateIDResultLinksRequestBodyRemoteFieldsTypedDict": ".postatscandidatescandidateidresultlinksrequestbody", "PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360": ".postatscandidatescandidateidresultlinksrequestbody", "PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360TypedDict": ".postatscandidatescandidateidresultlinksrequestbody", + "PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit": ".postatscandidatescandidateidresultlinksrequestbody", + "PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffitTypedDict": ".postatscandidatescandidateidresultlinksrequestbody", "PostAtsCandidatesCandidateIDResultLinksRequestBodyTypedDict": ".postatscandidatescandidateidresultlinksrequestbody", "PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkable": ".postatscandidatescandidateidresultlinksrequestbody", "PostAtsCandidatesCandidateIDResultLinksRequestBodyWorkableTypedDict": ".postatscandidatescandidateidresultlinksrequestbody", @@ -5760,6 +5810,8 @@ "PostAtsCandidatesRequestBodyExperienceDatumTypedDict": ".postatscandidatesrequestbody", "PostAtsCandidatesRequestBodyFieldOfStudyReference": ".postatscandidatesrequestbody", "PostAtsCandidatesRequestBodyFieldOfStudyReferenceTypedDict": ".postatscandidatesrequestbody", + "PostAtsCandidatesRequestBodyFountain": ".postatscandidatesrequestbody", + "PostAtsCandidatesRequestBodyFountainTypedDict": ".postatscandidatesrequestbody", "PostAtsCandidatesRequestBodyGdprConsent": ".postatscandidatesrequestbody", "PostAtsCandidatesRequestBodyGdprConsentTypedDict": ".postatscandidatesrequestbody", "PostAtsCandidatesRequestBodyGender": ".postatscandidatesrequestbody", @@ -6061,6 +6113,8 @@ "PostAtsJobsJobIDApplicationsRequestBodyExperienceDatumTypedDict": ".postatsjobsjobidapplicationsrequestbody", "PostAtsJobsJobIDApplicationsRequestBodyFieldOfStudyReference": ".postatsjobsjobidapplicationsrequestbody", "PostAtsJobsJobIDApplicationsRequestBodyFieldOfStudyReferenceTypedDict": ".postatsjobsjobidapplicationsrequestbody", + "PostAtsJobsJobIDApplicationsRequestBodyFountain": ".postatsjobsjobidapplicationsrequestbody", + "PostAtsJobsJobIDApplicationsRequestBodyFountainTypedDict": ".postatsjobsjobidapplicationsrequestbody", "PostAtsJobsJobIDApplicationsRequestBodyGdprConsent": ".postatsjobsjobidapplicationsrequestbody", "PostAtsJobsJobIDApplicationsRequestBodyGdprConsentTypedDict": ".postatsjobsjobidapplicationsrequestbody", "PostAtsJobsJobIDApplicationsRequestBodyGender": ".postatsjobsjobidapplicationsrequestbody", diff --git a/src/kombo/models/gethrispayslipspositiveresponse.py b/src/kombo/models/gethrispayslipspositiveresponse.py index 654a8394..eb7205c8 100644 --- a/src/kombo/models/gethrispayslipspositiveresponse.py +++ b/src/kombo/models/gethrispayslipspositiveresponse.py @@ -7,7 +7,7 @@ import pydantic from pydantic import model_serializer from pydantic.functional_validators import AfterValidator -from typing import List, Literal +from typing import Any, Dict, List, Literal from typing_extensions import Annotated, NotRequired, TypedDict @@ -68,6 +68,63 @@ class GetHrisPayslipsPositiveResponsePaidAmount(BaseModel): r"""The monetary value.""" +class GrossPayYtdTypedDict(TypedDict): + r"""The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + value: float + r"""The monetary value.""" + + +class GrossPayYtd(BaseModel): + r"""The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + + value: float + r"""The monetary value.""" + + +class NetPayYtdTypedDict(TypedDict): + r"""The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + value: float + r"""The monetary value.""" + + +class NetPayYtd(BaseModel): + r"""The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + + value: float + r"""The monetary value.""" + + +class PaidAmountYtdTypedDict(TypedDict): + r"""The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + value: float + r"""The monetary value.""" + + +class PaidAmountYtd(BaseModel): + r"""The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + + value: float + r"""The monetary value.""" + + class GetHrisPayslipsPositiveResponseTotalsTypedDict(TypedDict): gross_pay: NotRequired[Nullable[GetHrisPayslipsPositiveResponseGrossPayTypedDict]] r"""The total gross pay for the payslip, before taxes and after gross deductions.""" @@ -77,6 +134,12 @@ class GetHrisPayslipsPositiveResponseTotalsTypedDict(TypedDict): Nullable[GetHrisPayslipsPositiveResponsePaidAmountTypedDict] ] r"""The amount of the payslip that was actually paid out to the employee. This value accounts for net earnings and deductions.""" + gross_pay_ytd: NotRequired[Nullable[GrossPayYtdTypedDict]] + r"""The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + net_pay_ytd: NotRequired[Nullable[NetPayYtdTypedDict]] + r"""The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + paid_amount_ytd: NotRequired[Nullable[PaidAmountYtdTypedDict]] + r"""The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" class GetHrisPayslipsPositiveResponseTotals(BaseModel): @@ -89,10 +152,37 @@ class GetHrisPayslipsPositiveResponseTotals(BaseModel): paid_amount: OptionalNullable[GetHrisPayslipsPositiveResponsePaidAmount] = UNSET r"""The amount of the payslip that was actually paid out to the employee. This value accounts for net earnings and deductions.""" + gross_pay_ytd: OptionalNullable[GrossPayYtd] = UNSET + r"""The year-to-date gross pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + net_pay_ytd: OptionalNullable[NetPayYtd] = UNSET + r"""The year-to-date net pay as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + paid_amount_ytd: OptionalNullable[PaidAmountYtd] = UNSET + r"""The year-to-date paid amount as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["gross_pay", "net_pay", "paid_amount"]) - nullable_fields = set(["gross_pay", "net_pay", "paid_amount"]) + optional_fields = set( + [ + "gross_pay", + "net_pay", + "paid_amount", + "gross_pay_ytd", + "net_pay_ytd", + "paid_amount_ytd", + ] + ) + nullable_fields = set( + [ + "gross_pay", + "net_pay", + "paid_amount", + "gross_pay_ytd", + "net_pay_ytd", + "paid_amount_ytd", + ] + ) serialized = handler(self) m = {} @@ -244,6 +334,39 @@ def serialize_model(self, handler): return m +class PayCodeTypedDict(TypedDict): + r"""The pay code (salary type) this line item belongs to in the remote system.""" + + remote_id: str + r"""The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.""" + remote_label: Nullable[str] + r"""The name of the salary type as it appears in the remote system.""" + + +class PayCode(BaseModel): + r"""The pay code (salary type) this line item belongs to in the remote system.""" + + remote_id: str + r"""The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.""" + + remote_label: Nullable[str] + r"""The name of the salary type as it appears in the remote system.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + m[k] = val + + return m + + class AmountTypedDict(TypedDict): r"""The amount of the line item.""" @@ -263,6 +386,25 @@ class Amount(BaseModel): r"""The monetary value.""" +class AmountYtdTypedDict(TypedDict): + r"""The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + value: float + r"""The monetary value.""" + + +class AmountYtd(BaseModel): + r"""The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + + currency: str + r"""The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.""" + + value: float + r"""The monetary value.""" + + class LineItemTypedDict(TypedDict): id: str r"""The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing. For some integrations, this ID can still change if the payslip is edited.""" @@ -270,8 +412,14 @@ class LineItemTypedDict(TypedDict): r"""The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key. This value may include the item's position on the payslip, which can change if the payslip is edited.""" name: Nullable[str] r"""The name of the salary type.""" + pay_code: PayCodeTypedDict + r"""The pay code (salary type) this line item belongs to in the remote system.""" + custom_fields: Nullable[Dict[str, Any]] + r"""A key-value store of fields not covered by the schema. [Read more](/custom-fields)""" amount: NotRequired[Nullable[AmountTypedDict]] r"""The amount of the line item.""" + amount_ytd: NotRequired[Nullable[AmountYtdTypedDict]] + r"""The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" class LineItem(BaseModel): @@ -284,13 +432,22 @@ class LineItem(BaseModel): name: Nullable[str] r"""The name of the salary type.""" + pay_code: PayCode + r"""The pay code (salary type) this line item belongs to in the remote system.""" + + custom_fields: Nullable[Dict[str, Any]] + r"""A key-value store of fields not covered by the schema. [Read more](/custom-fields)""" + amount: OptionalNullable[Amount] = UNSET r"""The amount of the line item.""" + amount_ytd: OptionalNullable[AmountYtd] = UNSET + r"""The year-to-date amount of the line item as returned by the remote system. Kombo never calculates this value. `null` when the remote API does not provide a year-to-date amount.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["amount"]) - nullable_fields = set(["name", "amount"]) + optional_fields = set(["amount", "amount_ytd"]) + nullable_fields = set(["name", "amount", "amount_ytd", "custom_fields"]) serialized = handler(self) m = {} @@ -318,6 +475,8 @@ class GetHrisPayslipsPositiveResponseResultTypedDict(TypedDict): r"""The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.""" remote_id: str r"""The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.""" + custom_fields: Nullable[Dict[str, Any]] + r"""A key-value store of fields not covered by the schema. [Read more](/custom-fields)""" changed_at: datetime r"""The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString @@ -342,6 +501,9 @@ class GetHrisPayslipsPositiveResponseResult(BaseModel): remote_id: str r"""The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.""" + custom_fields: Nullable[Dict[str, Any]] + r"""A key-value store of fields not covered by the schema. [Read more](/custom-fields)""" + changed_at: datetime r"""The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString diff --git a/src/kombo/models/postatsapplicationsapplicationidnotesrequestbody.py b/src/kombo/models/postatsapplicationsapplicationidnotesrequestbody.py index 3571cbdd..9912af79 100644 --- a/src/kombo/models/postatsapplicationsapplicationidnotesrequestbody.py +++ b/src/kombo/models/postatsapplicationsapplicationidnotesrequestbody.py @@ -401,6 +401,8 @@ class PostAtsApplicationsApplicationIDNotesRequestBodyTypedDict(TypedDict): r"""UTF-8 content of the note.""" content_type: ContentType r"""Content type of the note. Currently only `PLAIN_TEXT` is supported.""" + title: NotRequired[str] + r"""Title of the note, often called \"subject\" in the ATS. Only some ATSs support note titles, and the others ignore this field.""" remote_fields: NotRequired[ PostAtsApplicationsApplicationIDNotesRequestBodyRemoteFieldsTypedDict ] @@ -414,6 +416,9 @@ class PostAtsApplicationsApplicationIDNotesRequestBody(BaseModel): content_type: ContentType r"""Content type of the note. Currently only `PLAIN_TEXT` is supported.""" + title: Optional[str] = None + r"""Title of the note, often called \"subject\" in the ATS. Only some ATSs support note titles, and the others ignore this field.""" + remote_fields: Optional[ PostAtsApplicationsApplicationIDNotesRequestBodyRemoteFields ] = None @@ -421,7 +426,7 @@ class PostAtsApplicationsApplicationIDNotesRequestBody(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["remote_fields"]) + optional_fields = set(["title", "remote_fields"]) serialized = handler(self) m = {} diff --git a/src/kombo/models/postatsapplicationsapplicationidresultlinksrequestbody.py b/src/kombo/models/postatsapplicationsapplicationidresultlinksrequestbody.py index 43d46424..709558ee 100644 --- a/src/kombo/models/postatsapplicationsapplicationidresultlinksrequestbody.py +++ b/src/kombo/models/postatsapplicationsapplicationidresultlinksrequestbody.py @@ -4,7 +4,7 @@ from kombo.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL import pydantic from pydantic import model_serializer -from typing import List, Literal, Optional +from typing import Any, Dict, List, Literal, Optional from typing_extensions import Annotated, NotRequired, TypedDict @@ -148,6 +148,36 @@ class PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360(BaseModel) r"""Talent360 user ID the result-link note is attributed to. Required because every Talent360 communication must be attributed to a user.""" +class PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffitTypedDict(TypedDict): + r"""Fields specific to Traffit.""" + + candidate: NotRequired[Dict[str, Any]] + r"""Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ \"_Assessment_Score\": \"5\" }`. The field must be available via integration in Traffit.""" + + +class PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit(BaseModel): + r"""Fields specific to Traffit.""" + + candidate: Optional[Dict[str, Any]] = None + r"""Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ \"_Assessment_Score\": \"5\" }`. The field must be available via integration in Traffit.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["candidate"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class PostAtsApplicationsApplicationIDResultLinksRequestBodyPostHeadersTypedDict( TypedDict ): @@ -276,6 +306,10 @@ class PostAtsApplicationsApplicationIDResultLinksRequestBodyRemoteFieldsTypedDic PostAtsApplicationsApplicationIDResultLinksRequestBodyTalent360TypedDict ] r"""Talent360 specific remote fields for the result link.""" + traffit: NotRequired[ + PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffitTypedDict + ] + r"""Fields specific to Traffit.""" greenhouse: NotRequired[ PostAtsApplicationsApplicationIDResultLinksRequestBodyGreenhouseTypedDict ] @@ -302,6 +336,11 @@ class PostAtsApplicationsApplicationIDResultLinksRequestBodyRemoteFields(BaseMod ] = None r"""Talent360 specific remote fields for the result link.""" + traffit: Optional[PostAtsApplicationsApplicationIDResultLinksRequestBodyTraffit] = ( + None + ) + r"""Fields specific to Traffit.""" + greenhouse: Optional[ PostAtsApplicationsApplicationIDResultLinksRequestBodyGreenhouse ] = None @@ -315,7 +354,7 @@ class PostAtsApplicationsApplicationIDResultLinksRequestBodyRemoteFields(BaseMod @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["icims", "oracle", "talent360", "greenhouse", "workable"] + ["icims", "oracle", "talent360", "traffit", "greenhouse", "workable"] ) serialized = handler(self) m = {} diff --git a/src/kombo/models/postatscandidatescandidateidresultlinksrequestbody.py b/src/kombo/models/postatscandidatescandidateidresultlinksrequestbody.py index f803c99b..401382ea 100644 --- a/src/kombo/models/postatscandidatescandidateidresultlinksrequestbody.py +++ b/src/kombo/models/postatscandidatescandidateidresultlinksrequestbody.py @@ -4,7 +4,7 @@ from kombo.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL import pydantic from pydantic import model_serializer -from typing import List, Literal, Optional +from typing import Any, Dict, List, Literal, Optional from typing_extensions import Annotated, NotRequired, TypedDict @@ -142,6 +142,36 @@ class PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360(BaseModel): r"""Talent360 user ID the result-link note is attributed to. Required because every Talent360 communication must be attributed to a user.""" +class PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffitTypedDict(TypedDict): + r"""Fields specific to Traffit.""" + + candidate: NotRequired[Dict[str, Any]] + r"""Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ \"_Assessment_Score\": \"5\" }`. The field must be available via integration in Traffit.""" + + +class PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit(BaseModel): + r"""Fields specific to Traffit.""" + + candidate: Optional[Dict[str, Any]] = None + r"""Fields that we will write to the Traffit candidate before adding the result note. Custom fields are keyed by their SID with a `_` prefix, for example `{ \"_Assessment_Score\": \"5\" }`. The field must be available via integration in Traffit.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["candidate"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class PostAtsCandidatesCandidateIDResultLinksRequestBodyPostHeadersTypedDict(TypedDict): r"""Headers we will pass with `POST` requests to Greenhouse.""" @@ -262,6 +292,10 @@ class PostAtsCandidatesCandidateIDResultLinksRequestBodyRemoteFieldsTypedDict( PostAtsCandidatesCandidateIDResultLinksRequestBodyTalent360TypedDict ] r"""Talent360 specific remote fields for the result link.""" + traffit: NotRequired[ + PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffitTypedDict + ] + r"""Fields specific to Traffit.""" greenhouse: NotRequired[ PostAtsCandidatesCandidateIDResultLinksRequestBodyGreenhouseTypedDict ] @@ -286,6 +320,9 @@ class PostAtsCandidatesCandidateIDResultLinksRequestBodyRemoteFields(BaseModel): ) r"""Talent360 specific remote fields for the result link.""" + traffit: Optional[PostAtsCandidatesCandidateIDResultLinksRequestBodyTraffit] = None + r"""Fields specific to Traffit.""" + greenhouse: Optional[ PostAtsCandidatesCandidateIDResultLinksRequestBodyGreenhouse ] = None @@ -299,7 +336,7 @@ class PostAtsCandidatesCandidateIDResultLinksRequestBodyRemoteFields(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( - ["icims", "oracle", "talent360", "greenhouse", "workable"] + ["icims", "oracle", "talent360", "traffit", "greenhouse", "workable"] ) serialized = handler(self) m = {} diff --git a/src/kombo/models/postatscandidatesrequestbody.py b/src/kombo/models/postatscandidatesrequestbody.py index 4c71b625..8476e28c 100644 --- a/src/kombo/models/postatscandidatesrequestbody.py +++ b/src/kombo/models/postatscandidatesrequestbody.py @@ -741,6 +741,8 @@ class PostAtsCandidatesRequestBodyTalentsoftTypedDict(TypedDict): r"""Fields that we will pass through to TalentSoft's `applicant` object.""" application: NotRequired[Dict[str, Any]] r"""Fields that we will pass through to TalentSoft's `application` object.""" + custom_fields: NotRequired[Dict[str, Any]] + r"""Fields that we will pass through to TalentSoft's top-level `customFields` object when creating applications without an account. For account-based application creation, pass custom fields in `applicant.customFields` instead.""" class PostAtsCandidatesRequestBodyTalentsoft(BaseModel): @@ -752,9 +754,14 @@ class PostAtsCandidatesRequestBodyTalentsoft(BaseModel): application: Optional[Dict[str, Any]] = None r"""Fields that we will pass through to TalentSoft's `application` object.""" + custom_fields: Annotated[ + Optional[Dict[str, Any]], pydantic.Field(alias="customFields") + ] = None + r"""Fields that we will pass through to TalentSoft's top-level `customFields` object when creating applications without an account. For account-based application creation, pass custom fields in `applicant.customFields` instead.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["applicant", "application"]) + optional_fields = set(["applicant", "application", "customFields"]) serialized = handler(self) m = {} @@ -2532,6 +2539,58 @@ def serialize_model(self, handler): return m +class PostAtsCandidatesRequestBodyFountainTypedDict(TypedDict): + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" + + consent_sms_transactional: NotRequired[bool] + r"""Whether the applicant consented to transactional SMS about their current application. Fountain requires this on create from November 17, 2026.""" + consent_sms_marketing: NotRequired[bool] + r"""Whether the applicant consented to marketing SMS about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional SMS consent.""" + consent_calls_transactional: NotRequired[bool] + r"""Whether the applicant consented to transactional calls about their current application. Fountain requires this on create from November 17, 2026.""" + consent_calls_marketing: NotRequired[bool] + r"""Whether the applicant consented to marketing calls about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional call consent.""" + + +class PostAtsCandidatesRequestBodyFountain(BaseModel): + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" + + consent_sms_transactional: Optional[bool] = None + r"""Whether the applicant consented to transactional SMS about their current application. Fountain requires this on create from November 17, 2026.""" + + consent_sms_marketing: Optional[bool] = None + r"""Whether the applicant consented to marketing SMS about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional SMS consent.""" + + consent_calls_transactional: Optional[bool] = None + r"""Whether the applicant consented to transactional calls about their current application. Fountain requires this on create from November 17, 2026.""" + + consent_calls_marketing: Optional[bool] = None + r"""Whether the applicant consented to marketing calls about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional call consent.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "consent_sms_transactional", + "consent_sms_marketing", + "consent_calls_transactional", + "consent_calls_marketing", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class PostAtsCandidatesRequestBodyCustomFieldTypedDict(TypedDict): field_id: int r"""ID of the Recruit CRM candidate custom field (`GET /v1/custom-fields/candidates`).""" @@ -2660,6 +2719,8 @@ class PostAtsCandidatesRequestBodyRemoteFieldsTypedDict(TypedDict): r"""Fields specific to Coveto REST.""" afas: NotRequired[PostAtsCandidatesRequestBodyAfasTypedDict] r"""Fields specific to AFAS.""" + fountain: NotRequired[PostAtsCandidatesRequestBodyFountainTypedDict] + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" recruitcrm: NotRequired[PostAtsCandidatesRequestBodyRecruitcrmTypedDict] r"""Fields specific to Recruit CRM.""" @@ -2741,6 +2802,9 @@ class PostAtsCandidatesRequestBodyRemoteFields(BaseModel): afas: Optional[PostAtsCandidatesRequestBodyAfas] = None r"""Fields specific to AFAS.""" + fountain: Optional[PostAtsCandidatesRequestBodyFountain] = None + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" + recruitcrm: Optional[PostAtsCandidatesRequestBodyRecruitcrm] = None r"""Fields specific to Recruit CRM.""" @@ -2773,6 +2837,7 @@ def serialize_model(self, handler): "pinpoint", "covetorest", "afas", + "fountain", "recruitcrm", ] ) @@ -2893,6 +2958,10 @@ def serialize_model(self, handler): PostAtsCandidatesRequestBodySuccessfactors.model_rebuild() except NameError: pass +try: + PostAtsCandidatesRequestBodyTalentsoft.model_rebuild() +except NameError: + pass try: PostAtsCandidatesRequestBodyPostHeaders.model_rebuild() except NameError: diff --git a/src/kombo/models/postatsjobsjobidapplicationsrequestbody.py b/src/kombo/models/postatsjobsjobidapplicationsrequestbody.py index 6db3af0f..bd2424c9 100644 --- a/src/kombo/models/postatsjobsjobidapplicationsrequestbody.py +++ b/src/kombo/models/postatsjobsjobidapplicationsrequestbody.py @@ -545,6 +545,8 @@ class PostAtsJobsJobIDApplicationsRequestBodyTalentsoftTypedDict(TypedDict): r"""Fields that we will pass through to TalentSoft's `applicant` object.""" application: NotRequired[Dict[str, Any]] r"""Fields that we will pass through to TalentSoft's `application` object.""" + custom_fields: NotRequired[Dict[str, Any]] + r"""Fields that we will pass through to TalentSoft's top-level `customFields` object when creating applications without an account. For account-based application creation, pass custom fields in `applicant.customFields` instead.""" class PostAtsJobsJobIDApplicationsRequestBodyTalentsoft(BaseModel): @@ -556,9 +558,14 @@ class PostAtsJobsJobIDApplicationsRequestBodyTalentsoft(BaseModel): application: Optional[Dict[str, Any]] = None r"""Fields that we will pass through to TalentSoft's `application` object.""" + custom_fields: Annotated[ + Optional[Dict[str, Any]], pydantic.Field(alias="customFields") + ] = None + r"""Fields that we will pass through to TalentSoft's top-level `customFields` object when creating applications without an account. For account-based application creation, pass custom fields in `applicant.customFields` instead.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["applicant", "application"]) + optional_fields = set(["applicant", "application", "customFields"]) serialized = handler(self) m = {} @@ -2385,6 +2392,58 @@ def serialize_model(self, handler): return m +class PostAtsJobsJobIDApplicationsRequestBodyFountainTypedDict(TypedDict): + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" + + consent_sms_transactional: NotRequired[bool] + r"""Whether the applicant consented to transactional SMS about their current application. Fountain requires this on create from November 17, 2026.""" + consent_sms_marketing: NotRequired[bool] + r"""Whether the applicant consented to marketing SMS about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional SMS consent.""" + consent_calls_transactional: NotRequired[bool] + r"""Whether the applicant consented to transactional calls about their current application. Fountain requires this on create from November 17, 2026.""" + consent_calls_marketing: NotRequired[bool] + r"""Whether the applicant consented to marketing calls about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional call consent.""" + + +class PostAtsJobsJobIDApplicationsRequestBodyFountain(BaseModel): + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" + + consent_sms_transactional: Optional[bool] = None + r"""Whether the applicant consented to transactional SMS about their current application. Fountain requires this on create from November 17, 2026.""" + + consent_sms_marketing: Optional[bool] = None + r"""Whether the applicant consented to marketing SMS about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional SMS consent.""" + + consent_calls_transactional: Optional[bool] = None + r"""Whether the applicant consented to transactional calls about their current application. Fountain requires this on create from November 17, 2026.""" + + consent_calls_marketing: Optional[bool] = None + r"""Whether the applicant consented to marketing calls about future job opportunities. Fountain requires this on create from November 17, 2026. This is separate from transactional call consent.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "consent_sms_transactional", + "consent_sms_marketing", + "consent_calls_transactional", + "consent_calls_marketing", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + class PostAtsJobsJobIDApplicationsRequestBodyCustomFieldTypedDict(TypedDict): field_id: int r"""ID of the Recruit CRM candidate custom field (`GET /v1/custom-fields/candidates`).""" @@ -2527,6 +2586,8 @@ class PostAtsJobsJobIDApplicationsRequestBodyRemoteFieldsTypedDict(TypedDict): r"""Fields specific to Coveto REST.""" afas: NotRequired[PostAtsJobsJobIDApplicationsRequestBodyAfasTypedDict] r"""Fields specific to AFAS.""" + fountain: NotRequired[PostAtsJobsJobIDApplicationsRequestBodyFountainTypedDict] + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" recruitcrm: NotRequired[PostAtsJobsJobIDApplicationsRequestBodyRecruitcrmTypedDict] r"""Fields specific to Recruit CRM.""" @@ -2612,6 +2673,9 @@ class PostAtsJobsJobIDApplicationsRequestBodyRemoteFields(BaseModel): afas: Optional[PostAtsJobsJobIDApplicationsRequestBodyAfas] = None r"""Fields specific to AFAS.""" + fountain: Optional[PostAtsJobsJobIDApplicationsRequestBodyFountain] = None + r"""Consent fields passed through to Fountain when creating an applicant. See https://developer.fountain.com/reference/post_v2-applicants.""" + recruitcrm: Optional[PostAtsJobsJobIDApplicationsRequestBodyRecruitcrm] = None r"""Fields specific to Recruit CRM.""" @@ -2644,6 +2708,7 @@ def serialize_model(self, handler): "pinpoint", "covetorest", "afas", + "fountain", "recruitcrm", ] ) @@ -2949,6 +3014,10 @@ def serialize_model(self, handler): PostAtsJobsJobIDApplicationsRequestBodySuccessfactors.model_rebuild() except NameError: pass +try: + PostAtsJobsJobIDApplicationsRequestBodyTalentsoft.model_rebuild() +except NameError: + pass try: PostAtsJobsJobIDApplicationsRequestBodyPostHeaders.model_rebuild() except NameError: diff --git a/src/kombo/models/postconnectcreatelinkrequestbody.py b/src/kombo/models/postconnectcreatelinkrequestbody.py index 3e409965..64bac4a8 100644 --- a/src/kombo/models/postconnectcreatelinkrequestbody.py +++ b/src/kombo/models/postconnectcreatelinkrequestbody.py @@ -98,6 +98,7 @@ "talentclue", "inrecruiting", "jobadder", + "jobadderjobboard", "ubeeo", "connexys", "hr4you", @@ -128,6 +129,7 @@ "sandbox", "guidecom", "spott", + "stardex", "logicmelon", "loxo", "kula", @@ -136,6 +138,7 @@ "pageup", "talent360", "emplypeople", + "hibob", "workdaycustomreport", "workdaycustomreportsftp", "ukgprowfm", @@ -147,7 +150,6 @@ "fourth", "kenjo", "heavenhr", - "hibob", "cezannehr", "entraid", "azuread", diff --git a/src/kombo/utils/datetimes.py b/src/kombo/utils/datetimes.py index adad2476..688c29a5 100644 --- a/src/kombo/utils/datetimes.py +++ b/src/kombo/utils/datetimes.py @@ -35,3 +35,7 @@ def parse_duration(duration_string: str) -> timedelta: pydantic, which is already a runtime dependency of the SDK. """ return _DURATION_ADAPTER.validate_python(duration_string) + + +def format_duration(duration: timedelta) -> str: + return _DURATION_ADAPTER.dump_python(duration, mode="json") diff --git a/src/kombo/utils/url.py b/src/kombo/utils/url.py index c78ccbae..8eeaa7b0 100644 --- a/src/kombo/utils/url.py +++ b/src/kombo/utils/url.py @@ -1,6 +1,5 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from decimal import Decimal from typing import ( Any, Dict, @@ -105,7 +104,7 @@ def _populate_path_params( else: pp_vals.append(f"{pp_key},{_val_to_string(param[pp_key])}") path_param_values[f_name] = ",".join(pp_vals) - elif not isinstance(param, (str, int, float, complex, bool, Decimal)): + elif isinstance(param, BaseModel): param_fields: Dict[str, FieldInfo] = param.__class__.model_fields for name in param_fields: param_field = param_fields[name] @@ -132,7 +131,7 @@ def _populate_path_params( f"{param_name},{_val_to_string(param_field_val)}" ) path_param_values[f_name] = ",".join(pp_vals) - elif _is_set(param): + else: path_param_values[f_name] = _val_to_string(param) return globals_already_populated diff --git a/src/kombo/utils/values.py b/src/kombo/utils/values.py index ac217f47..094755b7 100644 --- a/src/kombo/utils/values.py +++ b/src/kombo/utils/values.py @@ -1,6 +1,6 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from datetime import datetime +from datetime import datetime, timedelta from enum import Enum from email.message import Message from functools import partial @@ -13,6 +13,7 @@ from ..types.basemodel import Unset +from .datetimes import format_duration from .serializers import marshal_json from .metadata import ParamMetadata, find_field_metadata @@ -117,6 +118,8 @@ def _val_to_string(val) -> str: return str(val).lower() if isinstance(val, datetime): return str(val.isoformat().replace("+00:00", "Z")) + if isinstance(val, timedelta): + return format_duration(val) if isinstance(val, Enum): return str(val.value) diff --git a/uv.lock b/uv.lock index e9adea79..dc4a88b3 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 3 +revision = 5 requires-python = ">=3.10" resolution-markers = [ "python_full_version >= '3.12'", @@ -191,7 +191,7 @@ wheels = [ [[package]] name = "kombo" -version = "1.4.0" +version = "1.4.1" source = { editable = "." } dependencies = [ { name = "httpcore" },