diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 3949a0bb..72f2fcce 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: ab657d60-207e-43a4-8cc8-692a672950ed management: - docChecksum: 2dbdfb7ae284b953d36e3c6ef1ea20bd + docChecksum: 3b05d0a362a902830b8e4370aa745f9c docVersion: 0.0.1 - speakeasyVersion: 1.788.1 - generationVersion: 2.915.1 - releaseVersion: 0.37.1 - configChecksum: f62f905fc023ea64f30c8a3de2731901 + speakeasyVersion: 1.790.3 + generationVersion: 2.918.4 + releaseVersion: 0.37.2 + configChecksum: ef3bfaf9e5798ca72ede9b2d66dd6361 repoURL: https://github.com/dubinc/dub-python.git installationURL: https://github.com/dubinc/dub-python.git published: true persistentEdits: - generation_id: 8e5fb9f9-872d-499a-b121-d79ec56e98dd - pristine_commit_hash: 9e906bdee1d530c6a3126efaaff7caa3f9c79839 - pristine_tree_hash: 65afc5cadb1f563cd1c5c43d3d4cdb6d1100f89b + generation_id: dbc916ae-ab82-4433-b579-d2fa3e5cdc69 + pristine_commit_hash: c2c0d713e857c70bb3ac12411b3e8701b94a7fc2 + pristine_tree_hash: 9ca1bc38dae1c44c0d77c65490d34732fe4e25c3 features: python: additionalDependencies: 1.1.0 @@ -170,8 +170,8 @@ trackedFiles: pristine_git_object: ecb29dd1594f184f404bc8fe33b44bf83302b076 docs/models/components/commissioncreatedeventstatus.md: id: 04f0294fc936 - last_write_checksum: sha1:ad742aaa630b8d9bdcba39bbb76ee9ed1c8f25be - pristine_git_object: aae5d3676b6c844331f4cbfeaee6a92a2dbe1ae2 + last_write_checksum: sha1:bbf039ffc2c7d3af8a5a09b9b5fbc8959b04bad9 + pristine_git_object: 702b43f253af367861be1b9ba42acd4500c16c99 docs/models/components/commissioncreatedeventtype.md: id: ddc7eee92ee4 last_write_checksum: sha1:a2b60ff8ee7e5504e56d5e104c15ed0480275f1a @@ -190,8 +190,8 @@ trackedFiles: pristine_git_object: b21cd4146cfca6022dbe79c19f0d28419b89c681 docs/models/components/data.md: id: 3f89c52c2b17 - last_write_checksum: sha1:d1581a95067bfd8986109aac929c6a43b7b7ab23 - pristine_git_object: c920a8b7510bd5c9e94db8535f6780272cc11fe0 + last_write_checksum: sha1:d6af35be5a5de6ccabf2d00f464c8babf0714269 + pristine_git_object: d170e9761feac3abf48d0bc9817302551016bd97 docs/models/components/defaultpayoutmethod.md: id: 1dcb6d396efc last_write_checksum: sha1:dfebdb2b7f0e9f1661f3ff84fffbd227b5953c2c @@ -266,16 +266,16 @@ trackedFiles: pristine_git_object: c00fd77470f5c2537bd9141b9adc9603aef4fb12 docs/models/components/leadcreatedeventlink.md: id: d1fdc73e508c - last_write_checksum: sha1:f8dc7740c705362ab9fc6d1b2210af9ab0ef0aaa - pristine_git_object: 7a33fb88d14ccea06e8fcd21473676e299b00cc3 + last_write_checksum: sha1:5299ccd5c67d92ce43ccf51b4caa6b49b393429f + pristine_git_object: 427968a9821342fb8251571f7d5f653239ac15fb docs/models/components/leadcreatedeventtestvariants.md: id: e622aaafbdb2 last_write_checksum: sha1:c9d089df6ede382873f0aa22f99e891c04505899 pristine_git_object: 8656ab10e2cd8c41389faaab6d6d5f811c9a831e docs/models/components/link.md: id: 9e6e1afe0cdc - last_write_checksum: sha1:bb920ecf9fbf1df732407a44d70c463c1c2f2bfe - pristine_git_object: c5b6966933f2418fe528b9eeb7c6332e8fd2398c + last_write_checksum: sha1:d300abd0591598c4e28537c6ea8b6209b00db235 + pristine_git_object: 32b1f8df47997602a616d278dc2f41217eed7506 docs/models/components/linkclickedevent.md: id: 767542b3e0d4 last_write_checksum: sha1:865a60284c908f4bd0e3686188fae9f831a367a9 @@ -454,8 +454,8 @@ trackedFiles: pristine_git_object: e6c76a83af2dd8cba960af2c2676e0ecaf154cf2 docs/models/components/salecreatedeventlink.md: id: 065e0e115654 - last_write_checksum: sha1:4b305c73e0a03c2cb4e82ac6de6962f605ced7e1 - pristine_git_object: a85eca8a6ec3b1e516753623e60bc9898f1fa47e + last_write_checksum: sha1:53f940b78a4f0fea0441224231468ff0aff6f8aa + pristine_git_object: 42f1a367227b23f7cd9d77506d98c10546533753 docs/models/components/salecreatedeventpartner.md: id: 462199a2a5e6 last_write_checksum: sha1:90635ab7bc0157f43bf1165a55fc7fdfabbfaa71 @@ -690,8 +690,8 @@ trackedFiles: pristine_git_object: a45d6ad28e42aa2c1c0d3c6c709ff657ef112bca docs/models/operations/bulkupdatecommissionscommissionsstatus.md: id: 58b839b9d013 - last_write_checksum: sha1:1e591002195b6acbc69f42258b1d868a1bf649cb - pristine_git_object: f511f39aa61313e65596114c8eccf531b91a047d + last_write_checksum: sha1:30a4a2c5828d0ebc62980a0775692020d8923761 + pristine_git_object: 1a8331ca565b45b6fb358a2a545f98f78d5c1783 docs/models/operations/bulkupdatecommissionsrequestbody.md: id: cb7fd7fa5416 last_write_checksum: sha1:f9e0e91c7ad028e40bde42b4cb2b5e5b8801a57f @@ -1118,8 +1118,8 @@ trackedFiles: pristine_git_object: 64604aa11b8607d893457e1e7e1205df69ac9dac docs/models/operations/getcustomersrequest.md: id: 4e8c14d14db7 - last_write_checksum: sha1:e9af1eed7fdb4128f2d039083ff213a83533e461 - pristine_git_object: 743ac48e0bd1ee855b3c1db9574477b32160747b + last_write_checksum: sha1:bad54a4be506091bee1903eff913fe11736b08a1 + pristine_git_object: 251c12c0a669b494161c85d534150b47922833ed docs/models/operations/getcustomersresponse.md: id: ceb691c24a06 last_write_checksum: sha1:e6b292d9942d5c78a684b0700fde0b4e5d997d86 @@ -1154,8 +1154,8 @@ trackedFiles: pristine_git_object: e2139a8dffb449e99500eb9f6f9723ec8ed07591 docs/models/operations/getlinksrequest.md: id: eb8ad99208aa - last_write_checksum: sha1:32027a75d8c68f50bf0d65ecb7ffc904ff377a22 - pristine_git_object: 866e79ab2e4256e32e5e43e269b1082a3b0784e6 + last_write_checksum: sha1:e1f85c65a7fb6c8387a6d6db4b3807a9fe5f00fd + pristine_git_object: d75fefc69558a2ac895a607cf50aae392cccef16 docs/models/operations/getlinksresponse.md: id: 2a64441edf3f last_write_checksum: sha1:2e36fcfc8af7d628d31d55cd8f7578a629fd95d2 @@ -1166,8 +1166,8 @@ trackedFiles: pristine_git_object: b0f06e62c35603049dd24dbda7a1e4b7a56dc122 docs/models/operations/gettagsrequest.md: id: 5b368946f43f - last_write_checksum: sha1:7492727cf227fefe957a4a394ec80d46de9f34ee - pristine_git_object: 73e37a5678a890f57272bc7f417951e99df1e59e + last_write_checksum: sha1:f5d81baa62177503a58999646d450daac4df5e01 + pristine_git_object: 15106c78f421731265fec3eb8cfdbcbfdbe47bdb docs/models/operations/groupby.md: id: 1575cef31f36 last_write_checksum: sha1:7c73f12d42256866b157c98e2d976d9206ac932e @@ -1214,8 +1214,8 @@ trackedFiles: pristine_git_object: bd0bfd1053339981b64de92184c79dd2c5a8e360 docs/models/operations/listbountysubmissionsrequest.md: id: 7da58a63a48d - last_write_checksum: sha1:bcc470489b8a8c4b50915d191143bcf8c15aa548 - pristine_git_object: 4b3a0f38118db6b1bc5cd96b29dafd499c68fe43 + last_write_checksum: sha1:a7623ad6092a3826084a41b05d7b199e51998010 + pristine_git_object: b03c80dcf6442d40aa286eefdcbe471c12951aa5 docs/models/operations/listbountysubmissionsresponsebody.md: id: 82e7d60f5d44 last_write_checksum: sha1:279951c3fafefe166e86020194d3b0e7d446c16d @@ -1246,28 +1246,28 @@ trackedFiles: pristine_git_object: 2ae770ffc88df22a7d91642a4e55b70009cf77b0 docs/models/operations/listcommissionsrequest.md: id: 3db2f1c49f34 - last_write_checksum: sha1:4358412a9b0e01cf1d42e26e6a0f0007c728e40f - pristine_git_object: 83eb2983b3203191ddc89dcf72abebcac5fb349b + last_write_checksum: sha1:78e06070e24d4a321e60abb5a9c1302d49407b7a + pristine_git_object: 6e1fa261bcc010b394454645759c61c065a491ba docs/models/operations/listcommissionsresponse.md: id: 6de464f720eb last_write_checksum: sha1:c4dbf265a81bbe2f55bff665719e90d616884df0 pristine_git_object: 74b08ad0fd59610d8eddba66cf06393d1ab49721 docs/models/operations/listcommissionsresponsebody.md: id: 8c3436662e79 - last_write_checksum: sha1:049a7728a56b049d5cd6bcc2f6f85746bffba231 - pristine_git_object: d1ea6dea561a82a6257b11cc0b6794e5b8f139e0 + last_write_checksum: sha1:39d9db594f46788690793fca619b76b9a6639aba + pristine_git_object: 3a1fe8f087ca57ce9858c7ba7cd6ff10cffa0f4a docs/models/operations/listcommissionsstatus.md: id: 5204c1cc3f78 - last_write_checksum: sha1:84e385a88b698a50c3315549a888b2262e198054 - pristine_git_object: 4f84dedfda61d55a1cac2f4437eac15e1b8ada47 + last_write_checksum: sha1:908f73f55ce10a17d4e8944ad26ee46693295b9f + pristine_git_object: 9a31a6b4be8bf726e170b24809725d313015e5b9 docs/models/operations/listcommissionstype.md: id: a21b21168f76 last_write_checksum: sha1:894b2599b60d33b1f50ac304fd0d4fd544a931e8 pristine_git_object: c121fb32c19e68fc10ade969a58d3ed91d1a4dce docs/models/operations/listdomainsrequest.md: id: 67bb29884839 - last_write_checksum: sha1:e3c9e44e386032cf60afe130225b5ddfca629e1c - pristine_git_object: 1f34025f2b745f7e9dc8002b6846798025c08419 + last_write_checksum: sha1:aa3961a203a656ed3cb5c1be8ed33bed7869ecbb + pristine_git_object: 72a2b1dc01925c48de162ee2577a29ece54f584f docs/models/operations/listdomainsresponse.md: id: c04f9fccf81e last_write_checksum: sha1:1fba096d2023b1a939f8a94606eef3f06759cd8b @@ -1302,32 +1302,32 @@ trackedFiles: pristine_git_object: ffa3489052aef7dd2c4386803374cca24287b2de docs/models/operations/listeventsresponsebodyeventslink.md: id: d544f505505c - last_write_checksum: sha1:1c85ab8f2ab45b5e2228c6756d674bcf304125bb - pristine_git_object: 8479d139035b488f878bf6e400e850c7e6710d15 + last_write_checksum: sha1:05fdc4858a0f8dba03a177513188a752de05ea9e + pristine_git_object: cc369be3598459aeb4642b71cb7d375dbc3fb437 docs/models/operations/listeventsresponsebodyeventstestvariants.md: id: ac50617ce887 last_write_checksum: sha1:f5726b6a7f440e32817549afc4e9aec0dc1e2b90 pristine_git_object: 78f5f5589119cb09bd9d4fdd61cc9e3845862feb docs/models/operations/listeventsresponsebodylink.md: id: 5e90a6cbcc3d - last_write_checksum: sha1:5f4cb61a754f3ed0f65173de4c88630473028dd5 - pristine_git_object: 3332ffbb54613d338cd1f774e3b87d8a9e199145 + last_write_checksum: sha1:129adf0d4281685fbcf1286aafb1d226befe8601 + pristine_git_object: 24c3d593722a6ab63316ba3bcd9845a74a99148e docs/models/operations/listeventsresponsebodytestvariants.md: id: 7d3c1dde9c57 last_write_checksum: sha1:e9701d0dd4e9278f3491b5817031117135ddacb3 pristine_git_object: d2b9dc165de27accfb8051e1f11f308be1d15f99 docs/models/operations/listfoldersrequest.md: id: adfeceeefb34 - last_write_checksum: sha1:3d1ef422f2ad96f2d4c2371371cac2d3dc255876 - pristine_git_object: 1c60f514e3dd14fccd50c3e30e5c53fa0808faaf + last_write_checksum: sha1:9d342e0543c84de48721bea6c63281e820df9a75 + pristine_git_object: 3feeb173c8ea6a2d21f218dfdf6989a20a01f0e3 docs/models/operations/listpartnerapplicationspartner.md: id: fdb71530602b last_write_checksum: sha1:9cfebb92726c7e23aa454305cd27280a574930f8 pristine_git_object: b4973b6d35a7457f7e57f72647cf5c464594c1ec docs/models/operations/listpartnerapplicationsrequest.md: id: 823127f38a9c - last_write_checksum: sha1:5ab90c270deb78b6e0b83c9e28a9a5d1c2dfdd48 - pristine_git_object: de47c06f81e7d85e3478752c0e9cd31f5b2db170 + last_write_checksum: sha1:cc76a151a5e284bccea55a15efa3bdf72f10bd8e + pristine_git_object: 58fcbcc6a5aadb2f7cf36d4c177d05f403c815ac docs/models/operations/listpartnerapplicationsresponsebody.md: id: 9df2d5397209 last_write_checksum: sha1:4d39e9649abc6459b455597412007993daed6e0e @@ -1382,8 +1382,8 @@ trackedFiles: pristine_git_object: 2cec0408eeb83ac81325aff77f4830aadb55d12e docs/models/operations/listpartnersrequest.md: id: 349c06dcc3d5 - last_write_checksum: sha1:5d28be7e3cc0191e9dfb645857fe6addc1853871 - pristine_git_object: 8d55395af69519521075a0dc3ad83153c2a8131d + last_write_checksum: sha1:11ccae8b022fc06be01d261d60a9eeb1cc8eefe8 + pristine_git_object: 19c5c1996552be17f9911adf86abfa08838c8e6a docs/models/operations/listpartnersresponsebody.md: id: e60469e13fe9 last_write_checksum: sha1:46debe516d41d9ac1f81b1f1cf06545342e1e07b @@ -1418,8 +1418,8 @@ trackedFiles: pristine_git_object: 9d6686cc49976b303919de3228767d4bf8182860 docs/models/operations/listpayoutsrequest.md: id: 6dd23fd73b18 - last_write_checksum: sha1:cedfef09167657cac0c43dbd8480fa3357519b48 - pristine_git_object: fdd6b76320d1c561c7793ca3af1e2e8363eec5d2 + last_write_checksum: sha1:68827701a5d666856e53ae72b45ed71e54145ea4 + pristine_git_object: 716454461a8d2e1b6068075a6b333375d1f25714 docs/models/operations/listpayoutsresponsebody.md: id: 7eac2cde93d6 last_write_checksum: sha1:b1a8b88221091d412ee0879748d07e6423f1e435 @@ -1490,8 +1490,8 @@ trackedFiles: pristine_git_object: 5fa53438f1cd7cc2447c6fa76d0d7ec949fe8cbc docs/models/operations/queryparamstatus.md: id: cf4731785401 - last_write_checksum: sha1:7f0bdcadbd794c7933bdacf0044583c9a830cae2 - pristine_git_object: c69b0b75c68c055bbda23b08c4561e50e5261e6e + last_write_checksum: sha1:d065422177ab9c15ae84007497f9baf63697158a + pristine_git_object: 3ed07a47e99ddbda071c6e781218a6058cec758c docs/models/operations/queryparamtagids.md: id: 6872958eb323 last_write_checksum: sha1:7cfeeedc790c8e5ccd7c64fedeca103bfbaec7d1 @@ -1598,8 +1598,8 @@ trackedFiles: pristine_git_object: b77faf95c3784cc483b1c52c8c958dd22cff939c docs/models/operations/responsebodylink.md: id: d15f831813d7 - last_write_checksum: sha1:9ca6fe8ad64a38de891dd400d4d68dd3cb19fbfa - pristine_git_object: b9361a6c0b688e8d30cc82bb27273c1692175322 + last_write_checksum: sha1:a092bea8aee72d141309b01f290c23a410c20cb6 + pristine_git_object: af9c47354e9aa96738e09e9f972fbce4ae17d938 docs/models/operations/responsebodypaymentprocessor.md: id: b6fe3aac607d last_write_checksum: sha1:2cb59373f164499e0e1763f9d73cd7347a4781c4 @@ -1746,12 +1746,12 @@ trackedFiles: pristine_git_object: a868919275f8c9651cb1878d432e9f87f705d1ec docs/models/operations/updatecommissionresponsebody.md: id: a22399ad4e94 - last_write_checksum: sha1:7a1177443402310ae7464bb69143f0b8d3938433 - pristine_git_object: 03a177ccc3d7300555b0a4ff3eddc2ba854a7c4b + last_write_checksum: sha1:b7e4ecccea425233178829ce7b83b914f8082979 + pristine_git_object: 829590e8372c534ddb76c189b3b06269184ea925 docs/models/operations/updatecommissionstatus.md: id: 89160707cc65 - last_write_checksum: sha1:01b5eb875902eb54771222d26755fddd26e5269b - pristine_git_object: b8b2ab4c05668a1bdc7db7d4d85f40108953aa29 + last_write_checksum: sha1:3fb768f721974165ac4d95b3f0b232dcebb351b3 + pristine_git_object: 9d9caed0e401d30710ec5535d0ada86644fc975a docs/models/operations/updatecommissiontype.md: id: 62a460f0fff7 last_write_checksum: sha1:b585402e7efd10f63c1280018a6750939b51689f @@ -1954,8 +1954,8 @@ trackedFiles: pristine_git_object: 0694fc0429fe2e082727e6847677957b9027e81e pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:33cb3c06e06bb4fd36b25bd84e7db81992fb5dc2 - pristine_git_object: c720c3654a148db72abcc78b4a6a51e581bd1ae7 + last_write_checksum: sha1:4e62dec3d93e7544a5d4954578ab74681521751a + pristine_git_object: bb2dd4c9e81f56ef1dea8ab4c79f48bf7b3d5bfa scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:98ab0adc36f1ccd31422544b0dd94e008aa47804 @@ -1982,8 +1982,8 @@ trackedFiles: pristine_git_object: ea5bc2d7f189075f453b6e70c60f2eaa418ff18e src/dub/_version.py: id: 2e88e1f01047 - last_write_checksum: sha1:07cfbf134935d3e5d53a5b557bff1e27af3d7459 - pristine_git_object: 212d9f9c1524ffaec8db5e67729a2153d6edd032 + last_write_checksum: sha1:04500fd4b21c6b44f6d3adff46579791e581ed6a + pristine_git_object: b1f238ebe96e58d50aa37df855f94baf76adec98 src/dub/analytics.py: id: b7a4fa47e744 last_write_checksum: sha1:483eac9a8044989991e4e6edf968ac9e8e0998cc @@ -2094,8 +2094,8 @@ trackedFiles: pristine_git_object: aa84354d71f3872288504601aadca30702e0d441 src/dub/models/components/commissioncreatedevent.py: id: b2f4948f1e5a - last_write_checksum: sha1:a316ab728b5b37b378b1c545c80c32992f00d4be - pristine_git_object: fa78e6e1756e7cb91a4de8cfb803c244616c95ae + last_write_checksum: sha1:536cac266b8947591a2acdbeb00b39dd57fb34ea + pristine_git_object: ee411d89a6e72918846ce2f524811d3ad480f4b3 src/dub/models/components/domainschema.py: id: b6034ff0c3c8 last_write_checksum: sha1:11548fc2e146c8c6f3380d190628ed468cb5bd61 @@ -2106,12 +2106,12 @@ trackedFiles: pristine_git_object: 158c38f3552545e24a802a31e5be8e09095c1cd7 src/dub/models/components/leadcreatedevent.py: id: 4a52002988a6 - last_write_checksum: sha1:21624eb6080779ac98991f1911e4c211f76ab17a - pristine_git_object: 3ea2e5d6a2739b7f08ba1d6bc52b30642d48c28a + last_write_checksum: sha1:a27aa3b099211baf3e4fec72e016306ff6c180a4 + pristine_git_object: ba8a5887d8324766bde573fbb479fd0dfd6bda27 src/dub/models/components/linkclickedevent.py: id: 99d302fd7046 - last_write_checksum: sha1:b74813b2c5a61276dcdc9f49bc53d6443c6e41dd - pristine_git_object: 6f9487dbb8e8776070aeab1cecb5e5c11e7f9b9b + last_write_checksum: sha1:230a8f711af72c82fd69e5ab87d032271bfd4270 + pristine_git_object: 7387efa4e9fa636e059f660c11f198f6d8e4c233 src/dub/models/components/linkerrorschema.py: id: 1b6e28417f64 last_write_checksum: sha1:3aab0fc168159e4e5cb67a23510cb67fa4804047 @@ -2130,8 +2130,8 @@ trackedFiles: pristine_git_object: 20e3f40a4aa7b1a84e5798dc3dc453cc085ee70a src/dub/models/components/linkwebhookevent.py: id: c3defe8645fa - last_write_checksum: sha1:282636add626153be3e64e64dc44555390303e16 - pristine_git_object: 2a2c067191ed6b6357d4c475003e38dc380e14b4 + last_write_checksum: sha1:31ea66f93106833727f1ea340476404b2c06dbe6 + pristine_git_object: 4bdc00231eb332fba4b8c84e8cbe8cc6dc7b773f src/dub/models/components/partneranalyticscount.py: id: 36ce3721a8b0 last_write_checksum: sha1:8ac790bb4bd9770e3664aa3ee98da5bddaa5ef71 @@ -2154,8 +2154,8 @@ trackedFiles: pristine_git_object: dbf5e3b8722e8eaca19ee6caf3c1e55e591b6fbe src/dub/models/components/salecreatedevent.py: id: 216d1319967a - last_write_checksum: sha1:5222cdc38f8d227ce6c308a35b5bfb015f808895 - pristine_git_object: e03ef12e8db37957fdeeb51828638474ae0a824b + last_write_checksum: sha1:9ae756f26362f82851baaa16e14defb7fd02b5c0 + pristine_git_object: d0f623c933a920a56e24726b327440bd8058e2b6 src/dub/models/components/security.py: id: 4db1b42b747c last_write_checksum: sha1:63fc7ade491e00d45ed5bf960ddaf441cbd4a836 @@ -2246,8 +2246,8 @@ trackedFiles: pristine_git_object: 6c72d6311e7721dea31d594a6e84ae7b6853c18d src/dub/models/operations/bulkupdatecommissions.py: id: f5196005fc88 - last_write_checksum: sha1:dca8d59e6e48d2db33266604d99799c74d140871 - pristine_git_object: d315ba0b5387bffab061250f289dfde3b4ea5c62 + last_write_checksum: sha1:167ba7c0dd0f47436f41d9419e68183c1960e63c + pristine_git_object: cd0d2e0452c159d12f9e901269ef2fb9279a3791 src/dub/models/operations/bulkupdatelinks.py: id: 1b783486b117 last_write_checksum: sha1:06cf8c69a1d57058f07db101135e22f5b75467ad @@ -2318,16 +2318,16 @@ trackedFiles: pristine_git_object: aa76a9c5e5358d2626d214a7e2bc6e8220df3b27 src/dub/models/operations/getcustomers.py: id: d9523edc5502 - last_write_checksum: sha1:66422846b545ee99d173c294f48a32e6290b2a81 - pristine_git_object: 1ce4ed93c69152e380760999bac9af1049973953 + last_write_checksum: sha1:3851957521bfbc090bf5c4a2241c58bbb2c8909e + pristine_git_object: 2803a6e8eb04f3d7698d30f2771e547d7e465566 src/dub/models/operations/getlinkinfo.py: id: 6bff19a3ed50 last_write_checksum: sha1:77cb997cf3ee629b6d425ce135e7a02a9a2204e6 pristine_git_object: 6a09449609e3d8a2b769a648b09603ed27e195dc src/dub/models/operations/getlinks.py: id: 8cf4c0d9eeda - last_write_checksum: sha1:edbc44f7077aba25a5e39da6bdd241163278f97c - pristine_git_object: c209dccdc2dc6f156509d1e47889b8b77e57246d + last_write_checksum: sha1:c49d33b7cf50711c650641360d1c3ddcc6730a1e + pristine_git_object: 34c0452453e0d63e5d20db0df4513557978ab90e src/dub/models/operations/getlinkscount.py: id: b419e9c0d467 last_write_checksum: sha1:0b2b318c680ee7c493dca8a21272d5176eb913ca @@ -2338,40 +2338,40 @@ trackedFiles: pristine_git_object: 4bef826aee15d2285da8928c903c879070f2f224 src/dub/models/operations/gettags.py: id: 12c0d5709d34 - last_write_checksum: sha1:79ceccd41bceb7ee1de192d45e85a8230b79c8dd - pristine_git_object: 06547710b35a9db531389773173acf56934cea91 + last_write_checksum: sha1:ef62441fb733e6649e661b542bc606081599fde5 + pristine_git_object: f1d48b1f22499ed578284a531841ac01cfb491f2 src/dub/models/operations/listbountysubmissions.py: id: 763262897cc0 - last_write_checksum: sha1:b25b8af1cffb20b50b0774883288466f527705cf - pristine_git_object: 542271b059e73aa560a573c34f8dcc3ec494acc1 + last_write_checksum: sha1:20c4cbe26007c5282a6981f5e09a3db2b003b259 + pristine_git_object: f09b81b0045594e3b98d0d774b85fcecc3223cea src/dub/models/operations/listcommissions.py: id: 992f4436b681 - last_write_checksum: sha1:4bb170f7ffbc172f39164374272ad9d411c34196 - pristine_git_object: e3c5272bdc4e1d3a14c451723341bb33018cf6da + last_write_checksum: sha1:ad66d1ab6335d1e9f4fb7ad7e622433851845baa + pristine_git_object: f80e4573b6c194bcb604f21b658ff03f49549c76 src/dub/models/operations/listdomains.py: id: d32b3e207565 - last_write_checksum: sha1:d51ab77dc9cf5174a7c002bd7478b800f92cbf06 - pristine_git_object: 2b1047289ac8171c7cbcbfe72a9a2620424d5d6d + last_write_checksum: sha1:b7431b72ccc7c8569207705b4a2c88bb659c7fad + pristine_git_object: 34bc64f0e6a3d9224815dbfada256a4dfcce8fe0 src/dub/models/operations/listevents.py: id: e65c95de179b - last_write_checksum: sha1:8b15910fb286ab5b0b6f371f99be220193093383 - pristine_git_object: 4e15393447d12aa32df641e1f87fc0152d1c2cc0 + last_write_checksum: sha1:676ddc29ad2f7025d188ff11ffb3a59040d7b285 + pristine_git_object: 3e578d865c40c9203b21f4ce92c788b8b13cbb62 src/dub/models/operations/listfolders.py: id: 42dbcd5bbad8 - last_write_checksum: sha1:354dcb51fcbf90e8e41a07d3e2abf5ecf58349cb - pristine_git_object: 590ff319048e5309c4b596bd32ac4288606294ea + last_write_checksum: sha1:3642dc7f3e2af0f41f63c6ca6c67a0192c637ca2 + pristine_git_object: c099a160b314e3ea500ff07976668d336387c77d src/dub/models/operations/listpartnerapplications.py: id: 3b868bf70447 - last_write_checksum: sha1:8245087f8259e53618d82e79eb43a083d522b36a - pristine_git_object: 209fe43782da49da46e69934bc3176583a548498 + last_write_checksum: sha1:fd494d9f2df2e1c6a183b2deb776ab4511bea8b8 + pristine_git_object: b0b450cd18c379b36e1922221e752adc1e5e5f99 src/dub/models/operations/listpartners.py: id: f5459d336462 - last_write_checksum: sha1:979943b8cff7c9b61940545e8de1897749c3a23d - pristine_git_object: a58c4f977c57ee2a3a4a9cbd2cb5e10483af8c2c + last_write_checksum: sha1:36ced656c7c29aa9f795bd0f1bf3deed160c94f9 + pristine_git_object: cc394d533808aabcd7392956f6e7fb6e433d39ae src/dub/models/operations/listpayouts.py: id: d5cd6d0e4a39 - last_write_checksum: sha1:5e8d199b98e026f9965b2afaa4591a663b343dde - pristine_git_object: 1003cc78ce9870af85adb9d45d4abd087950a5e1 + last_write_checksum: sha1:6c2d5ba0fcd43d14af532efb512c38122dd20c12 + pristine_git_object: e233c1145d7cbfbaaff9b4b019d62303a337b9f5 src/dub/models/operations/registerdomain.py: id: d228522511ae last_write_checksum: sha1:d5bd4b8cab186dd5120594327694c916d294c8e7 @@ -2406,8 +2406,8 @@ trackedFiles: pristine_git_object: acc1f10741edea231a3a31f38004de2798733c7f src/dub/models/operations/updatecommission.py: id: 5efb92f68d93 - last_write_checksum: sha1:b1765ac757a747afbcf55460d64bbaaf6a8f2490 - pristine_git_object: 745888a32ab9b530352097208d758646b86c3dbf + last_write_checksum: sha1:a1aa1463f5ad3767c26c4db49c095b857b5c61a2 + pristine_git_object: f69021b59a240a13a1bdc6abdae76bbcd12f2686 src/dub/models/operations/updatecustomer.py: id: 5487589e4e19 last_write_checksum: sha1:abfcc3c5706856a5c4dc7627f43569e61669bf26 @@ -2486,16 +2486,16 @@ trackedFiles: pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee src/dub/utils/__init__.py: id: 697102dbf447 - last_write_checksum: sha1:1970816f2234ecb8785798240b0edced961de971 - pristine_git_object: 0498cb8dabf249b39609f81fb10cddc30f1b78b5 + last_write_checksum: sha1:53c9544397bbc534c45a228feac3cdb2e9017fe6 + pristine_git_object: 7af3b82cf95edc2901bc85b2624c54f39b7f9724 src/dub/utils/annotations.py: id: ab0a38758bc4 last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc pristine_git_object: 12e0aa4f1151bb52474cc02e88397329b90703f6 src/dub/utils/datetimes.py: id: d9b823b8d64d - last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341 - pristine_git_object: a6c52cd61bbe2d459046c940ce5e8c469f2f0664 + last_write_checksum: sha1:fa47d54c549ff9b95496ce91930fadfb04a36be9 + pristine_git_object: adad24762cf452d137abe94fda0fd26224cef593 src/dub/utils/dynamic_imports.py: id: fdd579e44ae0 last_write_checksum: sha1:a1940c63feb8eddfd8026de53384baf5056d5dcc @@ -3674,7 +3674,7 @@ examples: startingAfter: "cm_1KAP4CGN2Z5TPYYQ1W4JEYD56" responses: "200": - application/json: [{"id": "cm_1JVR7XRCSR0EDBAF39FZ4PMYE", "amount": 3320.11, "earnings": 7217.59, "currency": "Ethiopian Birr", "status": "refunded", "invoiceId": "", "description": "entire apud whereas maintainer or impressionable beyond mindless", "quantity": 9385.84, "createdAt": "1725904231169", "updatedAt": "1735639009138", "partner": {"id": "", "name": "", "email": "Robb.Connelly98@yahoo.com", "image": "https://picsum.photos/seed/Iy5IMeaTL/492/441", "payoutsEnabledAt": "", "country": "Greenland"}}, {"id": "cm_1JVR7XRCSR0EDBAF39FZ4PMYE", "amount": 3320.11, "earnings": 7217.59, "currency": "Ethiopian Birr", "status": "refunded", "invoiceId": "", "description": null, "quantity": 4998.11, "createdAt": "1725904231169", "updatedAt": "1735639009138", "partner": {"id": "", "name": "", "email": "Robb.Connelly98@yahoo.com", "image": "https://picsum.photos/seed/Iy5IMeaTL/492/441", "payoutsEnabledAt": "", "country": "Greenland"}}] + application/json: [{"id": "cm_1JVR7XRCSR0EDBAF39FZ4PMYE", "amount": 3320.11, "earnings": 7217.59, "currency": "Ethiopian Birr", "status": "refunded", "invoiceId": "", "description": "entire apud whereas maintainer or impressionable beyond mindless", "quantity": 9385.84, "createdAt": "1725904231169", "updatedAt": "1735639009138", "paidAt": "", "partner": {"id": "", "name": "", "email": "Robb.Connelly98@yahoo.com", "image": "https://picsum.photos/seed/Iy5IMeaTL/492/441", "payoutsEnabledAt": "", "country": "Greenland"}}, {"id": "cm_1JVR7XRCSR0EDBAF39FZ4PMYE", "amount": 3320.11, "earnings": 7217.59, "currency": "Ethiopian Birr", "status": "refunded", "invoiceId": "", "description": null, "quantity": 4998.11, "createdAt": "1725904231169", "updatedAt": "1735639009138", "paidAt": "", "partner": {"id": "", "name": "", "email": "Robb.Connelly98@yahoo.com", "image": "https://picsum.photos/seed/Iy5IMeaTL/492/441", "payoutsEnabledAt": "", "country": "Greenland"}}] "400": application/json: {"error": {"code": "bad_request", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#bad-request"}} "401": @@ -3700,7 +3700,7 @@ examples: id: "cm_1JVR7XRCSR0EDBAF39FZ4PMYE" responses: "200": - application/json: {"id": "cm_1JVR7XRCSR0EDBAF39FZ4PMYE", "amount": 7439.54, "earnings": 3399.15, "currency": "Gourde", "status": "processed", "invoiceId": "", "description": "ferret heavily depot per briefly", "quantity": 4142.74, "createdAt": "1712704982111", "updatedAt": "1735651406534", "partner": {"id": "", "name": "", "email": "Abbey_Tromp78@gmail.com", "image": "https://picsum.photos/seed/341QLpYt/2312/3915", "payoutsEnabledAt": null, "country": "Algeria"}} + application/json: {"id": "cm_1JVR7XRCSR0EDBAF39FZ4PMYE", "amount": 7439.54, "earnings": 3399.15, "currency": "Gourde", "status": "processed", "invoiceId": "", "description": "ferret heavily depot per briefly", "quantity": 4142.74, "createdAt": "1712704982111", "updatedAt": "1735651406534", "paidAt": "", "partner": {"id": "", "name": "", "email": "Abbey_Tromp78@gmail.com", "image": "https://picsum.photos/seed/341QLpYt/2312/3915", "payoutsEnabledAt": null, "country": "Algeria"}} "400": application/json: {"error": {"code": "bad_request", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#bad-request"}} "401": @@ -4166,7 +4166,7 @@ examples: application/json: {"error": {"code": "internal_server_error", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#internal-server_error"}} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Python SDK Changes:\n* `dub.track.lead()`: \n * `request.event_quantity` **Changed** (Breaking ⚠️)\n" +releaseNotes: "## Python SDK Changes:\n* `dub.links.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.events.list()`: `response.[]` **Changed** (Breaking ⚠️)\n* `dub.tags.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.folders.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.domains.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.customers.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.partners.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.partner_applications.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.commissions.list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.[]` **Changed** (Breaking ⚠️)\n* `dub.commissions.update()`: `response` **Changed** (Breaking ⚠️)\n* `dub.commissions.update_many()`: `response.[].status.enum(hold)` **Added** (Breaking ⚠️)\n* `dub.payouts.list()`: `request` **Changed** (Breaking ⚠️)\n* `dub.bounties.list_submissions()`: `request` **Changed** (Breaking ⚠️)\n" generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 391a1a1d..d0540fdc 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.37.1 + version: 0.37.2 additionalDependencies: dev: {} main: {} @@ -46,6 +46,7 @@ python: constFieldCasing: upper defaultErrorName: SDKError description: Python Client SDK Generated by Speakeasy + durationFormat: false enableCustomCodeRegions: false enumFormat: enum errorSchemaValidation: true @@ -94,3 +95,4 @@ python: sseFlatResponse: false templateVersion: v2 useAsyncHooks: false + uuidFormat: false diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index c87ae7d3..f4be4737 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.788.1 +speakeasyVersion: 1.790.3 sources: dub: sourceNamespace: dub - sourceRevisionDigest: sha256:aa8a69666b758b046f458555621251fb4107f0f7d41d46883b213fbccc684613 - sourceBlobDigest: sha256:1db2f6a1f12ab282952cc9e95372144ad368c786d836cfa18437492a95b8213c + sourceRevisionDigest: sha256:79c11218941bfae57cc037d03004f2a13c80703e0be6e15c15bea35d1c13dc43 + sourceBlobDigest: sha256:cbb626d78f181461d9491e007b30045648965c7dfc8023de32c7a0ce78f53fe8 tags: - latest - 0.0.1 @@ -11,10 +11,10 @@ targets: my-first-target: source: dub sourceNamespace: dub - sourceRevisionDigest: sha256:aa8a69666b758b046f458555621251fb4107f0f7d41d46883b213fbccc684613 - sourceBlobDigest: sha256:1db2f6a1f12ab282952cc9e95372144ad368c786d836cfa18437492a95b8213c + sourceRevisionDigest: sha256:79c11218941bfae57cc037d03004f2a13c80703e0be6e15c15bea35d1c13dc43 + sourceBlobDigest: sha256:cbb626d78f181461d9491e007b30045648965c7dfc8023de32c7a0ce78f53fe8 codeSamplesNamespace: code-samples-python-my-first-target - codeSamplesRevisionDigest: sha256:6f77db4e8a2163a9becfce617ae93e9d2e18f1b94dd68d2236b847d85a39e8f7 + codeSamplesRevisionDigest: sha256:d93481efb757d07f5a52666da2d21f31feeb64c3d6261da489aa440b2c8a0e73 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 621370b4..05a05a56 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1566,4 +1566,14 @@ Based on: ### Generated - [python v0.37.1] . ### Releases -- [PyPI v0.37.1] https://pypi.org/project/dub/0.37.1 - . \ No newline at end of file +- [PyPI v0.37.1] https://pypi.org/project/dub/0.37.1 - . + +## 2026-07-24 03:14:16 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.790.3 (2.918.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.37.2] . +### Releases +- [PyPI v0.37.2] https://pypi.org/project/dub/0.37.2 - . \ No newline at end of file diff --git a/docs/models/components/commissioncreatedeventstatus.md b/docs/models/components/commissioncreatedeventstatus.md index aae5d367..702b43f2 100644 --- a/docs/models/components/commissioncreatedeventstatus.md +++ b/docs/models/components/commissioncreatedeventstatus.md @@ -19,4 +19,5 @@ value = CommissionCreatedEventStatus.PENDING | `REFUNDED` | refunded | | `DUPLICATE` | duplicate | | `FRAUD` | fraud | -| `CANCELED` | canceled | \ No newline at end of file +| `CANCELED` | canceled | +| `HOLD` | hold | \ No newline at end of file diff --git a/docs/models/components/data.md b/docs/models/components/data.md index c920a8b7..d170e976 100644 --- a/docs/models/components/data.md +++ b/docs/models/components/data.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[components.LinkWebhookEventTestVariants](../../models/components/linkwebhookeventtestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/components/leadcreatedeventlink.md b/docs/models/components/leadcreatedeventlink.md index 7a33fb88..427968a9 100644 --- a/docs/models/components/leadcreatedeventlink.md +++ b/docs/models/components/leadcreatedeventlink.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[components.LeadCreatedEventTestVariants](../../models/components/leadcreatedeventtestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/components/link.md b/docs/models/components/link.md index c5b69669..32b1f8df 100644 --- a/docs/models/components/link.md +++ b/docs/models/components/link.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[components.LinkClickedEventTestVariants](../../models/components/linkclickedeventtestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/components/salecreatedeventlink.md b/docs/models/components/salecreatedeventlink.md index a85eca8a..42f1a367 100644 --- a/docs/models/components/salecreatedeventlink.md +++ b/docs/models/components/salecreatedeventlink.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[components.SaleCreatedEventTestVariants](../../models/components/salecreatedeventtestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/operations/bulkupdatecommissionscommissionsstatus.md b/docs/models/operations/bulkupdatecommissionscommissionsstatus.md index f511f39a..1a8331ca 100644 --- a/docs/models/operations/bulkupdatecommissionscommissionsstatus.md +++ b/docs/models/operations/bulkupdatecommissionscommissionsstatus.md @@ -19,4 +19,5 @@ value = BulkUpdateCommissionsCommissionsStatus.PENDING | `REFUNDED` | refunded | | `DUPLICATE` | duplicate | | `FRAUD` | fraud | -| `CANCELED` | canceled | \ No newline at end of file +| `CANCELED` | canceled | +| `HOLD` | hold | \ No newline at end of file diff --git a/docs/models/operations/getcustomersrequest.md b/docs/models/operations/getcustomersrequest.md index 743ac48e..251c12c0 100644 --- a/docs/models/operations/getcustomersrequest.md +++ b/docs/models/operations/getcustomersrequest.md @@ -17,5 +17,5 @@ | `sort_order` | [Optional[operations.GetCustomersQueryParamSortOrder]](../../models/operations/getcustomersqueryparamsortorder.md) | :heavy_minus_sign: | The sort order. The default is `desc`. | | | `ending_before` | *Optional[str]* | :heavy_minus_sign: | If specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`. | cus_1KAP4CDPBSVMMBMH9XX3YZZ0Z | | `starting_after` | *Optional[str]* | :heavy_minus_sign: | If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`. | cus_1KAP4CDPBSVMMBMH9XX3YZZ0Z | -| `page` | *Optional[float]* | :heavy_minus_sign: | DEPRECATED. Use `startingAfter` instead. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | DEPRECATED. Use `startingAfter` instead. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/getlinksrequest.md b/docs/models/operations/getlinksrequest.md index 866e79ab..d75fefc6 100644 --- a/docs/models/operations/getlinksrequest.md +++ b/docs/models/operations/getlinksrequest.md @@ -17,5 +17,5 @@ | `with_tags` | *Optional[bool]* | :heavy_minus_sign: | DEPRECATED. Filter for links that have at least one tag assigned to them. | | | `ending_before` | *Optional[str]* | :heavy_minus_sign: | If specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`. | link_1KAP4CDPBSVMMBMH9XX3YZZ0Z... | | `starting_after` | *Optional[str]* | :heavy_minus_sign: | If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`. | link_1KAP4CDPBSVMMBMH9XX3YZZ0Z... | -| `page` | *Optional[float]* | :heavy_minus_sign: | DEPRECATED. Use `startingAfter` instead. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | DEPRECATED. Use `startingAfter` instead. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/gettagsrequest.md b/docs/models/operations/gettagsrequest.md index 73e37a56..15106c78 100644 --- a/docs/models/operations/gettagsrequest.md +++ b/docs/models/operations/gettagsrequest.md @@ -9,5 +9,5 @@ | `sort_order` | [Optional[operations.QueryParamSortOrder]](../../models/operations/queryparamsortorder.md) | :heavy_minus_sign: | The order to sort the tags by. | | | `search` | *Optional[str]* | :heavy_minus_sign: | The search term to filter the tags by. | | | `ids` | [Optional[operations.Ids]](../../models/operations/ids.md) | :heavy_minus_sign: | IDs of tags to filter by. | | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listbountysubmissionsrequest.md b/docs/models/operations/listbountysubmissionsrequest.md index 4b3a0f38..b03c80dc 100644 --- a/docs/models/operations/listbountysubmissionsrequest.md +++ b/docs/models/operations/listbountysubmissionsrequest.md @@ -11,5 +11,5 @@ | `partner_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the partner to list submissions for. | | | `sort_by` | [Optional[operations.ListBountySubmissionsQueryParamSortBy]](../../models/operations/listbountysubmissionsqueryparamsortby.md) | :heavy_minus_sign: | The field to sort the submissions by. | | | `sort_order` | [Optional[operations.ListBountySubmissionsQueryParamSortOrder]](../../models/operations/listbountysubmissionsqueryparamsortorder.md) | :heavy_minus_sign: | The order to sort the submissions by. | | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listcommissionsrequest.md b/docs/models/operations/listcommissionsrequest.md index 83eb2983..6e1fa261 100644 --- a/docs/models/operations/listcommissionsrequest.md +++ b/docs/models/operations/listcommissionsrequest.md @@ -22,5 +22,5 @@ | `timezone` | *Optional[str]* | :heavy_minus_sign: | N/A | | | `ending_before` | *Optional[str]* | :heavy_minus_sign: | If specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`. | cm_1KAP4CGN2Z5TPYYQ1W4JEYD56 | | `starting_after` | *Optional[str]* | :heavy_minus_sign: | If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`. | cm_1KAP4CGN2Z5TPYYQ1W4JEYD56 | -| `page` | *Optional[float]* | :heavy_minus_sign: | DEPRECATED. Use `startingAfter` instead. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | DEPRECATED. Use `startingAfter` instead. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listcommissionsresponsebody.md b/docs/models/operations/listcommissionsresponsebody.md index d1ea6dea..3a1fe8f0 100644 --- a/docs/models/operations/listcommissionsresponsebody.md +++ b/docs/models/operations/listcommissionsresponsebody.md @@ -17,5 +17,6 @@ | `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The user who created the manual commission. | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | +| `paid_at` | *Nullable[str]* | :heavy_check_mark: | The date the commission was paid out to the partner. Null if not paid yet. | | | `partner` | [operations.ListCommissionsPartner](../../models/operations/listcommissionspartner.md) | :heavy_check_mark: | N/A | | | `customer` | [OptionalNullable[operations.ListCommissionsCustomer]](../../models/operations/listcommissionscustomer.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/listcommissionsstatus.md b/docs/models/operations/listcommissionsstatus.md index 4f84dedf..9a31a6b4 100644 --- a/docs/models/operations/listcommissionsstatus.md +++ b/docs/models/operations/listcommissionsstatus.md @@ -19,4 +19,5 @@ value = ListCommissionsStatus.PENDING | `REFUNDED` | refunded | | `DUPLICATE` | duplicate | | `FRAUD` | fraud | -| `CANCELED` | canceled | \ No newline at end of file +| `CANCELED` | canceled | +| `HOLD` | hold | \ No newline at end of file diff --git a/docs/models/operations/listdomainsrequest.md b/docs/models/operations/listdomainsrequest.md index 1f34025f..72a2b1dc 100644 --- a/docs/models/operations/listdomainsrequest.md +++ b/docs/models/operations/listdomainsrequest.md @@ -7,5 +7,5 @@ | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | `archived` | *Optional[bool]* | :heavy_minus_sign: | Whether to include archived domains in the response. Defaults to `false` if not provided. | | | `search` | *Optional[str]* | :heavy_minus_sign: | The search term to filter the domains by. | | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listeventsresponsebodyeventslink.md b/docs/models/operations/listeventsresponsebodyeventslink.md index 8479d139..cc369be3 100644 --- a/docs/models/operations/listeventsresponsebodyeventslink.md +++ b/docs/models/operations/listeventsresponsebodyeventslink.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[operations.ResponseBodyTestVariants](../../models/operations/responsebodytestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/operations/listeventsresponsebodylink.md b/docs/models/operations/listeventsresponsebodylink.md index 3332ffbb..24c3d593 100644 --- a/docs/models/operations/listeventsresponsebodylink.md +++ b/docs/models/operations/listeventsresponsebodylink.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[operations.ListEventsResponseBodyEventsTestVariants](../../models/operations/listeventsresponsebodyeventstestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/operations/listfoldersrequest.md b/docs/models/operations/listfoldersrequest.md index 1c60f514..3feeb173 100644 --- a/docs/models/operations/listfoldersrequest.md +++ b/docs/models/operations/listfoldersrequest.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | | `search` | *Optional[str]* | :heavy_minus_sign: | The search term to filter the folders by. | | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listpartnerapplicationsrequest.md b/docs/models/operations/listpartnerapplicationsrequest.md index de47c06f..58fcbcc6 100644 --- a/docs/models/operations/listpartnerapplicationsrequest.md +++ b/docs/models/operations/listpartnerapplicationsrequest.md @@ -7,5 +7,5 @@ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | `country` | *Optional[str]* | :heavy_minus_sign: | A filter on the list based on the partner's `country` field. | US | | `group_id` | *Optional[str]* | :heavy_minus_sign: | A filter on the list based on the partner's `groupId` field. | grp_123 | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listpartnersrequest.md b/docs/models/operations/listpartnersrequest.md index 8d55395a..19c5c199 100644 --- a/docs/models/operations/listpartnersrequest.md +++ b/docs/models/operations/listpartnersrequest.md @@ -12,6 +12,6 @@ | `sort_order` | [Optional[operations.ListPartnersQueryParamSortOrder]](../../models/operations/listpartnersqueryparamsortorder.md) | :heavy_minus_sign: | The sort order. The default is `desc`. | desc | | `email` | *Optional[str]* | :heavy_minus_sign: | Filter the partner list based on the partner's `email`. The value must be a string. Takes precedence over `search`. | panic@thedis.co | | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter the partner list based on the partner's `tenantId`. The value must be a string. Takes precedence over `email` and `search`. | 1K0NM7HCN944PEMZ3CQPH43H8 | -| `search` | *Optional[str]* | :heavy_minus_sign: | A search query to filter partners by ID, name, email, or link. | john | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `search` | *Optional[str]* | :heavy_minus_sign: | A search query to filter partners by ID, name, email, or company name. | john | +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/listpayoutsrequest.md b/docs/models/operations/listpayoutsrequest.md index fdd6b763..71645446 100644 --- a/docs/models/operations/listpayoutsrequest.md +++ b/docs/models/operations/listpayoutsrequest.md @@ -12,5 +12,5 @@ | `group_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of payouts by the associated partner group. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `group_abc`, `group_abc,group_xyz`, `-group_abc`. | | | `sort_by` | [Optional[operations.ListPayoutsQueryParamSortBy]](../../models/operations/listpayoutsqueryparamsortby.md) | :heavy_minus_sign: | The field to sort the list of payouts by. | | | `sort_order` | [Optional[operations.ListPayoutsQueryParamSortOrder]](../../models/operations/listpayoutsqueryparamsortorder.md) | :heavy_minus_sign: | The sort order for the list of payouts. | | -| `page` | *Optional[float]* | :heavy_minus_sign: | The page number for pagination. | 1 | -| `page_size` | *Optional[float]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file +| `page` | *Optional[int]* | :heavy_minus_sign: | The page number for pagination. | 1 | +| `page_size` | *Optional[int]* | :heavy_minus_sign: | The number of items per page. | 50 | \ No newline at end of file diff --git a/docs/models/operations/queryparamstatus.md b/docs/models/operations/queryparamstatus.md index c69b0b75..3ed07a47 100644 --- a/docs/models/operations/queryparamstatus.md +++ b/docs/models/operations/queryparamstatus.md @@ -21,4 +21,5 @@ value = QueryParamStatus.PENDING | `REFUNDED` | refunded | | `DUPLICATE` | duplicate | | `FRAUD` | fraud | -| `CANCELED` | canceled | \ No newline at end of file +| `CANCELED` | canceled | +| `HOLD` | hold | \ No newline at end of file diff --git a/docs/models/operations/responsebodylink.md b/docs/models/operations/responsebodylink.md index b9361a6c..af9c4735 100644 --- a/docs/models/operations/responsebodylink.md +++ b/docs/models/operations/responsebodylink.md @@ -15,9 +15,9 @@ | `program_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the program the short link is associated with. | | | `partner_id` | *Nullable[str]* | :heavy_check_mark: | The ID of the partner the short link is associated with. | | | `archived` | *bool* | :heavy_check_mark: | N/A | | -| `expires_at` | *str* | :heavy_check_mark: | N/A | | +| `expires_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `expired_url` | *Nullable[str]* | :heavy_check_mark: | N/A | | -| `disabled_at` | *str* | :heavy_check_mark: | N/A | | +| `disabled_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `password` | *Nullable[str]* | :heavy_check_mark: | The password required to access the destination URL of the short link. | | | `proxy` | *bool* | :heavy_check_mark: | N/A | | | `title` | *Nullable[str]* | :heavy_check_mark: | The title of the short link. Will be used for Custom Link Previews if `proxy` is true. | | @@ -41,8 +41,8 @@ | `utm_term` | *Nullable[str]* | :heavy_check_mark: | The UTM term of the short link. | | | `utm_content` | *Nullable[str]* | :heavy_check_mark: | The UTM content of the short link. | | | `test_variants` | List[[operations.ListEventsResponseBodyTestVariants](../../models/operations/listeventsresponsebodytestvariants.md)] | :heavy_minus_sign: | An array of A/B test URLs and the percentage of traffic to send to each URL. | [
{
"url": "https://example.com/variant-1",
"percentage": 50
},
{
"url": "https://example.com/variant-2",
"percentage": 50
}
] | -| `test_started_at` | *str* | :heavy_check_mark: | N/A | | -| `test_completed_at` | *str* | :heavy_check_mark: | N/A | | +| `test_started_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | +| `test_completed_at` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `user_id` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `workspace_id` | *str* | :heavy_check_mark: | The workspace ID of the short link. | | | `clicks` | *Optional[float]* | :heavy_minus_sign: | The number of clicks on the short link. | | @@ -50,7 +50,7 @@ | `conversions` | *Optional[float]* | :heavy_minus_sign: | The number of leads that converted to paying customers. | | | `sales` | *Optional[float]* | :heavy_minus_sign: | The total number of sales (includes recurring sales) generated by the short link. | | | `sale_amount` | *Optional[float]* | :heavy_minus_sign: | The total dollar value of sales (in cents) generated by the short link. | | -| `last_clicked` | *str* | :heavy_check_mark: | N/A | | +| `last_clicked` | *Nullable[str]* | :heavy_check_mark: | N/A | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | | ~~`tag_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: Use `tags` instead. The unique ID of the tag assigned to the short link. | | diff --git a/docs/models/operations/updatecommissionresponsebody.md b/docs/models/operations/updatecommissionresponsebody.md index 03a177cc..829590e8 100644 --- a/docs/models/operations/updatecommissionresponsebody.md +++ b/docs/models/operations/updatecommissionresponsebody.md @@ -19,5 +19,6 @@ The updated commission. | `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The user who created the manual commission. | | | `created_at` | *str* | :heavy_check_mark: | N/A | | | `updated_at` | *str* | :heavy_check_mark: | N/A | | +| `paid_at` | *Nullable[str]* | :heavy_check_mark: | The date the commission was paid out to the partner. Null if not paid yet. | | | `partner` | [operations.UpdateCommissionPartner](../../models/operations/updatecommissionpartner.md) | :heavy_check_mark: | N/A | | | `customer` | [OptionalNullable[operations.UpdateCommissionCustomer]](../../models/operations/updatecommissioncustomer.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/updatecommissionstatus.md b/docs/models/operations/updatecommissionstatus.md index b8b2ab4c..9d9caed0 100644 --- a/docs/models/operations/updatecommissionstatus.md +++ b/docs/models/operations/updatecommissionstatus.md @@ -19,4 +19,5 @@ value = UpdateCommissionStatus.PENDING | `REFUNDED` | refunded | | `DUPLICATE` | duplicate | | `FRAUD` | fraud | -| `CANCELED` | canceled | \ No newline at end of file +| `CANCELED` | canceled | +| `HOLD` | hold | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index c720c365..bb2dd4c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "dub" -version = "0.37.1" +version = "0.37.2" description = "Python Client SDK Generated by Speakeasy" authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/dub/_version.py b/src/dub/_version.py index 212d9f9c..b1f238eb 100644 --- a/src/dub/_version.py +++ b/src/dub/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "dub" -__version__: str = "0.37.1" +__version__: str = "0.37.2" __openapi_doc_version__: str = "0.0.1" -__gen_version__: str = "2.915.1" -__user_agent__: str = "speakeasy-sdk/python 0.37.1 2.915.1 0.0.1 dub" +__gen_version__: str = "2.918.4" +__user_agent__: str = "speakeasy-sdk/python 0.37.2 2.918.4 0.0.1 dub" try: if __package__ is not None: diff --git a/src/dub/models/components/commissioncreatedevent.py b/src/dub/models/components/commissioncreatedevent.py index fa78e6e1..ee411d89 100644 --- a/src/dub/models/components/commissioncreatedevent.py +++ b/src/dub/models/components/commissioncreatedevent.py @@ -29,6 +29,7 @@ class CommissionCreatedEventStatus(str, Enum): DUPLICATE = "duplicate" FRAUD = "fraud" CANCELED = "canceled" + HOLD = "hold" class CommissionCreatedEventPartnerTypedDict(TypedDict): diff --git a/src/dub/models/components/leadcreatedevent.py b/src/dub/models/components/leadcreatedevent.py index 3ea2e5d6..ba8a5887 100644 --- a/src/dub/models/components/leadcreatedevent.py +++ b/src/dub/models/components/leadcreatedevent.py @@ -243,9 +243,9 @@ class LeadCreatedEventLinkTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -286,12 +286,12 @@ class LeadCreatedEventLinkTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -342,11 +342,11 @@ class LeadCreatedEventLink(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -410,16 +410,16 @@ class LeadCreatedEventLink(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -484,7 +484,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -502,7 +504,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) diff --git a/src/dub/models/components/linkclickedevent.py b/src/dub/models/components/linkclickedevent.py index 6f9487db..7387efa4 100644 --- a/src/dub/models/components/linkclickedevent.py +++ b/src/dub/models/components/linkclickedevent.py @@ -121,9 +121,9 @@ class LinkTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -164,12 +164,12 @@ class LinkTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -220,11 +220,11 @@ class Link(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -288,16 +288,16 @@ class Link(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -362,7 +362,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -380,7 +382,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) diff --git a/src/dub/models/components/linkwebhookevent.py b/src/dub/models/components/linkwebhookevent.py index 2a2c0671..4bdc0023 100644 --- a/src/dub/models/components/linkwebhookevent.py +++ b/src/dub/models/components/linkwebhookevent.py @@ -57,9 +57,9 @@ class DataTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -100,12 +100,12 @@ class DataTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -156,11 +156,11 @@ class Data(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -224,16 +224,16 @@ class Data(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -298,7 +298,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -316,7 +318,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) diff --git a/src/dub/models/components/salecreatedevent.py b/src/dub/models/components/salecreatedevent.py index e03ef12e..d0f623c9 100644 --- a/src/dub/models/components/salecreatedevent.py +++ b/src/dub/models/components/salecreatedevent.py @@ -243,9 +243,9 @@ class SaleCreatedEventLinkTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -286,12 +286,12 @@ class SaleCreatedEventLinkTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -342,11 +342,11 @@ class SaleCreatedEventLink(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -410,16 +410,16 @@ class SaleCreatedEventLink(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -484,7 +484,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -502,7 +504,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) diff --git a/src/dub/models/operations/bulkupdatecommissions.py b/src/dub/models/operations/bulkupdatecommissions.py index d315ba0b..cd0d2e04 100644 --- a/src/dub/models/operations/bulkupdatecommissions.py +++ b/src/dub/models/operations/bulkupdatecommissions.py @@ -39,6 +39,7 @@ class BulkUpdateCommissionsCommissionsStatus(str, Enum): DUPLICATE = "duplicate" FRAUD = "fraud" CANCELED = "canceled" + HOLD = "hold" class BulkUpdateCommissionsResponseBodyTypedDict(TypedDict): diff --git a/src/dub/models/operations/getcustomers.py b/src/dub/models/operations/getcustomers.py index 1ce4ed93..2803a6e8 100644 --- a/src/dub/models/operations/getcustomers.py +++ b/src/dub/models/operations/getcustomers.py @@ -51,9 +51,9 @@ class GetCustomersRequestTypedDict(TypedDict): r"""If specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`.""" starting_after: NotRequired[str] r"""If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.""" - page: NotRequired[float] + page: NotRequired[int] r"""DEPRECATED. Use `startingAfter` instead.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -140,13 +140,13 @@ class GetCustomersRequest(BaseModel): r"""If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""DEPRECATED. Use `startingAfter` instead.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/getlinks.py b/src/dub/models/operations/getlinks.py index c209dccd..34c04524 100644 --- a/src/dub/models/operations/getlinks.py +++ b/src/dub/models/operations/getlinks.py @@ -55,9 +55,9 @@ class GetLinksRequestTypedDict(TypedDict): r"""If specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`.""" starting_after: NotRequired[str] r"""If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.""" - page: NotRequired[float] + page: NotRequired[int] r"""DEPRECATED. Use `startingAfter` instead.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -145,13 +145,13 @@ class GetLinksRequest(BaseModel): r"""If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""DEPRECATED. Use `startingAfter` instead.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/gettags.py b/src/dub/models/operations/gettags.py index 06547710..f1d48b1f 100644 --- a/src/dub/models/operations/gettags.py +++ b/src/dub/models/operations/gettags.py @@ -41,9 +41,9 @@ class GetTagsRequestTypedDict(TypedDict): r"""The search term to filter the tags by.""" ids: NotRequired[IdsTypedDict] r"""IDs of tags to filter by.""" - page: NotRequired[float] + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -75,13 +75,13 @@ class GetTagsRequest(BaseModel): r"""IDs of tags to filter by.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/listbountysubmissions.py b/src/dub/models/operations/listbountysubmissions.py index 542271b0..f09b81b0 100644 --- a/src/dub/models/operations/listbountysubmissions.py +++ b/src/dub/models/operations/listbountysubmissions.py @@ -47,9 +47,9 @@ class ListBountySubmissionsRequestTypedDict(TypedDict): r"""The field to sort the submissions by.""" sort_order: NotRequired[ListBountySubmissionsQueryParamSortOrder] r"""The order to sort the submissions by.""" - page: NotRequired[float] + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -96,13 +96,13 @@ class ListBountySubmissionsRequest(BaseModel): r"""The order to sort the submissions by.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/listcommissions.py b/src/dub/models/operations/listcommissions.py index e3c5272b..f80e4573 100644 --- a/src/dub/models/operations/listcommissions.py +++ b/src/dub/models/operations/listcommissions.py @@ -30,6 +30,7 @@ class QueryParamStatus(str, Enum): DUPLICATE = "duplicate" FRAUD = "fraud" CANCELED = "canceled" + HOLD = "hold" class ListCommissionsQueryParamSortBy(str, Enum): @@ -94,9 +95,9 @@ class ListCommissionsRequestTypedDict(TypedDict): r"""If specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`.""" starting_after: NotRequired[str] r"""If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.""" - page: NotRequired[float] + page: NotRequired[int] r"""DEPRECATED. Use `startingAfter` instead.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -214,13 +215,13 @@ class ListCommissionsRequest(BaseModel): r"""If specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""DEPRECATED. Use `startingAfter` instead.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 @@ -281,6 +282,7 @@ class ListCommissionsStatus(str, Enum): DUPLICATE = "duplicate" FRAUD = "fraud" CANCELED = "canceled" + HOLD = "hold" class ListCommissionsPartnerTypedDict(TypedDict): @@ -486,6 +488,8 @@ class ListCommissionsResponseBodyTypedDict(TypedDict): quantity: float created_at: str updated_at: str + paid_at: Nullable[str] + r"""The date the commission was paid out to the partner. Null if not paid yet.""" partner: ListCommissionsPartnerTypedDict type: NotRequired[ListCommissionsType] user_id: NotRequired[Nullable[str]] @@ -515,6 +519,9 @@ class ListCommissionsResponseBody(BaseModel): updated_at: Annotated[str, pydantic.Field(alias="updatedAt")] + paid_at: Annotated[Nullable[str], pydantic.Field(alias="paidAt")] + r"""The date the commission was paid out to the partner. Null if not paid yet.""" + partner: ListCommissionsPartner type: Optional[ListCommissionsType] = None @@ -527,7 +534,9 @@ class ListCommissionsResponseBody(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set(["type", "userId", "customer"]) - nullable_fields = set(["invoiceId", "description", "userId", "customer"]) + nullable_fields = set( + ["invoiceId", "description", "userId", "paidAt", "customer"] + ) serialized = handler(self) m = {} diff --git a/src/dub/models/operations/listdomains.py b/src/dub/models/operations/listdomains.py index 2b104728..34bc64f0 100644 --- a/src/dub/models/operations/listdomains.py +++ b/src/dub/models/operations/listdomains.py @@ -15,9 +15,9 @@ class ListDomainsRequestTypedDict(TypedDict): r"""Whether to include archived domains in the response. Defaults to `false` if not provided.""" search: NotRequired[str] r"""The search term to filter the domains by.""" - page: NotRequired[float] + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -35,13 +35,13 @@ class ListDomainsRequest(BaseModel): r"""The search term to filter the domains by.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 50 diff --git a/src/dub/models/operations/listevents.py b/src/dub/models/operations/listevents.py index 4e153934..3e578d86 100644 --- a/src/dub/models/operations/listevents.py +++ b/src/dub/models/operations/listevents.py @@ -595,9 +595,9 @@ class ListEventsResponseBodyLinkTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -638,12 +638,12 @@ class ListEventsResponseBodyLinkTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -696,11 +696,11 @@ class ListEventsResponseBodyLink(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -764,16 +764,16 @@ class ListEventsResponseBodyLink(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -838,7 +838,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -856,7 +858,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) @@ -1411,9 +1416,9 @@ class ResponseBodyLinkTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -1454,12 +1459,12 @@ class ResponseBodyLinkTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -1512,11 +1517,11 @@ class ResponseBodyLink(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -1580,16 +1585,16 @@ class ResponseBodyLink(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -1654,7 +1659,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -1672,7 +1679,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) @@ -2115,9 +2125,9 @@ class ListEventsResponseBodyEventsLinkTypedDict(TypedDict): partner_id: Nullable[str] r"""The ID of the partner the short link is associated with.""" archived: bool - expires_at: str + expires_at: Nullable[str] expired_url: Nullable[str] - disabled_at: str + disabled_at: Nullable[str] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" proxy: bool @@ -2158,12 +2168,12 @@ class ListEventsResponseBodyEventsLinkTypedDict(TypedDict): r"""The UTM term of the short link.""" utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: str - test_completed_at: str + test_started_at: Nullable[str] + test_completed_at: Nullable[str] user_id: Nullable[str] workspace_id: str r"""The workspace ID of the short link.""" - last_clicked: str + last_clicked: Nullable[str] created_at: str updated_at: str tag_id: Nullable[str] @@ -2214,11 +2224,11 @@ class ListEventsResponseBodyEventsLink(BaseModel): archived: bool - expires_at: Annotated[str, pydantic.Field(alias="expiresAt")] + expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")] expired_url: Annotated[Nullable[str], pydantic.Field(alias="expiredUrl")] - disabled_at: Annotated[str, pydantic.Field(alias="disabledAt")] + disabled_at: Annotated[Nullable[str], pydantic.Field(alias="disabledAt")] password: Nullable[str] r"""The password required to access the destination URL of the short link.""" @@ -2282,16 +2292,16 @@ class ListEventsResponseBodyEventsLink(BaseModel): utm_content: Nullable[str] r"""The UTM content of the short link.""" - test_started_at: Annotated[str, pydantic.Field(alias="testStartedAt")] + test_started_at: Annotated[Nullable[str], pydantic.Field(alias="testStartedAt")] - test_completed_at: Annotated[str, pydantic.Field(alias="testCompletedAt")] + test_completed_at: Annotated[Nullable[str], pydantic.Field(alias="testCompletedAt")] user_id: Annotated[Nullable[str], pydantic.Field(alias="userId")] workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")] r"""The workspace ID of the short link.""" - last_clicked: Annotated[str, pydantic.Field(alias="lastClicked")] + last_clicked: Annotated[Nullable[str], pydantic.Field(alias="lastClicked")] created_at: Annotated[str, pydantic.Field(alias="createdAt")] @@ -2356,7 +2366,9 @@ def serialize_model(self, handler): "tenantId", "programId", "partnerId", + "expiresAt", "expiredUrl", + "disabledAt", "password", "title", "description", @@ -2374,7 +2386,10 @@ def serialize_model(self, handler): "utm_term", "utm_content", "testVariants", + "testStartedAt", + "testCompletedAt", "userId", + "lastClicked", "tagId", ] ) diff --git a/src/dub/models/operations/listfolders.py b/src/dub/models/operations/listfolders.py index 590ff319..c099a160 100644 --- a/src/dub/models/operations/listfolders.py +++ b/src/dub/models/operations/listfolders.py @@ -12,9 +12,9 @@ class ListFoldersRequestTypedDict(TypedDict): search: NotRequired[str] r"""The search term to filter the folders by.""" - page: NotRequired[float] + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -26,13 +26,13 @@ class ListFoldersRequest(BaseModel): r"""The search term to filter the folders by.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 50 diff --git a/src/dub/models/operations/listpartnerapplications.py b/src/dub/models/operations/listpartnerapplications.py index 209fe437..b0b450cd 100644 --- a/src/dub/models/operations/listpartnerapplications.py +++ b/src/dub/models/operations/listpartnerapplications.py @@ -15,9 +15,9 @@ class ListPartnerApplicationsRequestTypedDict(TypedDict): r"""A filter on the list based on the partner's `country` field.""" group_id: NotRequired[str] r"""A filter on the list based on the partner's `groupId` field.""" - page: NotRequired[float] + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -36,13 +36,13 @@ class ListPartnerApplicationsRequest(BaseModel): r"""A filter on the list based on the partner's `groupId` field.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/listpartners.py b/src/dub/models/operations/listpartners.py index a58c4f97..cc394d53 100644 --- a/src/dub/models/operations/listpartners.py +++ b/src/dub/models/operations/listpartners.py @@ -64,10 +64,10 @@ class ListPartnersRequestTypedDict(TypedDict): tenant_id: NotRequired[str] r"""Filter the partner list based on the partner's `tenantId`. The value must be a string. Takes precedence over `email` and `search`.""" search: NotRequired[str] - r"""A search query to filter partners by ID, name, email, or link.""" - page: NotRequired[float] + r"""A search query to filter partners by ID, name, email, or company name.""" + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -122,16 +122,16 @@ class ListPartnersRequest(BaseModel): Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""A search query to filter partners by ID, name, email, or link.""" + r"""A search query to filter partners by ID, name, email, or company name.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/listpayouts.py b/src/dub/models/operations/listpayouts.py index 1003cc78..e233c114 100644 --- a/src/dub/models/operations/listpayouts.py +++ b/src/dub/models/operations/listpayouts.py @@ -52,9 +52,9 @@ class ListPayoutsRequestTypedDict(TypedDict): r"""The field to sort the list of payouts by.""" sort_order: NotRequired[ListPayoutsQueryParamSortOrder] r"""The sort order for the list of payouts.""" - page: NotRequired[float] + page: NotRequired[int] r"""The page number for pagination.""" - page_size: NotRequired[float] + page_size: NotRequired[int] r"""The number of items per page.""" @@ -108,13 +108,13 @@ class ListPayoutsRequest(BaseModel): r"""The sort order for the list of payouts.""" page: Annotated[ - Optional[float], + Optional[int], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None r"""The page number for pagination.""" page_size: Annotated[ - Optional[float], + Optional[int], pydantic.Field(alias="pageSize"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = 100 diff --git a/src/dub/models/operations/updatecommission.py b/src/dub/models/operations/updatecommission.py index 745888a3..f69021b5 100644 --- a/src/dub/models/operations/updatecommission.py +++ b/src/dub/models/operations/updatecommission.py @@ -149,6 +149,7 @@ class UpdateCommissionStatus(str, Enum): DUPLICATE = "duplicate" FRAUD = "fraud" CANCELED = "canceled" + HOLD = "hold" class UpdateCommissionPartnerTypedDict(TypedDict): @@ -356,6 +357,8 @@ class UpdateCommissionResponseBodyTypedDict(TypedDict): quantity: float created_at: str updated_at: str + paid_at: Nullable[str] + r"""The date the commission was paid out to the partner. Null if not paid yet.""" partner: UpdateCommissionPartnerTypedDict type: NotRequired[UpdateCommissionType] user_id: NotRequired[Nullable[str]] @@ -387,6 +390,9 @@ class UpdateCommissionResponseBody(BaseModel): updated_at: Annotated[str, pydantic.Field(alias="updatedAt")] + paid_at: Annotated[Nullable[str], pydantic.Field(alias="paidAt")] + r"""The date the commission was paid out to the partner. Null if not paid yet.""" + partner: UpdateCommissionPartner type: Optional[UpdateCommissionType] = None @@ -399,7 +405,9 @@ class UpdateCommissionResponseBody(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set(["type", "userId", "customer"]) - nullable_fields = set(["invoiceId", "description", "userId", "customer"]) + nullable_fields = set( + ["invoiceId", "description", "userId", "paidAt", "customer"] + ) serialized = handler(self) m = {} diff --git a/src/dub/utils/__init__.py b/src/dub/utils/__init__.py index 0498cb8d..7af3b82c 100644 --- a/src/dub/utils/__init__.py +++ b/src/dub/utils/__init__.py @@ -15,7 +15,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: if TYPE_CHECKING: from .annotations import get_discriminator - from .datetimes import parse_datetime + from .datetimes import parse_datetime, parse_duration from .enums import OpenEnumMeta from .headers import get_headers, get_response_headers from .metadata import ( @@ -70,6 +70,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: "get_default_logger", "get_discriminator", "parse_datetime", + "parse_duration", "get_global_from_env", "get_headers", "get_pydantic_model", @@ -122,6 +123,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: "get_default_logger": ".logger", "get_discriminator": ".annotations", "parse_datetime": ".datetimes", + "parse_duration": ".datetimes", "get_global_from_env": ".values", "get_headers": ".headers", "get_pydantic_model": ".serializers", diff --git a/src/dub/utils/datetimes.py b/src/dub/utils/datetimes.py index a6c52cd6..adad2476 100644 --- a/src/dub/utils/datetimes.py +++ b/src/dub/utils/datetimes.py @@ -1,8 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from datetime import datetime +from datetime import datetime, timedelta import sys +from pydantic import TypeAdapter + def parse_datetime(datetime_string: str) -> datetime: """ @@ -21,3 +23,15 @@ def parse_datetime(datetime_string: str) -> datetime: datetime_string = datetime_string[:-1] + "+00:00" return datetime.fromisoformat(datetime_string) + + +_DURATION_ADAPTER = TypeAdapter(timedelta) + + +def parse_duration(duration_string: str) -> timedelta: + """ + Convert an ISO 8601 duration string (e.g. "PT1H30M") into a timedelta. + The standard library has no ISO 8601 duration parser, so this delegates to + pydantic, which is already a runtime dependency of the SDK. + """ + return _DURATION_ADAPTER.validate_python(duration_string)