From 4f337fa2f7ed943c827bd5818a312541990404ba Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 8 Oct 2026 00:37:19 +0000 Subject: [PATCH] ## Python SDK Changes: * `kombo.hris.get_hris_payslips()`: `response.data.results[]` **Changed** * `kombo.ats.add_application_result_link()`: * `request.remote_fields.traffit` **Added** * `kombo.ats.add_application_note()`: `request.title` **Added** * `kombo.ats.create_candidate()`: `request.remote_fields` **Changed** * `kombo.ats.add_candidate_result_link()`: * `request.remote_fields.traffit` **Added** * `kombo.ats.create_application()`: `request.remote_fields` **Changed** * `kombo.connect.create_connection_link()`: `request.integration_tool` **Changed** --- .speakeasy/gen.lock | 234 ++++++++++-------- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 12 +- RELEASES.md | 12 +- docs/models/amount.md | 8 +- docs/models/amountytd.md | 11 + .../getatsjobspositiveresponsehiringteam.md | 18 +- .../getatsjobspositiveresponseresult.md | 4 +- .../gethrispayrunspositiveresponsegrosspay.md | 8 +- .../gethrispayrunspositiveresponsenetpay.md | 8 +- ...ethrispayrunspositiveresponsepaidamount.md | 8 +- .../models/gethrispayslipspositiveresponse.md | 8 +- ...gethrispayslipspositiveresponsegrosspay.md | 8 +- .../gethrispayslipspositiveresponsenetpay.md | 8 +- ...thrispayslipspositiveresponsepaidamount.md | 8 +- .../gethrispayslipspositiveresponseresult.md | 21 +- .../gethrispayslipspositiveresponsetotals.md | 13 +- docs/models/grosspayytd.md | 11 + docs/models/integrationtool.md | 4 +- docs/models/lineitem.md | 15 +- docs/models/netpayytd.md | 11 + docs/models/paidamountytd.md | 11 + docs/models/paycode.md | 11 + ...plicationsapplicationidnotesrequestbody.md | 1 + ...ionidresultlinksrequestbodyremotefields.md | 1 + ...licationidresultlinksrequestbodytraffit.md | 10 + ...ateidresultlinksrequestbodyremotefields.md | 1 + ...andidateidresultlinksrequestbodytraffit.md | 10 + docs/models/postatscandidatesrequestbody.md | 20 +- .../postatscandidatesrequestbodyfountain.md | 13 + ...ostatscandidatesrequestbodyremotefields.md | 1 + ...atscandidatesrequestbodysmartrecruiters.md | 4 +- .../postatscandidatesrequestbodytalentsoft.md | 9 +- ...postatsjobsjobidapplicationsrequestbody.md | 20 +- ...obsjobidapplicationsrequestbodyfountain.md | 13 + ...obidapplicationsrequestbodyremotefields.md | 1 + ...dapplicationsrequestbodysmartrecruiters.md | 4 +- ...sjobidapplicationsrequestbodytalentsoft.md | 9 +- docs/sdks/ats/README.md | 47 ++-- docs/sdks/general/README.md | 7 +- pyproject.toml | 2 +- src/kombo/_version.py | 6 +- src/kombo/ats.py | 6 + src/kombo/general.py | 14 +- src/kombo/models/__init__.py | 54 ++++ .../models/gethrispayrunspositiveresponse.py | 12 +- .../models/gethrispayslipspositiveresponse.py | 188 +++++++++++++- ...plicationsapplicationidnotesrequestbody.py | 7 +- ...ionsapplicationidresultlinksrequestbody.py | 43 +++- ...idatescandidateidresultlinksrequestbody.py | 41 ++- .../models/postatscandidatesrequestbody.py | 71 +++++- ...postatsjobsjobidapplicationsrequestbody.py | 71 +++++- .../postconnectcreatelinkrequestbody.py | 4 +- src/kombo/utils/datetimes.py | 4 + src/kombo/utils/url.py | 5 +- src/kombo/utils/values.py | 5 +- uv.lock | 4 +- 57 files changed, 892 insertions(+), 270 deletions(-) create mode 100644 docs/models/amountytd.md create mode 100644 docs/models/grosspayytd.md create mode 100644 docs/models/netpayytd.md create mode 100644 docs/models/paidamountytd.md create mode 100644 docs/models/paycode.md create mode 100644 docs/models/postatsapplicationsapplicationidresultlinksrequestbodytraffit.md create mode 100644 docs/models/postatscandidatescandidateidresultlinksrequestbodytraffit.md create mode 100644 docs/models/postatscandidatesrequestbodyfountain.md create mode 100644 docs/models/postatsjobsjobidapplicationsrequestbodyfountain.md diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index c1906122..46fe26b2 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: a4305f442358a0f57fedae87ee83efb3 docVersion: 1.0.0 - speakeasyVersion: 1.798.0 - generationVersion: 2.938.0 - releaseVersion: 1.4.0 - configChecksum: f819fbd05ad12ee6a899087de7ff3e68 + speakeasyVersion: 1.801.0 + generationVersion: 2.946.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: 6ad405db-e80e-4946-b877-20c5be4f8f23 + pristine_commit_hash: 38f53c5a32102e1ffcfe3505db05ac37b19798bf + pristine_tree_hash: e2918097bf3634147470dcaea4c1fe4e01689080 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: @@ -77,8 +77,12 @@ trackedFiles: pristine_git_object: 2419c02cddd3e5c8fce427a9002a37f989099f54 docs/models/amount.md: id: 437bf42a480e - last_write_checksum: sha1:a93a35a251a17ed9514160734abc844f4dd2fc94 - pristine_git_object: bcaccc5b22b1cc44d3e5a3e0a265f4c7d326a828 + last_write_checksum: sha1:f09db30796eb78229ce0d15baba7f1d43ef77806 + pristine_git_object: 95559a7f1f857cb99d568af1a5a5921b383c547c + docs/models/amountytd.md: + id: 7d3ef05fa6a6 + last_write_checksum: sha1:ea97f8cc836183572343a1ab876534bbf9346d63 + pristine_git_object: 961d44ad6a566c32f240f66bf73b05529bab3835 docs/models/assesscandidatedata.md: id: 1c1434b54a77 last_write_checksum: sha1:6d5e02105835f41e8a47df7d4368779a027a9c2a @@ -901,8 +905,8 @@ trackedFiles: pristine_git_object: ceee3d8b2b4e25074cf5973af5544c277054106b docs/models/getatsjobspositiveresponsehiringteam.md: id: eddbc94b5b9c - last_write_checksum: sha1:2f06d79f824c5938cdd97170e9090681ead2e09f - pristine_git_object: 8d66b19441b1cda041f503137ded4bfbe2b8a137 + last_write_checksum: sha1:37974d3c0098008158e0728c413214ca01637b6a + pristine_git_object: 70cc6eae772a6f56eb45d42ae843f0379a308b36 docs/models/getatsjobspositiveresponsehiringteamrole.md: id: af2220d319ff last_write_checksum: sha1:b7193b861aa5c54ce8fdcc0ff7c24032ad0b0a92 @@ -921,8 +925,8 @@ trackedFiles: pristine_git_object: caa9ff5efd41fe8d2f83a469933acd4211a2f98e docs/models/getatsjobspositiveresponseresult.md: id: bc3ee2032568 - last_write_checksum: sha1:9b7f07120dda4ff66d8179d35dbb6a59c0e5ce5b - pristine_git_object: c8a1fdabddf0079929fe10e314a27d0ff6b9aacb + last_write_checksum: sha1:a6346ba99f2624ec685a9161a6df9864693de366 + pristine_git_object: 4c31a0ebc4feb24e6b54df758021946bcf1b7f91 docs/models/getatsjobspositiveresponsescope.md: id: 4ccfff568e71 last_write_checksum: sha1:fbf761eb8ecafb22a028d6eaec6a5f89bd15da38 @@ -1585,16 +1589,16 @@ trackedFiles: pristine_git_object: 454a5a6a111b08fd86e31b5f52b4bf400491ce33 docs/models/gethrispayrunspositiveresponsegrosspay.md: id: 0ce8a8553e90 - last_write_checksum: sha1:ade80b5fd63b7fedbf90e766f7f1f9c12b068bab - pristine_git_object: 5c9961422ef8e28a323eb7bf23eb5369686550e1 + last_write_checksum: sha1:97dd165885dd5f7e0eadbad7eade72c48f939a13 + pristine_git_object: 8c06abd72023ad7bfc22f0dc89782f10da7d575c docs/models/gethrispayrunspositiveresponsenetpay.md: id: 981bcde7ca63 - last_write_checksum: sha1:5e3eeaf5a46095962399ab1a871b61393357c991 - pristine_git_object: b4d922c79d93341358f6fdc5a79ef562259c1fb7 + last_write_checksum: sha1:8db6dd7bfc75314f68c8f23e8cd5917d85d74b93 + pristine_git_object: 3b97678de1691977ff8c0f1234e5d5f97562356c docs/models/gethrispayrunspositiveresponsepaidamount.md: id: c95f5ad2dd6b - last_write_checksum: sha1:9b93f8a5c4c547e93d5b2a1aa916315f8adf45fb - pristine_git_object: dc06cdac67cc7a63e0978c29ec6efe283b5e97d5 + last_write_checksum: sha1:2ab7eeef8cdc1b5d947dbea8ee4fe30fea832071 + pristine_git_object: 6ad9e35ad8a7181736c2a67d270ecc07b153bcba docs/models/gethrispayrunspositiveresponseresult.md: id: 8f7940dc58da last_write_checksum: sha1:018bfea5b698e6a1c7b3b0d7dfa3a9ef09bdf2c2 @@ -1617,32 +1621,32 @@ 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 pristine_git_object: 536494bd0ceeaf0e94ba7e350bd6bed74da1555b docs/models/gethrispayslipspositiveresponsegrosspay.md: id: 54bf2017f5c4 - last_write_checksum: sha1:32ea8e61c7763f1f94f794e256c36894a0f0c448 - pristine_git_object: 968a449ab1643567c26f09334e55ffb0a82e7ae2 + last_write_checksum: sha1:efb073861f128d88ec3ed44bbf9a9ad0597336df + pristine_git_object: b06d2ef359fb9e7c985cfd9ad4a63a55c6c47e11 docs/models/gethrispayslipspositiveresponsenetpay.md: id: b0a7aea67ba6 - last_write_checksum: sha1:3d9c0f69e830b165f8fc8857b0d5a34acc365e77 - pristine_git_object: 9a710a7b5cf87556662cbd96c041967ccc239bca + last_write_checksum: sha1:552cab8cbe64cba15378757709a47b5aa29c19ba + pristine_git_object: fecc38c3c61e4716df843ca79438a920d995041e docs/models/gethrispayslipspositiveresponsepaidamount.md: id: edcefad7d3cb - last_write_checksum: sha1:8ec3616973023c68b3bc7fbe6adb4bce64635217 - pristine_git_object: 894c5d1d4331c284aeb91d304b773e9c8878fe81 + last_write_checksum: sha1:994c4f5f73ef92b81f764139142517a848a4b4a0 + pristine_git_object: 2cc5a95cfe9473d668ddd307e30e3b7498e06022 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:77ab88d82fbd8256d812da25a58864e2fa038757 + pristine_git_object: 5bd9131b436a52e155c624c72ba73a8b1a76cd36 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:81120265833b0e184252ac483843078b50f163ca + pristine_git_object: 067e525c25c6d06abd321d6b908379dcccf36506 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:c57e1fc0d7f5d6b834d7da7352482c0483d25f9e + pristine_git_object: f0519ad49215c03fc3637b42204602089bc8fe04 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 @@ -2717,8 +2745,8 @@ trackedFiles: pristine_git_object: 0656d11f44a263e60e06640ddc525c1e420d604b docs/models/postatscandidatesrequestbody.md: id: 97589dedd994 - last_write_checksum: sha1:1b9c1bd80075094ab64721bd524c8d19e29ce334 - pristine_git_object: 6ee4c2d5a0aabd2903ca2298f52df60a17847fb4 + last_write_checksum: sha1:b8badb2b807beb2612f8d13d11df6b5f947685d3 + pristine_git_object: dc323aeda93887405e8ede85e243e5cdae2b107f docs/models/postatscandidatesrequestbodyadditionalemailaddress.md: id: a18f5d1a82f9 last_write_checksum: sha1:159020a78708111a69bbb2661b26f2ae420cae00 @@ -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 @@ -2981,8 +3013,8 @@ trackedFiles: pristine_git_object: 5dead257300bcb9e03f9ee33f899465fdcda567d docs/models/postatscandidatesrequestbodysmartrecruiters.md: id: 7d3127500dbd - last_write_checksum: sha1:523599e3de97879dcb14f60aed1b1fb780f7bb31 - pristine_git_object: 33b2447a24181e822b6d41f7a1d26124653920ee + last_write_checksum: sha1:1db6d7201cb736f984cf8b1d6bddb540869eb61e + pristine_git_object: e909aed18cf758f1501450dd5bbacb177b067a39 docs/models/postatscandidatesrequestbodysociallink.md: id: 398f7dbf744d last_write_checksum: sha1:96c52dbf579bfa5c24af942c16745301fb314981 @@ -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 @@ -3333,8 +3365,8 @@ trackedFiles: pristine_git_object: c0b0257a94cdb87a434d2fe3fc4c26a1ccf79fac docs/models/postatsjobsjobidapplicationsrequestbody.md: id: 8a4216629ba7 - last_write_checksum: sha1:2cb1bc221210d4e303fa0cb5a477b1dbc182f465 - pristine_git_object: 7f50dc315019cde07ce81966b4f7eb6f606732ff + last_write_checksum: sha1:9dd6f94cecf65ff2fef33ba8730d83fa5667b9f2 + pristine_git_object: 92fc74cfdf2e4d3e30b2f200ad638e5c2326efc9 docs/models/postatsjobsjobidapplicationsrequestbodyadditionalemailaddress.md: id: 8ad794237dcb last_write_checksum: sha1:30f23c25eca06a16e91fcb8fc5831d3e0ebb24e4 @@ -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 @@ -3593,8 +3629,8 @@ trackedFiles: pristine_git_object: 218acc6aa6a2c8968d6e857e70094c5dc6745f9d docs/models/postatsjobsjobidapplicationsrequestbodysmartrecruiters.md: id: eead926e3620 - last_write_checksum: sha1:758ea5bce8288d7f61054ed5e7eb52110d2f820d - pristine_git_object: 7b22d081cdd3b51cd4c5f43e36989a0d2f28fb7f + last_write_checksum: sha1:8beff479c256f8016bc0ddf1bc800a5188a3e34c + pristine_git_object: 9f788835c938450239680ced161f729b243cefda docs/models/postatsjobsjobidapplicationsrequestbodysociallink.md: id: 99f031eed1ca last_write_checksum: sha1:419237139ac13e624ae6e3b3265fb3d66811e934 @@ -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:42d30158ebea01b72ce4c5bbf2dffeeaf008c7cd + pristine_git_object: d67046115f9bc6a906f432bf3cb0981c8e2673dc 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:f3b7d8e23b8506e928d794c90cc160d5825e9d51 + pristine_git_object: 46b46b4bb198c12e9fc4431c479b75f1d325287d 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 @@ -4933,16 +4969,16 @@ trackedFiles: pristine_git_object: 3a9cd72e65176561bd61e6889d6e56a9b179e502 src/kombo/models/gethrispayrunspositiveresponse.py: id: da5f7c9019f4 - last_write_checksum: sha1:8cdd5f4e4a386ed6b35919dee8df9a9596eb89d9 - pristine_git_object: c26d99d77a92800fb5d10dde87a0c460dcb70457 + last_write_checksum: sha1:9eb8a7027e75b6a1de92c16e90339a1214863f40 + pristine_git_object: fe97620afccad27f2df040ad29467ea52bf9ff89 src/kombo/models/gethrispayslipsop.py: id: c5bed69919a3 last_write_checksum: sha1:400924429d06a3b4d65a8a1ff7e64631e0be5910 pristine_git_object: aeea3ad6b5a6442858c31b4be215df75a07c1499 src/kombo/models/gethrispayslipspositiveresponse.py: id: 31addaacfccf - last_write_checksum: sha1:24cf2af80fd666691c7c8dbdd5d6f8c285fbd0cd - pristine_git_object: 654a839494a6b2a7f934c8f561cf64f16dde021c + last_write_checksum: sha1:b61c6c712b1391a3ca9da56ef6291a716dad7c1e + pristine_git_object: c3b8076256097cf9ef4fb16871fd0e1780fd8040 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..61067852 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.798.0 +speakeasyVersion: 1.801.0 sources: kombo-prepared-spec: sourceNamespace: kombo-api - sourceRevisionDigest: sha256:b5f1845cda8b548154d1b9e835e2fc701e8e1c3834417aa57f898c58f6c0f04d - sourceBlobDigest: sha256:0f7e67ea4d75aabbe0572c1351117ff92fb10204f63da3188353463a33238a23 + sourceRevisionDigest: sha256:b77b6e67bf28a020d15644c078464db37d8fe53fa08ff1c2c2dfd41faebbcf01 + sourceBlobDigest: sha256:292e13ef677cac6e1d1c447ade7ff9cac86ab3babd59b20db1655ed43ee82a61 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:b77b6e67bf28a020d15644c078464db37d8fe53fa08ff1c2c2dfd41faebbcf01 + sourceBlobDigest: sha256:292e13ef677cac6e1d1c447ade7ff9cac86ab3babd59b20db1655ed43ee82a61 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..a5196f1b 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-08 00:35:33 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.801.0 (2.946.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/amount.md b/docs/models/amount.md index bcaccc5b..95559a7f 100644 --- a/docs/models/amount.md +++ b/docs/models/amount.md @@ -5,7 +5,7 @@ The amount of the line item. ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/amountytd.md b/docs/models/amountytd.md new file mode 100644 index 00000000..961d44ad --- /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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/getatsjobspositiveresponsehiringteam.md b/docs/models/getatsjobspositiveresponsehiringteam.md index 8d66b194..70cc6eae 100644 --- a/docs/models/getatsjobspositiveresponsehiringteam.md +++ b/docs/models/getatsjobspositiveresponsehiringteam.md @@ -3,12 +3,12 @@ ## 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` | *Nullable[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. | | -| `first_name` | *Nullable[str]* | :heavy_check_mark: | First name of the user. | | -| `last_name` | *Nullable[str]* | :heavy_check_mark: | Last name of the user. | | -| `email` | *OptionalNullable[str]* | :heavy_minus_sign: | Email of the user. If the email address is invalid, it will be set to null. | | -| ~~`hiring_team_roles`~~ | List[[models.GetAtsJobsPositiveResponseHiringTeamRole](../models/getatsjobspositiveresponsehiringteamrole.md)] | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use `job_roles` to access the full list of job roles (including custom labels and unmapped roles).)** Array of the roles of the user for this specific job. Example: ["RECRUITER", "HIRING_MANAGER"]. | [
"RECRUITER",
"HIRING_MANAGER"
] | -| `job_roles` | List[[models.JobRole](../models/jobrole.md)] | :heavy_check_mark: | Roles assigned to this user for this job.

Visit our in-depth guide about [roles](/ats/features/roles) to learn more.

Use `system_roles` on the `/v1/ats/users` endpoint for system-wide roles. | | \ 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` | *Nullable[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. | | +| `first_name` | *Nullable[str]* | :heavy_check_mark: | First name of the user. | | +| `last_name` | *Nullable[str]* | :heavy_check_mark: | Last name of the user. | | +| `email` | *OptionalNullable[str]* | :heavy_minus_sign: | Email of the user. If the email address is invalid, it will be set to null. | | +| ~~`hiring_team_roles`~~ | List[[models.GetAtsJobsPositiveResponseHiringTeamRole](../models/getatsjobspositiveresponsehiringteamrole.md)] | :heavy_check_mark: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use `job_roles` to access the full list of job roles (including custom labels and unmapped roles).)** Array of the roles of the user for this specific job. Example: ["RECRUITER", "HIRING_MANAGER"]. | [
"RECRUITER",
"HIRING_MANAGER"
] | +| `job_roles` | List[[models.JobRole](../models/jobrole.md)] | :heavy_check_mark: | Roles assigned to this user for this job.

Visit our in-depth guide about [roles](/ats/features/roles) to learn more.

Use `system_roles` on the `/v1/ats/users` endpoint for system-wide roles. | | \ No newline at end of file diff --git a/docs/models/getatsjobspositiveresponseresult.md b/docs/models/getatsjobspositiveresponseresult.md index c8a1fdab..4c31a0eb 100644 --- a/docs/models/getatsjobspositiveresponseresult.md +++ b/docs/models/getatsjobspositiveresponseresult.md @@ -10,7 +10,7 @@ | `name` | *Nullable[str]* | :heavy_check_mark: | Title of the job. | | `job_code` | *Nullable[str]* | :heavy_check_mark: | The human readable job code. Some systems expose this as the Requisition Code/ID. | | `description` | *Nullable[str]* | :heavy_check_mark: | Description of the job. This field is usually returned as HTML. | -| ~~`confidential`~~ | *Nullable[bool]* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated)** It makes more sense to store the visibility of a job in an enum. Therefore, we introduced the `visibility` enum on jobs. | +| ~~`confidential`~~ | *Nullable[bool]* | :heavy_check_mark: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated)** It makes more sense to store the visibility of a job in an enum. Therefore, we introduced the `visibility` enum on jobs. | | `weekly_hours` | *Nullable[float]* | :heavy_check_mark: | The number of hours per week an employee is expected to work. | | `employment_type` | [OptionalNullable[models.GetAtsJobsPositiveResponseEmploymentType]](../models/getatsjobspositiveresponseemploymenttype.md) | :heavy_minus_sign: | The type of employment contract. In rare cases where can't find a clear mapping, the original string is passed through. | | `status` | [OptionalNullable[models.GetAtsJobsPositiveResponseStatus]](../models/getatsjobspositiveresponsestatus.md) | :heavy_minus_sign: | The job's current status.

*Note: For any checks (e.g., "can we publish this job?"), always evaluate both `status` and `visibility`. For example, a job can be `status=OPEN` with `visibility=INTERNAL`, meaning only existing employees can apply.*

In rare cases where we can’t find a clear mapping, the original string is passed through. | @@ -32,7 +32,7 @@ | `closed_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date the job closed or is scheduled to close. A future value typically indicates the job remains open for applications until that date.

Please use the `status` and `visibility` fields to determine if a job can be published.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | | `remote_created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | The date and time the object was created in the remote system.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | | `remote_updated_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | A timestamp retrieved from the remote system, describing when the resource was last updated.

[](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) | -| ~~`contact_id`~~ | *Nullable[str]* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated)** The user ID of the contact person for this job. We strongly recommend using the new `hiring_team` property instead as it provides more complete and accurate information about the ATS users connected to a job. | +| ~~`contact_id`~~ | *Nullable[str]* | :heavy_check_mark: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated)** The user ID of the contact person for this job. We strongly recommend using the new `hiring_team` property instead as it provides more complete and accurate information about the ATS users connected to a job. | | `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) | | `stages` | List[[models.Stage](../models/stage.md)] | :heavy_check_mark: | Application stages a candidate can be in for this particular job. | diff --git a/docs/models/gethrispayrunspositiveresponsegrosspay.md b/docs/models/gethrispayrunspositiveresponsegrosspay.md index 5c996142..8c06abd7 100644 --- a/docs/models/gethrispayrunspositiveresponsegrosspay.md +++ b/docs/models/gethrispayrunspositiveresponsegrosspay.md @@ -5,7 +5,7 @@ The total gross pay for the pay run, before taxes and after gross deductions. ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/gethrispayrunspositiveresponsenetpay.md b/docs/models/gethrispayrunspositiveresponsenetpay.md index b4d922c7..3b97678d 100644 --- a/docs/models/gethrispayrunspositiveresponsenetpay.md +++ b/docs/models/gethrispayrunspositiveresponsenetpay.md @@ -5,7 +5,7 @@ The total net pay for the pay run, after taxes have been applied to the gross pa ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/gethrispayrunspositiveresponsepaidamount.md b/docs/models/gethrispayrunspositiveresponsepaidamount.md index dc06cdac..6ad9e35a 100644 --- a/docs/models/gethrispayrunspositiveresponsepaidamount.md +++ b/docs/models/gethrispayrunspositiveresponsepaidamount.md @@ -5,7 +5,7 @@ The total amount paid out through the pay run. This value accounts for net earni ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ 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/gethrispayslipspositiveresponsegrosspay.md b/docs/models/gethrispayslipspositiveresponsegrosspay.md index 968a449a..b06d2ef3 100644 --- a/docs/models/gethrispayslipspositiveresponsegrosspay.md +++ b/docs/models/gethrispayslipspositiveresponsegrosspay.md @@ -5,7 +5,7 @@ The total gross pay for the payslip, before taxes and after gross deductions. ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/gethrispayslipspositiveresponsenetpay.md b/docs/models/gethrispayslipspositiveresponsenetpay.md index 9a710a7b..fecc38c3 100644 --- a/docs/models/gethrispayslipspositiveresponsenetpay.md +++ b/docs/models/gethrispayslipspositiveresponsenetpay.md @@ -5,7 +5,7 @@ The total net pay for the payslip, after taxes have been applied to the gross pa ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/gethrispayslipspositiveresponsepaidamount.md b/docs/models/gethrispayslipspositiveresponsepaidamount.md index 894c5d1d..2cc5a95c 100644 --- a/docs/models/gethrispayslipspositiveresponsepaidamount.md +++ b/docs/models/gethrispayslipspositiveresponsepaidamount.md @@ -5,7 +5,7 @@ The amount of the payslip that was actually paid out to the employee. This value ## 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 +| 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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ 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..5bd9131b --- /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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ 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..067e525c --- /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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ No newline at end of file diff --git a/docs/models/paidamountytd.md b/docs/models/paidamountytd.md new file mode 100644 index 00000000..f0519ad4 --- /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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero). | \ 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/postatscandidatesrequestbody.md b/docs/models/postatscandidatesrequestbody.md index 6ee4c2d5..dc323aed 100644 --- a/docs/models/postatscandidatesrequestbody.md +++ b/docs/models/postatscandidatesrequestbody.md @@ -3,13 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `candidate` | [models.PostAtsCandidatesRequestBodyCandidate](../models/postatscandidatesrequestbodycandidate.md) | :heavy_check_mark: | N/A | | -| `application` | [models.PostAtsCandidatesRequestBodyApplication](../models/postatscandidatesrequestbodyapplication.md) | :heavy_check_mark: | Currently, every candidate has one application. If you are interested in talent pools, please contact Kombo. | | -| `screening_question_answers` | List[[models.PostAtsCandidatesRequestBodyScreeningQuestionAnswer](../models/postatscandidatesrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | -| `attachments` | List[[models.PostAtsCandidatesRequestBodyAttachment](../models/postatscandidatesrequestbodyattachment.md)] | :heavy_minus_sign: | An array of the attachments you would like upload. | | -| ~~`source`~~ | [Optional[models.PostAtsCandidatesRequestBodySource]](../models/postatscandidatesrequestbodysource.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | -| `sourced_by` | [Optional[models.PostAtsCandidatesRequestBodySourcedBy]](../models/postatscandidatesrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | -| `gdpr_consent` | [Optional[models.PostAtsCandidatesRequestBodyGdprConsent]](../models/postatscandidatesrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | -| `remote_fields` | [Optional[models.PostAtsCandidatesRequestBodyRemoteFields]](../models/postatscandidatesrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `candidate` | [models.PostAtsCandidatesRequestBodyCandidate](../models/postatscandidatesrequestbodycandidate.md) | :heavy_check_mark: | N/A | | +| `application` | [models.PostAtsCandidatesRequestBodyApplication](../models/postatscandidatesrequestbodyapplication.md) | :heavy_check_mark: | Currently, every candidate has one application. If you are interested in talent pools, please contact Kombo. | | +| `screening_question_answers` | List[[models.PostAtsCandidatesRequestBodyScreeningQuestionAnswer](../models/postatscandidatesrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | +| `attachments` | List[[models.PostAtsCandidatesRequestBodyAttachment](../models/postatscandidatesrequestbodyattachment.md)] | :heavy_minus_sign: | An array of the attachments you would like upload. | | +| ~~`source`~~ | [Optional[models.PostAtsCandidatesRequestBodySource]](../models/postatscandidatesrequestbodysource.md) | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | +| `sourced_by` | [Optional[models.PostAtsCandidatesRequestBodySourcedBy]](../models/postatscandidatesrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | +| `gdpr_consent` | [Optional[models.PostAtsCandidatesRequestBodyGdprConsent]](../models/postatscandidatesrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | +| `remote_fields` | [Optional[models.PostAtsCandidatesRequestBodyRemoteFields]](../models/postatscandidatesrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | \ 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/postatscandidatesrequestbodysmartrecruiters.md b/docs/models/postatscandidatesrequestbodysmartrecruiters.md index 33b2447a..e909aed1 100644 --- a/docs/models/postatscandidatesrequestbodysmartrecruiters.md +++ b/docs/models/postatscandidatesrequestbodysmartrecruiters.md @@ -7,7 +7,7 @@ Fields specific to SmartRecruiters. | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ~~`candidate_with_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | -| ~~`candidate_without_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1 | +| ~~`candidate_with_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | +| ~~`candidate_without_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1 | | `candidate` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | | `consent_decisions` | [Optional[models.PostAtsCandidatesRequestBodyConsentDecisions]](../models/postatscandidatesrequestbodyconsentdecisions.md) | :heavy_minus_sign: | The consent decisions for the candidate. SmartRecruiters supports two consent models: 'Single' (use the `SINGLE` key) and 'Separated' (use `SMART_RECRUIT`, `SMART_CRM`, `SMART_MESSAGE_SMS`, and/or `SMART_MESSAGE_WHATSAPP` keys). When this field is provided, it takes precedence over the `gdpr_consent` field for the `consentDecisions` property. See: https://developers.smartrecruiters.com/docs/partners-post-an-application | \ 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/postatsjobsjobidapplicationsrequestbody.md b/docs/models/postatsjobsjobidapplicationsrequestbody.md index 7f50dc31..92fc74cf 100644 --- a/docs/models/postatsjobsjobidapplicationsrequestbody.md +++ b/docs/models/postatsjobsjobidapplicationsrequestbody.md @@ -3,13 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `stage_id` | *Optional[str]* | :heavy_minus_sign: | Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint. | | -| `candidate` | [models.PostAtsJobsJobIDApplicationsRequestBodyCandidate](../models/postatsjobsjobidapplicationsrequestbodycandidate.md) | :heavy_check_mark: | N/A | | -| `attachments` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyAttachment](../models/postatsjobsjobidapplicationsrequestbodyattachment.md)] | :heavy_minus_sign: | Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume. | | -| ~~`source`~~ | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySource]](../models/postatsjobsjobidapplicationsrequestbodysource.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | -| `sourced_by` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySourcedBy]](../models/postatsjobsjobidapplicationsrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | -| `gdpr_consent` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyGdprConsent]](../models/postatsjobsjobidapplicationsrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | -| `remote_fields` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyRemoteFields]](../models/postatsjobsjobidapplicationsrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | -| `screening_question_answers` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyScreeningQuestionAnswer](../models/postatsjobsjobidapplicationsrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `stage_id` | *Optional[str]* | :heavy_minus_sign: | Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint. | | +| `candidate` | [models.PostAtsJobsJobIDApplicationsRequestBodyCandidate](../models/postatsjobsjobidapplicationsrequestbodycandidate.md) | :heavy_check_mark: | N/A | | +| `attachments` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyAttachment](../models/postatsjobsjobidapplicationsrequestbodyattachment.md)] | :heavy_minus_sign: | Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume. | | +| ~~`source`~~ | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySource]](../models/postatsjobsjobidapplicationsrequestbodysource.md) | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | +| `sourced_by` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySourcedBy]](../models/postatsjobsjobidapplicationsrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | +| `gdpr_consent` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyGdprConsent]](../models/postatsjobsjobidapplicationsrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | +| `remote_fields` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyRemoteFields]](../models/postatsjobsjobidapplicationsrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | +| `screening_question_answers` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyScreeningQuestionAnswer](../models/postatsjobsjobidapplicationsrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | \ 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/postatsjobsjobidapplicationsrequestbodysmartrecruiters.md b/docs/models/postatsjobsjobidapplicationsrequestbodysmartrecruiters.md index 7b22d081..9f788835 100644 --- a/docs/models/postatsjobsjobidapplicationsrequestbodysmartrecruiters.md +++ b/docs/models/postatsjobsjobidapplicationsrequestbodysmartrecruiters.md @@ -7,7 +7,7 @@ Fields specific to SmartRecruiters. | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ~~`candidate_with_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | -| ~~`candidate_without_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1 | +| ~~`candidate_with_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | +| ~~`candidate_without_questions`~~ | Dict[str, *Any*] | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use the `candidate` field instead.)** Fields that we will pass through to the SmartRecruiters's `Candidate` object when created with screening question answers. This API is used: https://developers.smartrecruiters.com/reference/candidatesaddtojob-1 | | `candidate` | Dict[str, *Any*] | :heavy_minus_sign: | Fields that we will pass through to the SmartRecruiters's `Candidate` object. This API is used: https://developers.smartrecruiters.com/reference/createcandidate-1 | | `consent_decisions` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyConsentDecisions]](../models/postatsjobsjobidapplicationsrequestbodyconsentdecisions.md) | :heavy_minus_sign: | The consent decisions for the candidate. SmartRecruiters supports two consent models: 'Single' (use the `SINGLE` key) and 'Separated' (use `SMART_RECRUIT`, `SMART_CRM`, `SMART_MESSAGE_SMS`, and/or `SMART_MESSAGE_WHATSAPP` keys). When this field is provided, it takes precedence over the `gdpr_consent` field for the `consentDecisions` property. See: https://developers.smartrecruiters.com/docs/partners-post-an-application | \ 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..d6704611 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. | @@ -923,17 +924,17 @@ with Kombo( ### Parameters -| Parameter | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `candidate` | [models.PostAtsCandidatesRequestBodyCandidate](../../models/postatscandidatesrequestbodycandidate.md) | :heavy_check_mark: | N/A | | -| `application` | [models.PostAtsCandidatesRequestBodyApplication](../../models/postatscandidatesrequestbodyapplication.md) | :heavy_check_mark: | Currently, every candidate has one application. If you are interested in talent pools, please contact Kombo. | | -| `screening_question_answers` | List[[models.PostAtsCandidatesRequestBodyScreeningQuestionAnswer](../../models/postatscandidatesrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | -| `attachments` | List[[models.PostAtsCandidatesRequestBodyAttachment](../../models/postatscandidatesrequestbodyattachment.md)] | :heavy_minus_sign: | An array of the attachments you would like upload. | | -| `source` | [Optional[models.PostAtsCandidatesRequestBodySource]](../../models/postatscandidatesrequestbodysource.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | -| `sourced_by` | [Optional[models.PostAtsCandidatesRequestBodySourcedBy]](../../models/postatscandidatesrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | -| `gdpr_consent` | [Optional[models.PostAtsCandidatesRequestBodyGdprConsent]](../../models/postatscandidatesrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | -| `remote_fields` | [Optional[models.PostAtsCandidatesRequestBodyRemoteFields]](../../models/postatscandidatesrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `candidate` | [models.PostAtsCandidatesRequestBodyCandidate](../../models/postatscandidatesrequestbodycandidate.md) | :heavy_check_mark: | N/A | | +| `application` | [models.PostAtsCandidatesRequestBodyApplication](../../models/postatscandidatesrequestbodyapplication.md) | :heavy_check_mark: | Currently, every candidate has one application. If you are interested in talent pools, please contact Kombo. | | +| `screening_question_answers` | List[[models.PostAtsCandidatesRequestBodyScreeningQuestionAnswer](../../models/postatscandidatesrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | +| `attachments` | List[[models.PostAtsCandidatesRequestBodyAttachment](../../models/postatscandidatesrequestbodyattachment.md)] | :heavy_minus_sign: | An array of the attachments you would like upload. | | +| `source` | [Optional[models.PostAtsCandidatesRequestBodySource]](../../models/postatscandidatesrequestbodysource.md) | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | +| `sourced_by` | [Optional[models.PostAtsCandidatesRequestBodySourcedBy]](../../models/postatscandidatesrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | +| `gdpr_consent` | [Optional[models.PostAtsCandidatesRequestBodyGdprConsent]](../../models/postatscandidatesrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | +| `remote_fields` | [Optional[models.PostAtsCandidatesRequestBodyRemoteFields]](../../models/postatscandidatesrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response @@ -1795,18 +1796,18 @@ with Kombo( ### Parameters -| Parameter | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `job_id` | *str* | :heavy_check_mark: | The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with "remote:". You can use the remote ID if you do not want to sync jobs. | | -| `candidate` | [models.PostAtsJobsJobIDApplicationsRequestBodyCandidate](../../models/postatsjobsjobidapplicationsrequestbodycandidate.md) | :heavy_check_mark: | N/A | | -| `stage_id` | *Optional[str]* | :heavy_minus_sign: | Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint. | | -| `attachments` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyAttachment](../../models/postatsjobsjobidapplicationsrequestbodyattachment.md)] | :heavy_minus_sign: | Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume. | | -| `source` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySource]](../../models/postatsjobsjobidapplicationsrequestbodysource.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | -| `sourced_by` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySourcedBy]](../../models/postatsjobsjobidapplicationsrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | -| `gdpr_consent` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyGdprConsent]](../../models/postatsjobsjobidapplicationsrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | -| `remote_fields` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyRemoteFields]](../../models/postatsjobsjobidapplicationsrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | -| `screening_question_answers` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyScreeningQuestionAnswer](../../models/postatsjobsjobidapplicationsrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `job_id` | *str* | :heavy_check_mark: | The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with "remote:". You can use the remote ID if you do not want to sync jobs. | | +| `candidate` | [models.PostAtsJobsJobIDApplicationsRequestBodyCandidate](../../models/postatsjobsjobidapplicationsrequestbodycandidate.md) | :heavy_check_mark: | N/A | | +| `stage_id` | *Optional[str]* | :heavy_minus_sign: | Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible `stage_id`s from the `get-jobs` endpoint. | | +| `attachments` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyAttachment](../../models/postatsjobsjobidapplicationsrequestbodyattachment.md)] | :heavy_minus_sign: | Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume. | | +| `source` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySource]](../../models/postatsjobsjobidapplicationsrequestbodysource.md) | :heavy_minus_sign: | :warning: **DEPRECATED**: This will be removed in a future release, please migrate away from it as soon as possible.

**(⚠️ Deprecated - Use [automatic source writing](/ats/features/application-attribution#automatic-attribution) instead)** Optional source information that will be attached to the candidate. If
you're a job board or recruiting service, you can use this to make sure your
customers can see which candidates came from you.

This is deprecated because writing sources requires users to do some setup in most ATSs. | | +| `sourced_by` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodySourcedBy]](../../models/postatsjobsjobidapplicationsrequestbodysourcedby.md) | :heavy_minus_sign: | Credit the recruiter or team member who sourced this candidate.

While the `source` field tracks the channel/platform (e.g., "Awesome Jobboard"), the `sourced_by` field tracks the individual person responsible for finding the candidate. | | +| `gdpr_consent` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyGdprConsent]](../../models/postatsjobsjobidapplicationsrequestbodygdprconsent.md) | :heavy_minus_sign: | Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia). | | +| `remote_fields` | [Optional[models.PostAtsJobsJobIDApplicationsRequestBodyRemoteFields]](../../models/postatsjobsjobidapplicationsrequestbodyremotefields.md) | :heavy_minus_sign: | Additional fields that we will pass through to specific ATS systems. | | +| `screening_question_answers` | List[[models.PostAtsJobsJobIDApplicationsRequestBodyScreeningQuestionAnswer](../../models/postatsjobsjobidapplicationsrequestbodyscreeningquestionanswer.md)] | :heavy_minus_sign: | Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.

The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors. | [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
] | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response 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..46b46b4b 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.946.0" +__user_agent__: str = "speakeasy-sdk/python 1.4.1 2.946.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/gethrispayrunspositiveresponse.py b/src/kombo/models/gethrispayrunspositiveresponse.py index c26d99d7..fe97620a 100644 --- a/src/kombo/models/gethrispayrunspositiveresponse.py +++ b/src/kombo/models/gethrispayrunspositiveresponse.py @@ -17,7 +17,7 @@ class GetHrisPayRunsPositiveResponseGrossPayTypedDict(TypedDict): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayRunsPositiveResponseGrossPay(BaseModel): @@ -27,7 +27,7 @@ class GetHrisPayRunsPositiveResponseGrossPay(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayRunsPositiveResponseNetPayTypedDict(TypedDict): @@ -36,7 +36,7 @@ class GetHrisPayRunsPositiveResponseNetPayTypedDict(TypedDict): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayRunsPositiveResponseNetPay(BaseModel): @@ -46,7 +46,7 @@ class GetHrisPayRunsPositiveResponseNetPay(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayRunsPositiveResponsePaidAmountTypedDict(TypedDict): @@ -55,7 +55,7 @@ class GetHrisPayRunsPositiveResponsePaidAmountTypedDict(TypedDict): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayRunsPositiveResponsePaidAmount(BaseModel): @@ -65,7 +65,7 @@ class GetHrisPayRunsPositiveResponsePaidAmount(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayRunsPositiveResponseTotalsTypedDict(TypedDict): diff --git a/src/kombo/models/gethrispayslipspositiveresponse.py b/src/kombo/models/gethrispayslipspositiveresponse.py index 654a8394..c3b80762 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 @@ -17,7 +17,7 @@ class GetHrisPayslipsPositiveResponseGrossPayTypedDict(TypedDict): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayslipsPositiveResponseGrossPay(BaseModel): @@ -27,7 +27,7 @@ class GetHrisPayslipsPositiveResponseGrossPay(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayslipsPositiveResponseNetPayTypedDict(TypedDict): @@ -36,7 +36,7 @@ class GetHrisPayslipsPositiveResponseNetPayTypedDict(TypedDict): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayslipsPositiveResponseNetPay(BaseModel): @@ -46,7 +46,7 @@ class GetHrisPayslipsPositiveResponseNetPay(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayslipsPositiveResponsePaidAmountTypedDict(TypedDict): @@ -55,7 +55,7 @@ class GetHrisPayslipsPositiveResponsePaidAmountTypedDict(TypedDict): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayslipsPositiveResponsePaidAmount(BaseModel): @@ -65,7 +65,64 @@ class GetHrisPayslipsPositiveResponsePaidAmount(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class GetHrisPayslipsPositiveResponseTotalsTypedDict(TypedDict): @@ -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,13 +334,46 @@ 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.""" 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class Amount(BaseModel): @@ -260,7 +383,26 @@ class Amount(BaseModel): 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.""" + r"""The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" + + +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. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).""" class LineItemTypedDict(TypedDict): @@ -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" },