diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index c3aefe9..5bc2476 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: 3c99a7dcfe0f7e784b8e12ec1e0f615b + docChecksum: d6c93bc3a0695297b758b47c45d9a4c4 docVersion: 0.0.1 - speakeasyVersion: 1.761.9 - generationVersion: 2.881.4 - releaseVersion: 0.35.7 - configChecksum: 7568ecbb9c6b5c0586b5d385afddca3a + speakeasyVersion: 1.762.0 + generationVersion: 2.882.0 + releaseVersion: 0.35.8 + configChecksum: 48cfed3f5d1ffd4bb61dab1c9e5478a8 repoURL: https://github.com/dubinc/dub-python.git installationURL: https://github.com/dubinc/dub-python.git published: true persistentEdits: - generation_id: 487f860e-6369-4070-a43b-5e53aac8125d - pristine_commit_hash: 2b0274f02998997a8e83da1d6f88b91d9f5bf82a - pristine_tree_hash: d09240e2aaeab2c3900b4e1530b3d56a0ccf71fe + generation_id: d4a9041e-ae17-457d-a5b4-2327ab99e16a + pristine_commit_hash: 587df2851261b9d8d760e4a4e93f5e698eedf0db + pristine_tree_hash: 011b812367440d761bf367ee72ebaa71456a284f features: python: additionalDependencies: 1.0.0 @@ -34,11 +34,11 @@ features: includes: 3.0.0 nameOverrides: 3.0.3 nullables: 1.0.2 - pagination: 3.0.9 + pagination: 3.0.10 responseFormat: 1.1.0 retries: 3.0.5 sdkHooks: 1.2.1 - unions: 3.1.4 + unions: 3.1.5 trackedFiles: .gitattributes: id: 24139dae6567 @@ -374,8 +374,8 @@ trackedFiles: pristine_git_object: 491c40556703b738d7430a2b9a29e705a21a5685 docs/models/components/partnerenrolledeventdata.md: id: 505d7bbbf137 - last_write_checksum: sha1:00ffaabcd129e6ebf1e5a7cff577c61fc4526336 - pristine_git_object: fa4792b2dff565cfaae0d85378d9c268843c6230 + last_write_checksum: sha1:49c60da8fad82742598d2f5ccebe30ee55f54324 + pristine_git_object: 76ce62f67b89af3076ad748cc499cc8ef50519c3 docs/models/components/partnerenrolledeventevent.md: id: 2e4e0307fc74 last_write_checksum: sha1:c6f25e24c6562e32d162bd2247aa84215b256b51 @@ -476,6 +476,10 @@ trackedFiles: id: e26b2fe7f53e last_write_checksum: sha1:c64608e5a37c315ba8ff1fa96cfa6fdb43aaba1b pristine_git_object: 40e20a4943676d7febef9d0ad2323d9ab2554ac6 + docs/models/components/tags.md: + id: b81c2153553c + last_write_checksum: sha1:37b3b179e13e2c947b07b4ba92081ca8bfc76b94 + pristine_git_object: d8db47d96207901cb725361bccd674cd4486a808 docs/models/components/testvariants.md: id: bb118266f3ed last_write_checksum: sha1:2ba034d74826fdefe25b55f0d401567d26d01efe @@ -640,14 +644,14 @@ trackedFiles: id: 8322200a0483 last_write_checksum: sha1:c03a09d2b38d11b72e85e10855462b91bdab7a1b pristine_git_object: 65ed93d11084164e07a591187cef0614fa5fde74 - docs/models/operations/approvepartnerrequestbody.md: - id: ad6d47e6ff88 - last_write_checksum: sha1:cca4296b8d411a0247983c51032b59c9e8ec92f4 - pristine_git_object: c8da6381758e9b8612658cc9dbca0324a6c38fc9 - docs/models/operations/approvepartnerresponsebody.md: - id: 6685c4fa6e7e - last_write_checksum: sha1:836a70023025bae669f0407002451c0f245679e9 - pristine_git_object: 1e80c4c7bec8b15fdbd88bc52aa945bf62cbfd8f + docs/models/operations/approvepartnerapplicationrequestbody.md: + id: 98ed0d62dfa1 + last_write_checksum: sha1:cafa0deb36af4be2166fc189a4ba19efb44d2174 + pristine_git_object: 763917db3a58ecf4230ff23a8823d81f2d189b26 + docs/models/operations/approvepartnerapplicationresponsebody.md: + id: 6fad95b01afc + last_write_checksum: sha1:a05b267609ccf997f7c4e1f594723a3e18dc088d + pristine_git_object: 44445f0ce5c4bcd5413a58e0276f30481639f975 docs/models/operations/bannedreason.md: id: 63e2b4b788c0 last_write_checksum: sha1:0ee940e77b93e657569f6e551cd7eed7ed23cb56 @@ -866,8 +870,8 @@ trackedFiles: pristine_git_object: 43005e3df9fe2a6fb96284b44e19c660f76a6d92 docs/models/operations/createpartnerresponsebody.md: id: 918e4dce0185 - last_write_checksum: sha1:ef7249ebbb213e15ff6880e5cb66a43f5132e277 - pristine_git_object: f570ae9aa03d627465920ba9050388720233ec54 + last_write_checksum: sha1:3f65dbbb0e1382e8129426c8e79218dd5d8cefd1 + pristine_git_object: cb859807018a03476743e1cf3bef6b7826f27502 docs/models/operations/createpartnerstatus.md: id: ca5d508da415 last_write_checksum: sha1:f565fe01cff33af4b72ca67095b09e85eea2cdcf @@ -880,6 +884,10 @@ trackedFiles: id: e040d2db4304 last_write_checksum: sha1:480df0b54bd3c96bde52fcce80dec4a02ce553a4 pristine_git_object: a95624ad908494fab937251cc81bafab7f31687f + docs/models/operations/createpartnertags.md: + id: bd596ecb4099 + last_write_checksum: sha1:f8a1044ad6c565341eb3f5ff0e5b0f00fdcb1203 + pristine_git_object: 063aa7885499b9dacf36a502cffd9c121b203df4 docs/models/operations/createpartnertestvariants.md: id: "296310277342" last_write_checksum: sha1:7bc34a7830230943071666bf40161d0d017b7885 @@ -1222,8 +1230,8 @@ trackedFiles: pristine_git_object: 2ae770ffc88df22a7d91642a4e55b70009cf77b0 docs/models/operations/listcommissionsrequest.md: id: 3db2f1c49f34 - last_write_checksum: sha1:4b0ca3558d31dd96263a7d13fda01fb37c3783dc - pristine_git_object: 52c76a56344ccab43c702121503e8788d0d5bf6a + last_write_checksum: sha1:d0aaf63a2b531bf319599a9575ed34480e85fbf5 + pristine_git_object: 8b0b6dfe4ebce2209996d5f02bc70bec116fcb74 docs/models/operations/listcommissionsresponse.md: id: 6de464f720eb last_write_checksum: sha1:c4dbf265a81bbe2f55bff665719e90d616884df0 @@ -1250,8 +1258,8 @@ trackedFiles: pristine_git_object: 60511544138301cdb1128f78446ab1adab4f78ef docs/models/operations/listeventsrequest.md: id: 4c63e4d672e2 - last_write_checksum: sha1:79b805c076d6ec5cc469dfd6de3a5d62a72327dc - pristine_git_object: ce088070a34c3630116d7a30bbbda8e280dc9ed6 + last_write_checksum: sha1:f46995bd9142096db015dc931f3f4d1b96cd9d23 + pristine_git_object: a9b0f93cfbd68ecc8bf14780a518c5831cf159b1 docs/models/operations/listeventsresponsebody.md: id: 30e04cb250d3 last_write_checksum: sha1:9cfdd7f0ab2fd5268752f2f55b7a46efd5813095 @@ -1362,8 +1370,8 @@ trackedFiles: pristine_git_object: 8d55395af69519521075a0dc3ad83153c2a8131d docs/models/operations/listpartnersresponsebody.md: id: e60469e13fe9 - last_write_checksum: sha1:d2681b24b51fc9abfa13a3fe07b744bf2531a611 - pristine_git_object: 2a323d9e259ed83b84b46bd8c68eeeb4980e7256 + last_write_checksum: sha1:6f6aa539171eed095735ecac07edae05d8aa2012 + pristine_git_object: 82607d4509a9c87139ebf1c03311561822512d9e docs/models/operations/listpartnersstatus.md: id: 952f16385320 last_write_checksum: sha1:002a6881c3e12bd7311b9489b9d6f30d7f320664 @@ -1438,8 +1446,8 @@ trackedFiles: pristine_git_object: 9acfcade05fab7a62543e8f25ad349596e4f367a docs/models/operations/queryparamgroupby.md: id: 941bf4ea3b85 - last_write_checksum: sha1:31abe3a38441cb249868367a06164b40bc3148e3 - pristine_git_object: a80b4638d39c05fd351807eb0bd0482ff8f15c10 + last_write_checksum: sha1:66f818b815de44a3630d89930455472496ba8ff3 + pristine_git_object: eb9d4f9d12e9ca394c5ceeccc4991b6882ee5e1e docs/models/operations/queryparaminterval.md: id: 716f157e6a18 last_write_checksum: sha1:f887304f8c8600c10a7608352664266c66ee2d09 @@ -1512,14 +1520,14 @@ trackedFiles: id: 99a67fae384a last_write_checksum: sha1:23fa7f6ea8d8e8ad4e68c9db806f3d2d29d88d83 pristine_git_object: 695803b54d10db435a435939d0259afea9e9ad5f - docs/models/operations/rejectpartnerrequestbody.md: - id: 66069b0de975 - last_write_checksum: sha1:d4c4bb0eeb54c2f90996491b22fcc528456c1176 - pristine_git_object: dfe42d285be5634443da1dd6a9057ec1df3db8b3 - docs/models/operations/rejectpartnerresponsebody.md: - id: d58165da49ce - last_write_checksum: sha1:70b30c5f48a23cbe2b4108c403040bd655c71855 - pristine_git_object: 84b34aa6e967089d8ca6d10c1831e2a83db02466 + docs/models/operations/rejectpartnerapplicationrequestbody.md: + id: e2d454aa9e3b + last_write_checksum: sha1:9d210d2bfa0a7097f274fb15f39892c459fc901a + pristine_git_object: 41d7d29296f885734ec692097c93810b9d2b2115 + docs/models/operations/rejectpartnerapplicationresponsebody.md: + id: 0123c0d1a744 + last_write_checksum: sha1:faf8407acedee85c77f28273c35ae752b9b81b61 + pristine_git_object: 358d73f77d930968d2ddbc435df0c8f5a12f30e1 docs/models/operations/requestbody.md: id: f78af0833126 last_write_checksum: sha1:2154702b907d669977ca702d3239f08cf3d6ef16 @@ -1558,20 +1566,12 @@ trackedFiles: pristine_git_object: 2cee6c27f2c59a6b254d0b93b4190afe3e62ef76 docs/models/operations/retrieveanalyticsrequest.md: id: bfa89ce61897 - last_write_checksum: sha1:e6fc98aa2fd3c722d0b3e00432182b28b3460f26 - pristine_git_object: c6aaea34b814cd77a0895800e8c615c8ce9779f0 + last_write_checksum: sha1:f0b09482a7dae716851fe19c697dfec17d59edb3 + pristine_git_object: 310d7e6ce8904cf82eb20f7727a5433c526e0e4b docs/models/operations/retrieveanalyticsresponsebody.md: id: 41386a0b3f46 last_write_checksum: sha1:93b8446d11aef2ec918ef1164b5dec8fe6c18661 pristine_git_object: 86247580ed979f70dfb20ab8f990f1c02a6b4bc4 - docs/models/operations/retrievelinksrequest.md: - id: 4b6e2662a103 - last_write_checksum: sha1:3d4867ddbcedd65ee7b1705bd082e1aa4f068de3 - pristine_git_object: 2ae01d4042c780597b1f0095155e4a730661811c - docs/models/operations/retrievelinksresponsebody.md: - id: df985675c9ad - last_write_checksum: sha1:f470a98dc21319f6ffb90accaa2d5e5aac4ca1de - pristine_git_object: 4fb3e7e00f3f45c5f1b251bdb1fbb0b9966b67bd docs/models/operations/retrievepartneranalyticsqueryparamgroupby.md: id: 50b1890d9697 last_write_checksum: sha1:1e0dfe84bc5ede07dbe9c67760a3912b1780f9fa @@ -1588,6 +1588,14 @@ trackedFiles: id: c49f6ba7e40e last_write_checksum: sha1:fa33f082cbf0e59b4147a3cac788ca25a1237abd pristine_git_object: fa557aa07c94dffca907496bd912bcd9c0fc403f + docs/models/operations/retrievepartnerlinksrequest.md: + id: 7c94726a71eb + last_write_checksum: sha1:44991a6944ab4ae00bf647ef2381e1f5fca20d19 + pristine_git_object: 993f7f5385c20799a53add076cc37fd231d6b405 + docs/models/operations/retrievepartnerlinksresponsebody.md: + id: e92074320c7a + last_write_checksum: sha1:d60dbe82e7deb7fd39d2c02d7e048a43082f1e02 + pristine_git_object: f3ba4c3e951017b0ef3ebeaa12e18550645d54a6 docs/models/operations/sale.md: id: 3e9ba36ec88c last_write_checksum: sha1:88d244d27ba703e1bea30bdca9a4c700c9ad8f7c @@ -1632,6 +1640,10 @@ trackedFiles: id: 664353f587d6 last_write_checksum: sha1:2e1c20657b37b756a99e97b76f3e48e946a54a7f pristine_git_object: 4fe52be34e0bd36b583508abc8e64c48ed811448 + docs/models/operations/tags.md: + id: 2453382de5da + last_write_checksum: sha1:37b3b179e13e2c947b07b4ba92081ca8bfc76b94 + pristine_git_object: d8db47d96207901cb725361bccd674cd4486a808 docs/models/operations/testvariants.md: id: 4d6d8f98c81e last_write_checksum: sha1:2ba034d74826fdefe25b55f0d401567d26d01efe @@ -1666,8 +1678,8 @@ trackedFiles: pristine_git_object: 024ab2970d1a03d45bfd01fd03dcd1fa6a3b0dc6 docs/models/operations/type.md: id: 8e39682ca85e - last_write_checksum: sha1:a9f0a5e2d00d7d6d42ccdce8bb43bf2f1236404f - pristine_git_object: 8d2a2a7f2346c89481fbb1dbbaf45785a9707f52 + last_write_checksum: sha1:9f6d32ae45d91d737da0b4ada5c26d3b6a1a4fc8 + pristine_git_object: feb277c734e756e1910c91f7c1869fb930dea63b docs/models/operations/updatecommissioncustomer.md: id: 19d4c8993860 last_write_checksum: sha1:4d2241106da302f47ca130e557124d3de0e5054a @@ -1858,12 +1870,12 @@ trackedFiles: pristine_git_object: 9069cf970555683c5b3fa528113f10e97f33a121 docs/sdks/partnerapplications/README.md: id: 6cf37e16d4c1 - last_write_checksum: sha1:0263d8d6c7821aeef2c024383110a74031539cee - pristine_git_object: e52ca3d0122fa750228acf8e8b8bbb226f0ad28e + last_write_checksum: sha1:3578c5ee07ffb4515ea1a803151025a49f335e85 + pristine_git_object: 60f64ec4ff10645d4eb486e92e358274925ed378 docs/sdks/partners/README.md: id: 85ac19d13270 - last_write_checksum: sha1:7785b184f8222bbe6707c752b0ffb0e2f6671d02 - pristine_git_object: 0aa3cf71b46d53db0ed699f73b9c1ca2090d092b + last_write_checksum: sha1:e822fe93ad5fe817421f4c3239821de3de036e85 + pristine_git_object: 15896f2e6571d4c8c8e9c7694360e49081046ea2 docs/sdks/payouts/README.md: id: 184ed4a74471 last_write_checksum: sha1:34ab994bcbde69a61c3d864c52dcd1b876870420 @@ -1894,8 +1906,8 @@ trackedFiles: pristine_git_object: d722e610557dc0704b6ece9349e7f41fc2cf4546 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:03d54d1c21ba50faa1a37ca8637d79b1845ea321 - pristine_git_object: 7c93bbb2ad28d97b4baa22a9b49e8a5d2f7f654c + last_write_checksum: sha1:323f48d668f11add0ca4c9fe02953f76b6ee4ca0 + pristine_git_object: 4a8c989efbc3d20580ccb47d3d195f7f7d45f6ca scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:98ab0adc36f1ccd31422544b0dd94e008aa47804 @@ -1922,8 +1934,8 @@ trackedFiles: pristine_git_object: 350406f1a5b2eabd1ca7e8ea2621fdca5096e0e5 src/dub/_version.py: id: 2e88e1f01047 - last_write_checksum: sha1:d4059f10b2fcf406ff091bd517d5647de13b648c - pristine_git_object: 3880b6cf23c9270d29e8e91e95bfba76f7f7e2ab + last_write_checksum: sha1:9afb3450359908bd3791276734ae72c18bfa45b7 + pristine_git_object: 7e7569b37827cb71f991c4c0f3f6739934f91a3a src/dub/analytics.py: id: b7a4fa47e744 last_write_checksum: sha1:c3472d9c8213cee91d855a2463e364c27dcc2956 @@ -1946,8 +1958,8 @@ trackedFiles: pristine_git_object: e66b268b4152f2d9e6fe8e59cf112a25c7c6cd29 src/dub/domains.py: id: 09f896d00e5c - last_write_checksum: sha1:2f47265ddc14e1edccbe208d0132f900e7a41eca - pristine_git_object: 319ca8801a4108b64dc8fb0e5dca41878e521562 + last_write_checksum: sha1:5d6ecb13870499146e64c8a1c3285509280a292b + pristine_git_object: 33e12842ebf55d7a53a8e4480b8abd1c47265672 src/dub/embed_tokens.py: id: bd0796c6f961 last_write_checksum: sha1:3782bdb45f94912b285dd569ddab68e71a2ffc17 @@ -1966,16 +1978,16 @@ trackedFiles: pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/dub/links.py: id: 28d2ed488c1a - last_write_checksum: sha1:94ef102472aa7009524e8dd977f225237e7a097f - pristine_git_object: ad6b5e0458b2860e65a3f9f4b7ecb9689e97d6e4 + last_write_checksum: sha1:b6874e8b72c6e9cd6d051e4bb50a81d13c91bea1 + pristine_git_object: 7e33c1fc2f5606f97cfea94c3c744369ffd7bdef src/dub/models/__init__.py: id: 31596861c2a1 last_write_checksum: sha1:9fcf8371021be56f3cea00eebcebb7f0f80fb131 pristine_git_object: a8ba3e636207fe13ab7e1d1790061c0cb9cfa83e src/dub/models/components/__init__.py: id: cfa9c231496c - last_write_checksum: sha1:32c0516322715712a33822595b63cc59a149de72 - pristine_git_object: ceaead466eb0653999900ff7609006d12aa92320 + last_write_checksum: sha1:58bbe4cb3c5b524758774dfc1442ad7b4b12f281 + pristine_git_object: e0ac2b59e7db2e84b33d6da428a0e82a2a86687b src/dub/models/components/analyticsbrowsers.py: id: 2d7aed63032d last_write_checksum: sha1:242eff9c4d633d958c2d5b8cab336ec9e3d906c0 @@ -2090,8 +2102,8 @@ trackedFiles: pristine_git_object: e7ab48ffb634603c44e6fe853b533d6576a2711f src/dub/models/components/partnerenrolledevent.py: id: 3f120ef09957 - last_write_checksum: sha1:a78d7a33e1df875a62a23917437a45c2bdf64772 - pristine_git_object: 24f3daa138a5d5d5521f682a7a3120940589b268 + last_write_checksum: sha1:74ea03a01ee9336dfec5c39dd6448b7d0d79d8c0 + pristine_git_object: 63953ddae5324149ab45e5055884f6fd42b0ac92 src/dub/models/components/salecreatedevent.py: id: 216d1319967a last_write_checksum: sha1:f150bbef98893ffeb25877df2f3f576ab0089eb9 @@ -2162,16 +2174,16 @@ trackedFiles: pristine_git_object: a4d3bb4339a522ec90dcd859c74a4a4473f10e1f src/dub/models/operations/__init__.py: id: 933db6318765 - last_write_checksum: sha1:0805797451a0f21eeee0b9d3f07cd41d0b632289 - pristine_git_object: 531b102e54fade0eaccbb822f463698794342824 + last_write_checksum: sha1:288d9687a7a90ca251537078f62e86cb448afa0e + pristine_git_object: a0a590b307d6c71d2afaece8b278970160ae0b38 src/dub/models/operations/approvebountysubmission.py: id: bb43baeb1a3f last_write_checksum: sha1:3226de576000c54c280fcd3dc85e468946fa7f93 pristine_git_object: 6e22a40d1077f4571f8dcfdb846ff4e9c841cfe1 - src/dub/models/operations/approvepartner.py: - id: 0c91462b31a2 - last_write_checksum: sha1:87c236bfe934c2ed1f2b8fd92758a9f31423a378 - pristine_git_object: cc23dfca8ed3c2eae49a131d6c45447bbf8580ca + src/dub/models/operations/approvepartnerapplication.py: + id: 14b2de7a6716 + last_write_checksum: sha1:87ef552d3c446d33cb5bfb79959a0c17df7c511d + pristine_git_object: a827bd5bd0733fb06fc346115dbcc561efb7cf49 src/dub/models/operations/banpartner.py: id: 444fc7f56f49 last_write_checksum: sha1:f1628d27d4ddabe424c357d565ef363f41e99ec8 @@ -2210,8 +2222,8 @@ trackedFiles: pristine_git_object: 9a9fa3b63b1f1ae93f68fa393ab6ac2b277a767a src/dub/models/operations/createpartner.py: id: 06fa07938a1b - last_write_checksum: sha1:73fb5b616e9f8be9fc47d806438e0df5acdc0fdd - pristine_git_object: b1e7118e3884e877ac8ab564f2f79fdedeab4a24 + last_write_checksum: sha1:9405fa70cb12297547eb844abad081ff3a84f00a + pristine_git_object: a93bb99e8af65438c2d070e4b03ec75b2fb3c235 src/dub/models/operations/createpartnerlink.py: id: 8c33637a6d5d last_write_checksum: sha1:b7aafa4c3967634327b9b293ff60715aee9acda1 @@ -2282,16 +2294,16 @@ trackedFiles: pristine_git_object: 542271b059e73aa560a573c34f8dcc3ec494acc1 src/dub/models/operations/listcommissions.py: id: 992f4436b681 - last_write_checksum: sha1:61707d793fc345cc20192f5bd9ff3e7b02189116 - pristine_git_object: aeb51652d718b2ad6675680372b2b038e5cc2081 + last_write_checksum: sha1:026d3472a9d71985fa5299692054d5a5856150de + pristine_git_object: 57a075e537cd9c0e092135aa78abade94a585f33 src/dub/models/operations/listdomains.py: id: d32b3e207565 last_write_checksum: sha1:d51ab77dc9cf5174a7c002bd7478b800f92cbf06 pristine_git_object: 2b1047289ac8171c7cbcbfe72a9a2620424d5d6d src/dub/models/operations/listevents.py: id: e65c95de179b - last_write_checksum: sha1:6fd565bbd4b927891d3d52e9076635ba604cb648 - pristine_git_object: 41c7228623407b23dcdb88cb081b0243365f86d2 + last_write_checksum: sha1:73fb975ad3f58787c72c950cf8c3f60bc8011b9b + pristine_git_object: 65d3c04d1e5c228e1e5c3c654524c62e3701938e src/dub/models/operations/listfolders.py: id: 42dbcd5bbad8 last_write_checksum: sha1:354dcb51fcbf90e8e41a07d3e2abf5ecf58349cb @@ -2302,8 +2314,8 @@ trackedFiles: pristine_git_object: 209fe43782da49da46e69934bc3176583a548498 src/dub/models/operations/listpartners.py: id: f5459d336462 - last_write_checksum: sha1:eadedd34e56866bf291a49a158aeb745531b4771 - pristine_git_object: 3d18cf8c3e5fb3eff3d7c00db98e34dda58cbe73 + last_write_checksum: sha1:100ecb88436f6c1b153a6a2e03a6d36fbc63c904 + pristine_git_object: ddbd7c40bdc3e74c9782170732c796ca36ce6bb9 src/dub/models/operations/listpayouts.py: id: d5cd6d0e4a39 last_write_checksum: sha1:12d6e97adcecd11befe182f085b8856d8482eb80 @@ -2316,22 +2328,22 @@ trackedFiles: id: 417e94427b88 last_write_checksum: sha1:6d32cb2f93a8cabb336a04b5509eeb18e8d47a05 pristine_git_object: d1925c46736b6e450a4f8088a749f8bc2824468c - src/dub/models/operations/rejectpartner.py: - id: 5172d0198c97 - last_write_checksum: sha1:d853c72f24217b6b791c08d9b9cbb36e1b537724 - pristine_git_object: 6d8964b31cd430f5bf781c91a311ac84582bf1c5 + src/dub/models/operations/rejectpartnerapplication.py: + id: 61375af08c5b + last_write_checksum: sha1:7863c0201ca20dab6bdd1484614b4b03b1bfe3a9 + pristine_git_object: 427a3f4f966cd6469805e613038e812ad0d35ebc src/dub/models/operations/retrieveanalytics.py: id: d4bcf92cd8c8 - last_write_checksum: sha1:702d3e32cf8c0bd6f0dd597154991393aafa4da9 - pristine_git_object: 569e3802f23431dc5f57a29da91bfa6b9e336e85 - src/dub/models/operations/retrievelinks.py: - id: 06b94f642966 - last_write_checksum: sha1:c2bdfe80e323177e29ec83c9bf73e072766e495d - pristine_git_object: 62cd6799c60a93af7c6bda6de1902399b07f3e0c + last_write_checksum: sha1:4b8661a6f584654e1647f85bbcb56ad6c2cc8a5e + pristine_git_object: 060490f004379465ca9c7de278f324a2e1cbfc5c src/dub/models/operations/retrievepartneranalytics.py: id: 8889428b71f1 last_write_checksum: sha1:10ad01c72d6943ce1ad41d9df68e53afe2a1855b pristine_git_object: c5cc6b155c687234710e163dae8b4350c662fb9e + src/dub/models/operations/retrievepartnerlinks.py: + id: c72f7fa74edd + last_write_checksum: sha1:ed5c57ecba04c5b6f31044280dd9ae552873fb24 + pristine_git_object: 43bb0d42835f1be2d98cebf29b25186aaaa366f4 src/dub/models/operations/tracklead.py: id: 973525c261fc last_write_checksum: sha1:542698fe0cb1087831971f6019627e97f055586a @@ -2374,12 +2386,12 @@ trackedFiles: pristine_git_object: b7590da8b61f6598e03f3face67255570a7fe4e6 src/dub/partner_applications.py: id: bb23ca342d44 - last_write_checksum: sha1:94a0035bc34c4bacd4cd5fb20085ebbcae81d893 - pristine_git_object: ad4370cf206e7e42301212722d5e7c3f12d0e0b3 + last_write_checksum: sha1:cd0ef645aded15b02e9b17cb45f9c9ee58a442fe + pristine_git_object: 7029ad45e79fd56752294047a969e6e0564b1df6 src/dub/partners.py: id: eb45bbf562e5 - last_write_checksum: sha1:7e34b15d672c655a8af1524749c20d58ed0254bf - pristine_git_object: 553542f432718b689769633f87a0c002ddcd9649 + last_write_checksum: sha1:6fadd84dda986e31ca1288c72ea25da94977e819 + pristine_git_object: 879418723bba96b370765522706f15df05dabc79 src/dub/payouts.py: id: 4f948a5d29de last_write_checksum: sha1:4a1d7425f2c5773d5f6f544a3b4545392a6ce1a6 @@ -4000,16 +4012,82 @@ examples: application/json: {"error": {"code": "rate_limit_exceeded", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"}} "500": 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"}} + retrievePartnerLinks: + speakeasy-default-retrieve-partner-links: + responses: + "200": + application/json: [{"id": "", "domain": "deadly-bonfire.name", "key": "", "shortLink": "https://simplistic-birdbath.org/", "url": "https://usable-hello.name/", "clicks": 0, "leads": 0, "conversions": 0, "sales": 0, "saleAmount": 0}] + "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": + application/json: {"error": {"code": "unauthorized", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"}} + "403": + application/json: {"error": {"code": "forbidden", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#forbidden"}} + "404": + application/json: {"error": {"code": "not_found", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#not-found"}} + "409": + application/json: {"error": {"code": "conflict", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#conflict"}} + "410": + application/json: {"error": {"code": "invite_expired", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"}} + "422": + application/json: {"error": {"code": "unprocessable_entity", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"}} + "429": + application/json: {"error": {"code": "rate_limit_exceeded", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"}} + "500": + 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"}} + approvePartnerApplication: + speakeasy-default-approve-partner-application: + requestBody: + application/json: {"partnerId": ""} + responses: + "200": + application/json: {"partnerId": ""} + "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": + application/json: {"error": {"code": "unauthorized", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"}} + "403": + application/json: {"error": {"code": "forbidden", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#forbidden"}} + "404": + application/json: {"error": {"code": "not_found", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#not-found"}} + "409": + application/json: {"error": {"code": "conflict", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#conflict"}} + "410": + application/json: {"error": {"code": "invite_expired", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"}} + "422": + application/json: {"error": {"code": "unprocessable_entity", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"}} + "429": + application/json: {"error": {"code": "rate_limit_exceeded", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"}} + "500": + 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"}} + rejectPartnerApplication: + speakeasy-default-reject-partner-application: + requestBody: + application/json: {"partnerId": "", "allowImmediateReapply": false} + responses: + "200": + application/json: {"partnerId": ""} + "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": + application/json: {"error": {"code": "unauthorized", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"}} + "403": + application/json: {"error": {"code": "forbidden", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#forbidden"}} + "404": + application/json: {"error": {"code": "not_found", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#not-found"}} + "409": + application/json: {"error": {"code": "conflict", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#conflict"}} + "410": + application/json: {"error": {"code": "invite_expired", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"}} + "422": + application/json: {"error": {"code": "unprocessable_entity", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"}} + "429": + application/json: {"error": {"code": "rate_limit_exceeded", "message": "The requested resource was not found.", "doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"}} + "500": + 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: - * `dub.partner_applications.list()`: **Added** - * `dub.partner_applications.approve()`: **Added** - * `dub.partner_applications.reject()`: **Added** - * `dub.events.list()`: `response.[].union(sale).sale.currency` **Added** - * `dub.partners.list()`: `response.[].identity_verified_at` **Added** - * `dub.partners.create()`: `response.identity_verified_at` **Added** +releaseNotes: "## Python SDK Changes:\n* `dub.analytics.retrieve()`: `request` **Changed**\n* `dub.events.list()`: \n * `request.partner_tag_id` **Added**\n* `dub.partners.list()`: `response.[].tags` **Added**\n* `dub.partners.create()`: `response.tags` **Added**\n" generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index c9d9d89..5095266 100755 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.35.7 + version: 0.35.8 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 16ed356..818875d 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.761.9 +speakeasyVersion: 1.762.0 sources: dub: sourceNamespace: dub - sourceRevisionDigest: sha256:d86df3c9bd604448c34853ed39872f00710adf94a49e28edb6969c2e69b3bcaf - sourceBlobDigest: sha256:e9f74dc104cf7ecd005a5bb81c2895fb57fc66b4781fea1c72750b7a3e1793b3 + sourceRevisionDigest: sha256:4badcba1fa6bce2df5da92bd12de1d53614d7f0c1253cc669fca4a9b8e7f32b5 + sourceBlobDigest: sha256:526f218bc24f4946a20f3a1d8bfd793055a5b89171a4006d7e2e8a446db261e1 tags: - latest - 0.0.1 @@ -11,10 +11,10 @@ targets: my-first-target: source: dub sourceNamespace: dub - sourceRevisionDigest: sha256:d86df3c9bd604448c34853ed39872f00710adf94a49e28edb6969c2e69b3bcaf - sourceBlobDigest: sha256:e9f74dc104cf7ecd005a5bb81c2895fb57fc66b4781fea1c72750b7a3e1793b3 + sourceRevisionDigest: sha256:4badcba1fa6bce2df5da92bd12de1d53614d7f0c1253cc669fca4a9b8e7f32b5 + sourceBlobDigest: sha256:526f218bc24f4946a20f3a1d8bfd793055a5b89171a4006d7e2e8a446db261e1 codeSamplesNamespace: code-samples-python-my-first-target - codeSamplesRevisionDigest: sha256:0632b8446052d67e5b3081429d995751095c4553926d6ff4cc3ac86de32565d9 + codeSamplesRevisionDigest: sha256:7c242b113ff05e6df93fe552f1fab6cced0d8f29ebc59595473b118b93b867b8 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 14b4847..e725cf8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1536,4 +1536,14 @@ Based on: ### Generated - [python v0.35.7] . ### Releases -- [PyPI v0.35.7] https://pypi.org/project/dub/0.35.7 - . \ No newline at end of file +- [PyPI v0.35.7] https://pypi.org/project/dub/0.35.7 - . + +## 2026-05-06 00:53:03 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.762.0 (2.882.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.35.8] . +### Releases +- [PyPI v0.35.8] https://pypi.org/project/dub/0.35.8 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 48c2752..e48cfc4 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -842,7 +842,7 @@ actions: update: x-codeSamples: - lang: python - label: approvePartner + label: approvePartnerApplication source: |- from dub import Dub @@ -861,7 +861,7 @@ actions: update: x-codeSamples: - lang: python - label: rejectPartner + label: rejectPartnerApplication source: |- from dub import Dub @@ -914,7 +914,7 @@ actions: update: x-codeSamples: - lang: python - label: retrieveLinks + label: retrievePartnerLinks source: |- from dub import Dub diff --git a/docs/models/components/partnerenrolledeventdata.md b/docs/models/components/partnerenrolledeventdata.md index fa4792b..76ce62f 100644 --- a/docs/models/components/partnerenrolledeventdata.md +++ b/docs/models/components/partnerenrolledeventdata.md @@ -35,6 +35,7 @@ | `banned_reason` | [OptionalNullable[components.BannedReason]](../../models/components/bannedreason.md) | :heavy_minus_sign: | If the partner was banned from the program, this is the reason for the ban. | | `referral_form_data` | [OptionalNullable[components.ReferralFormData]](../../models/components/referralformdata.md) | :heavy_minus_sign: | N/A | | `application` | [OptionalNullable[components.Application]](../../models/components/application.md) | :heavy_minus_sign: | Linked program application, including review outcome when applicable. | +| `tags` | List[[components.Tags](../../models/components/tags.md)] | :heavy_minus_sign: | The tags associated with the partner. | | `total_clicks` | *Optional[float]* | :heavy_minus_sign: | The total number of clicks on the partner's links | | `total_leads` | *Optional[float]* | :heavy_minus_sign: | The total number of leads generated by the partner's links | | `total_conversions` | *Optional[float]* | :heavy_minus_sign: | The total number of leads that converted to paying customers | diff --git a/docs/models/components/tags.md b/docs/models/components/tags.md new file mode 100644 index 0000000..d8db47d --- /dev/null +++ b/docs/models/components/tags.md @@ -0,0 +1,9 @@ +# Tags + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/approvepartnerrequestbody.md b/docs/models/operations/approvepartnerapplicationrequestbody.md similarity index 98% rename from docs/models/operations/approvepartnerrequestbody.md rename to docs/models/operations/approvepartnerapplicationrequestbody.md index c8da638..763917d 100644 --- a/docs/models/operations/approvepartnerrequestbody.md +++ b/docs/models/operations/approvepartnerapplicationrequestbody.md @@ -1,4 +1,4 @@ -# ApprovePartnerRequestBody +# ApprovePartnerApplicationRequestBody ## Fields diff --git a/docs/models/operations/approvepartnerresponsebody.md b/docs/models/operations/approvepartnerapplicationresponsebody.md similarity index 91% rename from docs/models/operations/approvepartnerresponsebody.md rename to docs/models/operations/approvepartnerapplicationresponsebody.md index 1e80c4c..44445f0 100644 --- a/docs/models/operations/approvepartnerresponsebody.md +++ b/docs/models/operations/approvepartnerapplicationresponsebody.md @@ -1,4 +1,4 @@ -# ApprovePartnerResponseBody +# ApprovePartnerApplicationResponseBody The approved partner diff --git a/docs/models/operations/createpartnerresponsebody.md b/docs/models/operations/createpartnerresponsebody.md index f570ae9..cb85980 100644 --- a/docs/models/operations/createpartnerresponsebody.md +++ b/docs/models/operations/createpartnerresponsebody.md @@ -37,6 +37,7 @@ The created or updated partner | `banned_reason` | [OptionalNullable[operations.CreatePartnerBannedReason]](../../models/operations/createpartnerbannedreason.md) | :heavy_minus_sign: | If the partner was banned from the program, this is the reason for the ban. | | `referral_form_data` | [OptionalNullable[operations.CreatePartnerReferralFormData]](../../models/operations/createpartnerreferralformdata.md) | :heavy_minus_sign: | N/A | | `application` | [OptionalNullable[operations.CreatePartnerApplication]](../../models/operations/createpartnerapplication.md) | :heavy_minus_sign: | Linked program application, including review outcome when applicable. | +| `tags` | List[[operations.CreatePartnerTags](../../models/operations/createpartnertags.md)] | :heavy_minus_sign: | The tags associated with the partner. | | `total_clicks` | *Optional[float]* | :heavy_minus_sign: | The total number of clicks on the partner's links | | `total_leads` | *Optional[float]* | :heavy_minus_sign: | The total number of leads generated by the partner's links | | `total_conversions` | *Optional[float]* | :heavy_minus_sign: | The total number of leads that converted to paying customers | diff --git a/docs/models/operations/createpartnertags.md b/docs/models/operations/createpartnertags.md new file mode 100644 index 0000000..063aa78 --- /dev/null +++ b/docs/models/operations/createpartnertags.md @@ -0,0 +1,9 @@ +# CreatePartnerTags + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/listcommissionsrequest.md b/docs/models/operations/listcommissionsrequest.md index 52c76a5..8b0b6df 100644 --- a/docs/models/operations/listcommissionsrequest.md +++ b/docs/models/operations/listcommissionsrequest.md @@ -3,23 +3,23 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | [Optional[operations.Type]](../../models/operations/type.md) | :heavy_minus_sign: | N/A | | -| `customer_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated customer. | | -| `payout_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated payout. | | -| `partner_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`. | | -| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated partner's `tenantId` (their unique ID within your database). | | -| `group_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated partner group. | | -| `invoice_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated invoice. Since invoiceId is unique on a per-program basis, this will only return one commission per invoice. | | -| `status` | [Optional[operations.QueryParamStatus]](../../models/operations/queryparamstatus.md) | :heavy_minus_sign: | Filter the list of commissions by their corresponding status. | | -| `sort_by` | [Optional[operations.ListCommissionsQueryParamSortBy]](../../models/operations/listcommissionsqueryparamsortby.md) | :heavy_minus_sign: | The field to sort the list of commissions by. | | -| `sort_order` | [Optional[operations.ListCommissionsQueryParamSortOrder]](../../models/operations/listcommissionsqueryparamsortorder.md) | :heavy_minus_sign: | The sort order for the list of commissions. | | -| `interval` | [Optional[operations.ListCommissionsQueryParamInterval]](../../models/operations/listcommissionsqueryparaminterval.md) | :heavy_minus_sign: | The interval to retrieve commissions for. | | -| `start` | *Optional[str]* | :heavy_minus_sign: | The start date of the date range to filter the commissions by. | | -| `end` | *Optional[str]* | :heavy_minus_sign: | The end date of the date range to filter the commissions by. | | -| `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 +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | [Optional[operations.Type]](../../models/operations/type.md) | :heavy_minus_sign: | Filter the list of commissions by type. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `sale`, `sale,lead`, `-click`. | | +| `customer_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated customer. | | +| `payout_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated payout. | | +| `partner_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `partner_abc`, `partner_abc,partner_xyz`, `-partner_abc`. | | +| `tenant_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated partner's `tenantId` (their unique ID within your database). | | +| `group_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions 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`. | | +| `invoice_id` | *Optional[str]* | :heavy_minus_sign: | Filter the list of commissions by the associated invoice. Since invoiceId is unique on a per-program basis, this will only return one commission per invoice. | | +| `status` | [Optional[operations.QueryParamStatus]](../../models/operations/queryparamstatus.md) | :heavy_minus_sign: | Filter the list of commissions by their corresponding status. | | +| `sort_by` | [Optional[operations.ListCommissionsQueryParamSortBy]](../../models/operations/listcommissionsqueryparamsortby.md) | :heavy_minus_sign: | The field to sort the list of commissions by. | | +| `sort_order` | [Optional[operations.ListCommissionsQueryParamSortOrder]](../../models/operations/listcommissionsqueryparamsortorder.md) | :heavy_minus_sign: | The sort order for the list of commissions. | | +| `interval` | [Optional[operations.ListCommissionsQueryParamInterval]](../../models/operations/listcommissionsqueryparaminterval.md) | :heavy_minus_sign: | The interval to retrieve commissions for. | | +| `start` | *Optional[str]* | :heavy_minus_sign: | The start date of the date range to filter the commissions by. | | +| `end` | *Optional[str]* | :heavy_minus_sign: | The end date of the date range to filter the commissions by. | | +| `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 diff --git a/docs/models/operations/listeventsrequest.md b/docs/models/operations/listeventsrequest.md index ce08807..a9b0f93 100644 --- a/docs/models/operations/listeventsrequest.md +++ b/docs/models/operations/listeventsrequest.md @@ -13,6 +13,7 @@ | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the tenant that created the link inside your system. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `tenant_123`, `tenant_123,tenant_456`, `-tenant_789`. | | | `tag_id` | *Optional[str]* | :heavy_minus_sign: | The tag ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `tag_123`, `tag_123,tag_456`, `-tag_789`. | | | `folder_id` | *Optional[str]* | :heavy_minus_sign: | The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links. | | +| `partner_tag_id` | *Optional[str]* | :heavy_minus_sign: | The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`. | | | `group_id` | *Optional[str]* | :heavy_minus_sign: | The group ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `grp_123`, `grp_123,grp_456`, `-grp_789`. | | | `partner_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the partner to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `pn_123`, `pn_123,pn_456`, `-pn_789`. | | | `customer_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the customer to retrieve analytics for. | | diff --git a/docs/models/operations/listpartnersresponsebody.md b/docs/models/operations/listpartnersresponsebody.md index 2a323d9..82607d4 100644 --- a/docs/models/operations/listpartnersresponsebody.md +++ b/docs/models/operations/listpartnersresponsebody.md @@ -35,6 +35,7 @@ | `banned_reason` | [OptionalNullable[operations.BannedReason]](../../models/operations/bannedreason.md) | :heavy_minus_sign: | If the partner was banned from the program, this is the reason for the ban. | | `referral_form_data` | [OptionalNullable[operations.ReferralFormData]](../../models/operations/referralformdata.md) | :heavy_minus_sign: | N/A | | `application` | [OptionalNullable[operations.Application]](../../models/operations/application.md) | :heavy_minus_sign: | Linked program application, including review outcome when applicable. | +| `tags` | List[[operations.Tags](../../models/operations/tags.md)] | :heavy_minus_sign: | The tags associated with the partner. | | `total_clicks` | *Optional[float]* | :heavy_minus_sign: | The total number of clicks on the partner's links | | `total_leads` | *Optional[float]* | :heavy_minus_sign: | The total number of leads generated by the partner's links | | `total_conversions` | *Optional[float]* | :heavy_minus_sign: | The total number of leads that converted to paying customers | diff --git a/docs/models/operations/queryparamgroupby.md b/docs/models/operations/queryparamgroupby.md index a80b463..eb9d4f9 100644 --- a/docs/models/operations/queryparamgroupby.md +++ b/docs/models/operations/queryparamgroupby.md @@ -13,31 +13,32 @@ value = QueryParamGroupBy.COUNT ## Values -| Name | Value | -| --------------- | --------------- | -| `COUNT` | count | -| `TIMESERIES` | timeseries | -| `CONTINENTS` | continents | -| `REGIONS` | regions | -| `COUNTRIES` | countries | -| `CITIES` | cities | -| `DEVICES` | devices | -| `BROWSERS` | browsers | -| `OS` | os | -| `TRIGGER` | trigger | -| `TRIGGERS` | triggers | -| `REFERERS` | referers | -| `REFERER_URLS` | referer_urls | -| `TOP_FOLDERS` | top_folders | -| `TOP_LINK_TAGS` | top_link_tags | -| `TOP_DOMAINS` | top_domains | -| `TOP_LINKS` | top_links | -| `TOP_URLS` | top_urls | -| `TOP_BASE_URLS` | top_base_urls | -| `TOP_PARTNERS` | top_partners | -| `TOP_GROUPS` | top_groups | -| `UTM_SOURCES` | utm_sources | -| `UTM_MEDIUMS` | utm_mediums | -| `UTM_CAMPAIGNS` | utm_campaigns | -| `UTM_TERMS` | utm_terms | -| `UTM_CONTENTS` | utm_contents | \ No newline at end of file +| Name | Value | +| ------------------ | ------------------ | +| `COUNT` | count | +| `TIMESERIES` | timeseries | +| `CONTINENTS` | continents | +| `REGIONS` | regions | +| `COUNTRIES` | countries | +| `CITIES` | cities | +| `DEVICES` | devices | +| `BROWSERS` | browsers | +| `OS` | os | +| `TRIGGER` | trigger | +| `TRIGGERS` | triggers | +| `REFERERS` | referers | +| `REFERER_URLS` | referer_urls | +| `TOP_FOLDERS` | top_folders | +| `TOP_LINK_TAGS` | top_link_tags | +| `TOP_DOMAINS` | top_domains | +| `TOP_LINKS` | top_links | +| `TOP_URLS` | top_urls | +| `TOP_BASE_URLS` | top_base_urls | +| `TOP_PARTNERS` | top_partners | +| `TOP_GROUPS` | top_groups | +| `TOP_PARTNER_TAGS` | top_partner_tags | +| `UTM_SOURCES` | utm_sources | +| `UTM_MEDIUMS` | utm_mediums | +| `UTM_CAMPAIGNS` | utm_campaigns | +| `UTM_TERMS` | utm_terms | +| `UTM_CONTENTS` | utm_contents | \ No newline at end of file diff --git a/docs/models/operations/rejectpartnerrequestbody.md b/docs/models/operations/rejectpartnerapplicationrequestbody.md similarity index 98% rename from docs/models/operations/rejectpartnerrequestbody.md rename to docs/models/operations/rejectpartnerapplicationrequestbody.md index dfe42d2..41d7d29 100644 --- a/docs/models/operations/rejectpartnerrequestbody.md +++ b/docs/models/operations/rejectpartnerapplicationrequestbody.md @@ -1,4 +1,4 @@ -# RejectPartnerRequestBody +# RejectPartnerApplicationRequestBody ## Fields diff --git a/docs/models/operations/rejectpartnerresponsebody.md b/docs/models/operations/rejectpartnerapplicationresponsebody.md similarity index 91% rename from docs/models/operations/rejectpartnerresponsebody.md rename to docs/models/operations/rejectpartnerapplicationresponsebody.md index 84b34aa..358d73f 100644 --- a/docs/models/operations/rejectpartnerresponsebody.md +++ b/docs/models/operations/rejectpartnerapplicationresponsebody.md @@ -1,4 +1,4 @@ -# RejectPartnerResponseBody +# RejectPartnerApplicationResponseBody The rejected partner diff --git a/docs/models/operations/retrieveanalyticsrequest.md b/docs/models/operations/retrieveanalyticsrequest.md index c6aaea3..310d7e6 100644 --- a/docs/models/operations/retrieveanalyticsrequest.md +++ b/docs/models/operations/retrieveanalyticsrequest.md @@ -14,6 +14,7 @@ | `tenant_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the tenant that created the link inside your system. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `tenant_123`, `tenant_123,tenant_456`, `-tenant_789`. | | | `tag_id` | *Optional[str]* | :heavy_minus_sign: | The tag ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `tag_123`, `tag_123,tag_456`, `-tag_789`. | | | `folder_id` | *Optional[str]* | :heavy_minus_sign: | The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links. | | +| `partner_tag_id` | *Optional[str]* | :heavy_minus_sign: | The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`. | | | `group_id` | *Optional[str]* | :heavy_minus_sign: | The group ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `grp_123`, `grp_123,grp_456`, `-grp_789`. | | | `partner_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the partner to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `pn_123`, `pn_123,pn_456`, `-pn_789`. | | | `customer_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the customer to retrieve analytics for. | | diff --git a/docs/models/operations/retrievelinksrequest.md b/docs/models/operations/retrievepartnerlinksrequest.md similarity index 98% rename from docs/models/operations/retrievelinksrequest.md rename to docs/models/operations/retrievepartnerlinksrequest.md index 2ae01d4..993f7f5 100644 --- a/docs/models/operations/retrievelinksrequest.md +++ b/docs/models/operations/retrievepartnerlinksrequest.md @@ -1,4 +1,4 @@ -# RetrieveLinksRequest +# RetrievePartnerLinksRequest ## Fields diff --git a/docs/models/operations/retrievelinksresponsebody.md b/docs/models/operations/retrievepartnerlinksresponsebody.md similarity index 99% rename from docs/models/operations/retrievelinksresponsebody.md rename to docs/models/operations/retrievepartnerlinksresponsebody.md index 4fb3e7e..f3ba4c3 100644 --- a/docs/models/operations/retrievelinksresponsebody.md +++ b/docs/models/operations/retrievepartnerlinksresponsebody.md @@ -1,4 +1,4 @@ -# RetrieveLinksResponseBody +# RetrievePartnerLinksResponseBody ## Fields diff --git a/docs/models/operations/tags.md b/docs/models/operations/tags.md new file mode 100644 index 0000000..d8db47d --- /dev/null +++ b/docs/models/operations/tags.md @@ -0,0 +1,9 @@ +# Tags + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *str* | :heavy_check_mark: | N/A | +| `name` | *str* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/type.md b/docs/models/operations/type.md index 8d2a2a7..feb277c 100644 --- a/docs/models/operations/type.md +++ b/docs/models/operations/type.md @@ -1,5 +1,7 @@ # Type +Filter the list of commissions by type. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `sale`, `sale,lead`, `-click`. + ## Example Usage ```python diff --git a/docs/sdks/partnerapplications/README.md b/docs/sdks/partnerapplications/README.md index e52ca3d..60f64ec 100644 --- a/docs/sdks/partnerapplications/README.md +++ b/docs/sdks/partnerapplications/README.md @@ -67,7 +67,7 @@ Approve a pending partner application to your program. The partner will be enrol ### Example Usage - + ```python from dub import Dub @@ -87,14 +87,14 @@ with Dub( ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `request` | [operations.ApprovePartnerRequestBody](../../models/operations/approvepartnerrequestbody.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `request` | [operations.ApprovePartnerApplicationRequestBody](../../models/operations/approvepartnerapplicationrequestbody.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[operations.ApprovePartnerResponseBody](../../models/operations/approvepartnerresponsebody.md)** +**[operations.ApprovePartnerApplicationResponseBody](../../models/operations/approvepartnerapplicationresponsebody.md)** ### Errors @@ -117,7 +117,7 @@ Reject a pending partner application to your program. The partner will be notifi ### Example Usage - + ```python from dub import Dub @@ -137,14 +137,14 @@ with Dub( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `request` | [operations.RejectPartnerRequestBody](../../models/operations/rejectpartnerrequestbody.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `request` | [operations.RejectPartnerApplicationRequestBody](../../models/operations/rejectpartnerapplicationrequestbody.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[operations.RejectPartnerResponseBody](../../models/operations/rejectpartnerresponsebody.md)** +**[operations.RejectPartnerApplicationResponseBody](../../models/operations/rejectpartnerapplicationresponsebody.md)** ### Errors diff --git a/docs/sdks/partners/README.md b/docs/sdks/partners/README.md index 0aa3cf7..15896f2 100644 --- a/docs/sdks/partners/README.md +++ b/docs/sdks/partners/README.md @@ -143,7 +143,7 @@ Retrieve a partner's links by their partner ID or tenant ID. ### Example Usage - + ```python from dub import Dub @@ -161,14 +161,14 @@ with Dub( ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `request` | [operations.RetrieveLinksRequest](../../models/operations/retrievelinksrequest.md) | :heavy_check_mark: | The request object to use for the request. | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `request` | [operations.RetrievePartnerLinksRequest](../../models/operations/retrievepartnerlinksrequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response -**[List[operations.RetrieveLinksResponseBody]](../../models/.md)** +**[List[operations.RetrievePartnerLinksResponseBody]](../../models/.md)** ### Errors diff --git a/pyproject.toml b/pyproject.toml index 7c93bbb..4a8c989 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "dub" -version = "0.35.7" +version = "0.35.8" 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 3880b6c..7e7569b 100644 --- a/src/dub/_version.py +++ b/src/dub/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "dub" -__version__: str = "0.35.7" +__version__: str = "0.35.8" __openapi_doc_version__: str = "0.0.1" -__gen_version__: str = "2.881.4" -__user_agent__: str = "speakeasy-sdk/python 0.35.7 2.881.4 0.0.1 dub" +__gen_version__: str = "2.882.0" +__user_agent__: str = "speakeasy-sdk/python 0.35.8 2.882.0 0.0.1 dub" try: if __package__ is not None: diff --git a/src/dub/domains.py b/src/dub/domains.py index 319ca88..33e1284 100644 --- a/src/dub/domains.py +++ b/src/dub/domains.py @@ -94,8 +94,8 @@ def next_func() -> Optional[operations.ListDomainsResponse]: results = JSONPath("$").parse(body) if len(results) == 0 or len(results[0]) == 0: return None - limit = request.page_size if isinstance(request.page_size, int) else 50 - if len(results[0]) < limit: + limit_ = request.page_size if isinstance(request.page_size, int) else 50 + if len(results[0]) < limit_: return None return self.list( @@ -242,8 +242,8 @@ def next_func() -> Optional[operations.ListDomainsResponse]: results = JSONPath("$").parse(body) if len(results) == 0 or len(results[0]) == 0: return None - limit = request.page_size if isinstance(request.page_size, int) else 50 - if len(results[0]) < limit: + limit_ = request.page_size if isinstance(request.page_size, int) else 50 + if len(results[0]) < limit_: return None return self.list( diff --git a/src/dub/links.py b/src/dub/links.py index ad6b5e0..7e33c1f 100644 --- a/src/dub/links.py +++ b/src/dub/links.py @@ -92,8 +92,8 @@ def next_func() -> Optional[operations.GetLinksResponse]: results = JSONPath("$").parse(body) if len(results) == 0 or len(results[0]) == 0: return None - limit = request.page_size if isinstance(request.page_size, int) else 100 - if len(results[0]) < limit: + limit_ = request.page_size if isinstance(request.page_size, int) else 100 + if len(results[0]) < limit_: return None return self.list( @@ -251,8 +251,8 @@ def next_func() -> Optional[operations.GetLinksResponse]: results = JSONPath("$").parse(body) if len(results) == 0 or len(results[0]) == 0: return None - limit = request.page_size if isinstance(request.page_size, int) else 100 - if len(results[0]) < limit: + limit_ = request.page_size if isinstance(request.page_size, int) else 100 + if len(results[0]) < limit_: return None return self.list( diff --git a/src/dub/models/components/__init__.py b/src/dub/models/components/__init__.py index ceaead4..e0ac2b5 100644 --- a/src/dub/models/components/__init__.py +++ b/src/dub/models/components/__init__.py @@ -191,6 +191,8 @@ Six, SixTypedDict, Status, + Tags, + TagsTypedDict, ) from .salecreatedevent import ( Sale, @@ -397,6 +399,8 @@ "Six", "SixTypedDict", "Status", + "Tags", + "TagsTypedDict", "TestVariants", "TestVariantsTypedDict", "Three", @@ -577,6 +581,8 @@ "Six": ".partnerenrolledevent", "SixTypedDict": ".partnerenrolledevent", "Status": ".partnerenrolledevent", + "Tags": ".partnerenrolledevent", + "TagsTypedDict": ".partnerenrolledevent", "Sale": ".salecreatedevent", "SaleCreatedEvent": ".salecreatedevent", "SaleCreatedEventClick": ".salecreatedevent", diff --git a/src/dub/models/components/partnerenrolledevent.py b/src/dub/models/components/partnerenrolledevent.py index 24f3daa..63953dd 100644 --- a/src/dub/models/components/partnerenrolledevent.py +++ b/src/dub/models/components/partnerenrolledevent.py @@ -537,6 +537,17 @@ def serialize_model(self, handler): return m +class TagsTypedDict(TypedDict): + id: str + name: str + + +class Tags(BaseModel): + id: str + + name: str + + class PartnerEnrolledEventDataTypedDict(TypedDict): id: str r"""The partner's unique ID on Dub.""" @@ -592,6 +603,8 @@ class PartnerEnrolledEventDataTypedDict(TypedDict): referral_form_data: NotRequired[Nullable[ReferralFormDataTypedDict]] application: NotRequired[Nullable[ApplicationTypedDict]] r"""Linked program application, including review outcome when applicable.""" + tags: NotRequired[List[TagsTypedDict]] + r"""The tags associated with the partner.""" total_clicks: NotRequired[float] r"""The total number of clicks on the partner's links""" total_leads: NotRequired[float] @@ -739,6 +752,9 @@ class PartnerEnrolledEventData(BaseModel): application: OptionalNullable[Application] = UNSET r"""Linked program application, including review outcome when applicable.""" + tags: Optional[List[Tags]] = None + r"""The tags associated with the partner.""" + total_clicks: Annotated[Optional[float], pydantic.Field(alias="totalClicks")] = 0 r"""The total number of clicks on the partner's links""" @@ -825,6 +841,7 @@ def serialize_model(self, handler): "bannedReason", "referralFormData", "application", + "tags", "totalClicks", "totalLeads", "totalConversions", diff --git a/src/dub/models/operations/__init__.py b/src/dub/models/operations/__init__.py index 531b102..a0a590b 100644 --- a/src/dub/models/operations/__init__.py +++ b/src/dub/models/operations/__init__.py @@ -16,11 +16,11 @@ ApproveBountySubmissionResponseBodyTypedDict, ApproveBountySubmissionStatus, ) - from .approvepartner import ( - ApprovePartnerRequestBody, - ApprovePartnerRequestBodyTypedDict, - ApprovePartnerResponseBody, - ApprovePartnerResponseBodyTypedDict, + from .approvepartnerapplication import ( + ApprovePartnerApplicationRequestBody, + ApprovePartnerApplicationRequestBodyTypedDict, + ApprovePartnerApplicationResponseBody, + ApprovePartnerApplicationResponseBodyTypedDict, ) from .banpartner import ( BanPartnerRequestBody, @@ -136,6 +136,8 @@ CreatePartnerTagIdsTypedDict, CreatePartnerTagNames, CreatePartnerTagNamesTypedDict, + CreatePartnerTags, + CreatePartnerTagsTypedDict, CreatePartnerTestVariants, CreatePartnerTestVariantsTypedDict, Fields5, @@ -428,6 +430,8 @@ SevenTypedDict, Six, SixTypedDict, + Tags, + TagsTypedDict, ) from .listpayouts import ( ListPayoutsDefaultPayoutMethod, @@ -464,11 +468,11 @@ RejectBountySubmissionResponseBodyTypedDict, RejectBountySubmissionStatus, ) - from .rejectpartner import ( - RejectPartnerRequestBody, - RejectPartnerRequestBodyTypedDict, - RejectPartnerResponseBody, - RejectPartnerResponseBodyTypedDict, + from .rejectpartnerapplication import ( + RejectPartnerApplicationRequestBody, + RejectPartnerApplicationRequestBodyTypedDict, + RejectPartnerApplicationResponseBody, + RejectPartnerApplicationResponseBodyTypedDict, RejectionReason, ) from .retrieveanalytics import ( @@ -481,12 +485,6 @@ RetrieveAnalyticsResponseBodyTypedDict, SaleType, ) - from .retrievelinks import ( - RetrieveLinksRequest, - RetrieveLinksRequestTypedDict, - RetrieveLinksResponseBody, - RetrieveLinksResponseBodyTypedDict, - ) from .retrievepartneranalytics import ( RetrievePartnerAnalyticsQueryParamGroupBy, RetrievePartnerAnalyticsQueryParamInterval, @@ -495,6 +493,12 @@ RetrievePartnerAnalyticsResponseBody, RetrievePartnerAnalyticsResponseBodyTypedDict, ) + from .retrievepartnerlinks import ( + RetrievePartnerLinksRequest, + RetrievePartnerLinksRequestTypedDict, + RetrievePartnerLinksResponseBody, + RetrievePartnerLinksResponseBodyTypedDict, + ) from .tracklead import ( Click, ClickTypedDict, @@ -619,10 +623,10 @@ "ApproveBountySubmissionResponseBody", "ApproveBountySubmissionResponseBodyTypedDict", "ApproveBountySubmissionStatus", - "ApprovePartnerRequestBody", - "ApprovePartnerRequestBodyTypedDict", - "ApprovePartnerResponseBody", - "ApprovePartnerResponseBodyTypedDict", + "ApprovePartnerApplicationRequestBody", + "ApprovePartnerApplicationRequestBodyTypedDict", + "ApprovePartnerApplicationResponseBody", + "ApprovePartnerApplicationResponseBodyTypedDict", "BanPartnerRequestBody", "BanPartnerRequestBodyTypedDict", "BanPartnerResponseBody", @@ -723,6 +727,8 @@ "CreatePartnerTagIdsTypedDict", "CreatePartnerTagNames", "CreatePartnerTagNamesTypedDict", + "CreatePartnerTags", + "CreatePartnerTagsTypedDict", "CreatePartnerTestVariants", "CreatePartnerTestVariantsTypedDict", "CreateReferralsEmbedTokenLinkProps", @@ -980,10 +986,10 @@ "RejectBountySubmissionResponseBody", "RejectBountySubmissionResponseBodyTypedDict", "RejectBountySubmissionStatus", - "RejectPartnerRequestBody", - "RejectPartnerRequestBodyTypedDict", - "RejectPartnerResponseBody", - "RejectPartnerResponseBodyTypedDict", + "RejectPartnerApplicationRequestBody", + "RejectPartnerApplicationRequestBodyTypedDict", + "RejectPartnerApplicationResponseBody", + "RejectPartnerApplicationResponseBodyTypedDict", "RejectionReason", "RequestBody", "RequestBodyTypedDict", @@ -1005,16 +1011,16 @@ "RetrieveAnalyticsRequestTypedDict", "RetrieveAnalyticsResponseBody", "RetrieveAnalyticsResponseBodyTypedDict", - "RetrieveLinksRequest", - "RetrieveLinksRequestTypedDict", - "RetrieveLinksResponseBody", - "RetrieveLinksResponseBodyTypedDict", "RetrievePartnerAnalyticsQueryParamGroupBy", "RetrievePartnerAnalyticsQueryParamInterval", "RetrievePartnerAnalyticsRequest", "RetrievePartnerAnalyticsRequestTypedDict", "RetrievePartnerAnalyticsResponseBody", "RetrievePartnerAnalyticsResponseBodyTypedDict", + "RetrievePartnerLinksRequest", + "RetrievePartnerLinksRequestTypedDict", + "RetrievePartnerLinksResponseBody", + "RetrievePartnerLinksResponseBodyTypedDict", "Sale", "SaleEvent", "SaleEventTypedDict", @@ -1032,6 +1038,8 @@ "TagIdsTypedDict", "TagNames", "TagNamesTypedDict", + "Tags", + "TagsTypedDict", "TestVariants", "TestVariantsTypedDict", "Three", @@ -1128,10 +1136,10 @@ "ApproveBountySubmissionResponseBody": ".approvebountysubmission", "ApproveBountySubmissionResponseBodyTypedDict": ".approvebountysubmission", "ApproveBountySubmissionStatus": ".approvebountysubmission", - "ApprovePartnerRequestBody": ".approvepartner", - "ApprovePartnerRequestBodyTypedDict": ".approvepartner", - "ApprovePartnerResponseBody": ".approvepartner", - "ApprovePartnerResponseBodyTypedDict": ".approvepartner", + "ApprovePartnerApplicationRequestBody": ".approvepartnerapplication", + "ApprovePartnerApplicationRequestBodyTypedDict": ".approvepartnerapplication", + "ApprovePartnerApplicationResponseBody": ".approvepartnerapplication", + "ApprovePartnerApplicationResponseBodyTypedDict": ".approvepartnerapplication", "BanPartnerRequestBody": ".banpartner", "BanPartnerRequestBodyTypedDict": ".banpartner", "BanPartnerResponseBody": ".banpartner", @@ -1230,6 +1238,8 @@ "CreatePartnerTagIdsTypedDict": ".createpartner", "CreatePartnerTagNames": ".createpartner", "CreatePartnerTagNamesTypedDict": ".createpartner", + "CreatePartnerTags": ".createpartner", + "CreatePartnerTagsTypedDict": ".createpartner", "CreatePartnerTestVariants": ".createpartner", "CreatePartnerTestVariantsTypedDict": ".createpartner", "Fields5": ".createpartner", @@ -1490,6 +1500,8 @@ "SevenTypedDict": ".listpartners", "Six": ".listpartners", "SixTypedDict": ".listpartners", + "Tags": ".listpartners", + "TagsTypedDict": ".listpartners", "ListPayoutsDefaultPayoutMethod": ".listpayouts", "ListPayoutsMode": ".listpayouts", "ListPayoutsPartner": ".listpayouts", @@ -1519,11 +1531,11 @@ "RejectBountySubmissionResponseBody": ".rejectbountysubmission", "RejectBountySubmissionResponseBodyTypedDict": ".rejectbountysubmission", "RejectBountySubmissionStatus": ".rejectbountysubmission", - "RejectPartnerRequestBody": ".rejectpartner", - "RejectPartnerRequestBodyTypedDict": ".rejectpartner", - "RejectPartnerResponseBody": ".rejectpartner", - "RejectPartnerResponseBodyTypedDict": ".rejectpartner", - "RejectionReason": ".rejectpartner", + "RejectPartnerApplicationRequestBody": ".rejectpartnerapplication", + "RejectPartnerApplicationRequestBodyTypedDict": ".rejectpartnerapplication", + "RejectPartnerApplicationResponseBody": ".rejectpartnerapplication", + "RejectPartnerApplicationResponseBodyTypedDict": ".rejectpartnerapplication", + "RejectionReason": ".rejectpartnerapplication", "Event": ".retrieveanalytics", "Interval": ".retrieveanalytics", "QueryParamGroupBy": ".retrieveanalytics", @@ -1532,16 +1544,16 @@ "RetrieveAnalyticsResponseBody": ".retrieveanalytics", "RetrieveAnalyticsResponseBodyTypedDict": ".retrieveanalytics", "SaleType": ".retrieveanalytics", - "RetrieveLinksRequest": ".retrievelinks", - "RetrieveLinksRequestTypedDict": ".retrievelinks", - "RetrieveLinksResponseBody": ".retrievelinks", - "RetrieveLinksResponseBodyTypedDict": ".retrievelinks", "RetrievePartnerAnalyticsQueryParamGroupBy": ".retrievepartneranalytics", "RetrievePartnerAnalyticsQueryParamInterval": ".retrievepartneranalytics", "RetrievePartnerAnalyticsRequest": ".retrievepartneranalytics", "RetrievePartnerAnalyticsRequestTypedDict": ".retrievepartneranalytics", "RetrievePartnerAnalyticsResponseBody": ".retrievepartneranalytics", "RetrievePartnerAnalyticsResponseBodyTypedDict": ".retrievepartneranalytics", + "RetrievePartnerLinksRequest": ".retrievepartnerlinks", + "RetrievePartnerLinksRequestTypedDict": ".retrievepartnerlinks", + "RetrievePartnerLinksResponseBody": ".retrievepartnerlinks", + "RetrievePartnerLinksResponseBodyTypedDict": ".retrievepartnerlinks", "Click": ".tracklead", "ClickTypedDict": ".tracklead", "Customer": ".tracklead", diff --git a/src/dub/models/operations/approvepartner.py b/src/dub/models/operations/approvepartnerapplication.py similarity index 85% rename from src/dub/models/operations/approvepartner.py rename to src/dub/models/operations/approvepartnerapplication.py index cc23dfc..a827bd5 100644 --- a/src/dub/models/operations/approvepartner.py +++ b/src/dub/models/operations/approvepartnerapplication.py @@ -7,14 +7,14 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class ApprovePartnerRequestBodyTypedDict(TypedDict): +class ApprovePartnerApplicationRequestBodyTypedDict(TypedDict): partner_id: str r"""The ID of the partner to approve.""" group_id: NotRequired[Nullable[str]] r"""The ID of the group to assign the partner to. If not provided, the partner will be assigned to the group they applied to, or the program's default group if no application group is set.""" -class ApprovePartnerRequestBody(BaseModel): +class ApprovePartnerApplicationRequestBody(BaseModel): partner_id: Annotated[str, pydantic.Field(alias="partnerId")] r"""The ID of the partner to approve.""" @@ -47,14 +47,14 @@ def serialize_model(self, handler): return m -class ApprovePartnerResponseBodyTypedDict(TypedDict): +class ApprovePartnerApplicationResponseBodyTypedDict(TypedDict): r"""The approved partner""" partner_id: str r"""The ID of the approved partner.""" -class ApprovePartnerResponseBody(BaseModel): +class ApprovePartnerApplicationResponseBody(BaseModel): r"""The approved partner""" partner_id: Annotated[str, pydantic.Field(alias="partnerId")] @@ -62,10 +62,10 @@ class ApprovePartnerResponseBody(BaseModel): try: - ApprovePartnerRequestBody.model_rebuild() + ApprovePartnerApplicationRequestBody.model_rebuild() except NameError: pass try: - ApprovePartnerResponseBody.model_rebuild() + ApprovePartnerApplicationResponseBody.model_rebuild() except NameError: pass diff --git a/src/dub/models/operations/createpartner.py b/src/dub/models/operations/createpartner.py index b1e7118..a93bb99 100644 --- a/src/dub/models/operations/createpartner.py +++ b/src/dub/models/operations/createpartner.py @@ -860,6 +860,17 @@ def serialize_model(self, handler): return m +class CreatePartnerTagsTypedDict(TypedDict): + id: str + name: str + + +class CreatePartnerTags(BaseModel): + id: str + + name: str + + class CreatePartnerResponseBodyTypedDict(TypedDict): r"""The created or updated partner""" @@ -917,6 +928,8 @@ class CreatePartnerResponseBodyTypedDict(TypedDict): referral_form_data: NotRequired[Nullable[CreatePartnerReferralFormDataTypedDict]] application: NotRequired[Nullable[CreatePartnerApplicationTypedDict]] r"""Linked program application, including review outcome when applicable.""" + tags: NotRequired[List[CreatePartnerTagsTypedDict]] + r"""The tags associated with the partner.""" total_clicks: NotRequired[float] r"""The total number of clicks on the partner's links""" total_leads: NotRequired[float] @@ -1069,6 +1082,9 @@ class CreatePartnerResponseBody(BaseModel): application: OptionalNullable[CreatePartnerApplication] = UNSET r"""Linked program application, including review outcome when applicable.""" + tags: Optional[List[CreatePartnerTags]] = None + r"""The tags associated with the partner.""" + total_clicks: Annotated[Optional[float], pydantic.Field(alias="totalClicks")] = 0 r"""The total number of clicks on the partner's links""" @@ -1155,6 +1171,7 @@ def serialize_model(self, handler): "bannedReason", "referralFormData", "application", + "tags", "totalClicks", "totalLeads", "totalConversions", diff --git a/src/dub/models/operations/listcommissions.py b/src/dub/models/operations/listcommissions.py index aeb5165..57a075e 100644 --- a/src/dub/models/operations/listcommissions.py +++ b/src/dub/models/operations/listcommissions.py @@ -11,6 +11,8 @@ class Type(str, Enum): + r"""Filter the list of commissions by type. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `sale`, `sale,lead`, `-click`.""" + CLICK = "click" LEAD = "lead" SALE = "sale" @@ -59,16 +61,17 @@ class ListCommissionsQueryParamInterval(str, Enum): class ListCommissionsRequestTypedDict(TypedDict): type: NotRequired[Type] + r"""Filter the list of commissions by type. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `sale`, `sale,lead`, `-click`.""" customer_id: NotRequired[str] r"""Filter the list of commissions by the associated customer.""" payout_id: NotRequired[str] r"""Filter the list of commissions by the associated payout.""" partner_id: NotRequired[str] - r"""Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`.""" + r"""Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `partner_abc`, `partner_abc,partner_xyz`, `-partner_abc`.""" tenant_id: NotRequired[str] r"""Filter the list of commissions by the associated partner's `tenantId` (their unique ID within your database).""" group_id: NotRequired[str] - r"""Filter the list of commissions by the associated partner group.""" + r"""Filter the list of commissions 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`.""" invoice_id: NotRequired[str] r"""Filter the list of commissions by the associated invoice. Since invoiceId is unique on a per-program basis, this will only return one commission per invoice.""" status: NotRequired[QueryParamStatus] @@ -99,6 +102,7 @@ class ListCommissionsRequest(BaseModel): Optional[Type], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None + r"""Filter the list of commissions by type. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `sale`, `sale,lead`, `-click`.""" customer_id: Annotated[ Optional[str], @@ -119,7 +123,7 @@ class ListCommissionsRequest(BaseModel): pydantic.Field(alias="partnerId"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`.""" + r"""Filter the list of commissions by the associated partner. When specified, takes precedence over `tenantId`. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `partner_abc`, `partner_abc,partner_xyz`, `-partner_abc`.""" tenant_id: Annotated[ Optional[str], @@ -133,7 +137,7 @@ class ListCommissionsRequest(BaseModel): pydantic.Field(alias="groupId"), FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter the list of commissions by the associated partner group.""" + r"""Filter the list of commissions 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`.""" invoice_id: Annotated[ Optional[str], diff --git a/src/dub/models/operations/listevents.py b/src/dub/models/operations/listevents.py index 41c7228..65d3c04 100644 --- a/src/dub/models/operations/listevents.py +++ b/src/dub/models/operations/listevents.py @@ -86,6 +86,8 @@ class ListEventsRequestTypedDict(TypedDict): r"""The tag ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `tag_123`, `tag_123,tag_456`, `-tag_789`.""" folder_id: NotRequired[str] r"""The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links.""" + partner_tag_id: NotRequired[str] + r"""The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`.""" group_id: NotRequired[str] r"""The group ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `grp_123`, `grp_123,grp_456`, `-grp_789`.""" partner_id: NotRequired[str] @@ -208,6 +210,13 @@ class ListEventsRequest(BaseModel): ] = None r"""The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links.""" + partner_tag_id: Annotated[ + Optional[str], + pydantic.Field(alias="partnerTagId"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`.""" + group_id: Annotated[ Optional[str], pydantic.Field(alias="groupId"), @@ -431,6 +440,7 @@ def serialize_model(self, handler): "tenantId", "tagId", "folderId", + "partnerTagId", "groupId", "partnerId", "customerId", diff --git a/src/dub/models/operations/listpartners.py b/src/dub/models/operations/listpartners.py index 3d18cf8..ddbd7c4 100644 --- a/src/dub/models/operations/listpartners.py +++ b/src/dub/models/operations/listpartners.py @@ -692,6 +692,17 @@ def serialize_model(self, handler): return m +class TagsTypedDict(TypedDict): + id: str + name: str + + +class Tags(BaseModel): + id: str + + name: str + + class ListPartnersResponseBodyTypedDict(TypedDict): id: str r"""The partner's unique ID on Dub.""" @@ -747,6 +758,8 @@ class ListPartnersResponseBodyTypedDict(TypedDict): referral_form_data: NotRequired[Nullable[ReferralFormDataTypedDict]] application: NotRequired[Nullable[ApplicationTypedDict]] r"""Linked program application, including review outcome when applicable.""" + tags: NotRequired[List[TagsTypedDict]] + r"""The tags associated with the partner.""" total_clicks: NotRequired[float] r"""The total number of clicks on the partner's links""" total_leads: NotRequired[float] @@ -894,6 +907,9 @@ class ListPartnersResponseBody(BaseModel): application: OptionalNullable[Application] = UNSET r"""Linked program application, including review outcome when applicable.""" + tags: Optional[List[Tags]] = None + r"""The tags associated with the partner.""" + total_clicks: Annotated[Optional[float], pydantic.Field(alias="totalClicks")] = 0 r"""The total number of clicks on the partner's links""" @@ -980,6 +996,7 @@ def serialize_model(self, handler): "bannedReason", "referralFormData", "application", + "tags", "totalClicks", "totalLeads", "totalConversions", diff --git a/src/dub/models/operations/rejectpartner.py b/src/dub/models/operations/rejectpartnerapplication.py similarity index 88% rename from src/dub/models/operations/rejectpartner.py rename to src/dub/models/operations/rejectpartnerapplication.py index 6d8964b..427a3f4 100644 --- a/src/dub/models/operations/rejectpartner.py +++ b/src/dub/models/operations/rejectpartnerapplication.py @@ -18,7 +18,7 @@ class RejectionReason(str, Enum): OTHER = "other" -class RejectPartnerRequestBodyTypedDict(TypedDict): +class RejectPartnerApplicationRequestBodyTypedDict(TypedDict): partner_id: str r"""The ID of the partner to reject.""" rejection_reason: NotRequired[RejectionReason] @@ -29,7 +29,7 @@ class RejectPartnerRequestBodyTypedDict(TypedDict): r"""When true, pending enrollment is removed so the partner can submit a new application immediately.""" -class RejectPartnerRequestBody(BaseModel): +class RejectPartnerApplicationRequestBody(BaseModel): partner_id: Annotated[str, pydantic.Field(alias="partnerId")] r"""The ID of the partner to reject.""" @@ -67,14 +67,14 @@ def serialize_model(self, handler): return m -class RejectPartnerResponseBodyTypedDict(TypedDict): +class RejectPartnerApplicationResponseBodyTypedDict(TypedDict): r"""The rejected partner""" partner_id: str r"""The ID of the rejected partner.""" -class RejectPartnerResponseBody(BaseModel): +class RejectPartnerApplicationResponseBody(BaseModel): r"""The rejected partner""" partner_id: Annotated[str, pydantic.Field(alias="partnerId")] @@ -82,10 +82,10 @@ class RejectPartnerResponseBody(BaseModel): try: - RejectPartnerRequestBody.model_rebuild() + RejectPartnerApplicationRequestBody.model_rebuild() except NameError: pass try: - RejectPartnerResponseBody.model_rebuild() + RejectPartnerApplicationResponseBody.model_rebuild() except NameError: pass diff --git a/src/dub/models/operations/retrieveanalytics.py b/src/dub/models/operations/retrieveanalytics.py index 569e380..060490f 100644 --- a/src/dub/models/operations/retrieveanalytics.py +++ b/src/dub/models/operations/retrieveanalytics.py @@ -59,6 +59,7 @@ class QueryParamGroupBy(str, Enum): TOP_BASE_URLS = "top_base_urls" TOP_PARTNERS = "top_partners" TOP_GROUPS = "top_groups" + TOP_PARTNER_TAGS = "top_partner_tags" UTM_SOURCES = "utm_sources" UTM_MEDIUMS = "utm_mediums" UTM_CAMPAIGNS = "utm_campaigns" @@ -106,6 +107,8 @@ class RetrieveAnalyticsRequestTypedDict(TypedDict): r"""The tag ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `tag_123`, `tag_123,tag_456`, `-tag_789`.""" folder_id: NotRequired[str] r"""The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links.""" + partner_tag_id: NotRequired[str] + r"""The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`.""" group_id: NotRequired[str] r"""The group ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `grp_123`, `grp_123,grp_456`, `-grp_789`.""" partner_id: NotRequired[str] @@ -227,6 +230,13 @@ class RetrieveAnalyticsRequest(BaseModel): ] = None r"""The folder ID to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `folder_123`, `folder_123,folder_456`, `-folder_789`. If not provided, return analytics for all links.""" + partner_tag_id: Annotated[ + Optional[str], + pydantic.Field(alias="partnerTagId"), + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = None + r"""The partner tag ID(s) to retrieve analytics for. Supports advanced filtering: single value, multiple values (comma-separated), or exclusion (prefix with `-`). Examples: `ptag_123`, `ptag_123,ptag_456`, `-ptag_789`.""" + group_id: Annotated[ Optional[str], pydantic.Field(alias="groupId"), @@ -421,6 +431,7 @@ def serialize_model(self, handler): "tenantId", "tagId", "folderId", + "partnerTagId", "groupId", "partnerId", "customerId", diff --git a/src/dub/models/operations/retrievelinks.py b/src/dub/models/operations/retrievepartnerlinks.py similarity index 94% rename from src/dub/models/operations/retrievelinks.py rename to src/dub/models/operations/retrievepartnerlinks.py index 62cd679..43bb0d4 100644 --- a/src/dub/models/operations/retrievelinks.py +++ b/src/dub/models/operations/retrievepartnerlinks.py @@ -9,14 +9,14 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class RetrieveLinksRequestTypedDict(TypedDict): +class RetrievePartnerLinksRequestTypedDict(TypedDict): partner_id: NotRequired[Nullable[str]] r"""The ID of the partner to create a link for. Will take precedence over `tenantId` if provided.""" tenant_id: NotRequired[Nullable[str]] r"""The ID of the partner in your system. If both `partnerId` and `tenantId` are not provided, an error will be thrown.""" -class RetrieveLinksRequest(BaseModel): +class RetrievePartnerLinksRequest(BaseModel): partner_id: Annotated[ OptionalNullable[str], pydantic.Field(alias="partnerId"), @@ -57,7 +57,7 @@ def serialize_model(self, handler): return m -class RetrieveLinksResponseBodyTypedDict(TypedDict): +class RetrievePartnerLinksResponseBodyTypedDict(TypedDict): id: str r"""The unique ID of the short link.""" domain: str @@ -80,7 +80,7 @@ class RetrieveLinksResponseBodyTypedDict(TypedDict): r"""The total dollar value of sales (in cents) generated by the short link.""" -class RetrieveLinksResponseBody(BaseModel): +class RetrievePartnerLinksResponseBody(BaseModel): id: str r"""The unique ID of the short link.""" @@ -129,6 +129,6 @@ def serialize_model(self, handler): try: - RetrieveLinksResponseBody.model_rebuild() + RetrievePartnerLinksResponseBody.model_rebuild() except NameError: pass diff --git a/src/dub/partner_applications.py b/src/dub/partner_applications.py index ad4370c..7029ad4 100644 --- a/src/dub/partner_applications.py +++ b/src/dub/partner_applications.py @@ -260,14 +260,14 @@ def approve( self, *, request: Union[ - operations.ApprovePartnerRequestBody, - operations.ApprovePartnerRequestBodyTypedDict, + operations.ApprovePartnerApplicationRequestBody, + operations.ApprovePartnerApplicationRequestBodyTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> operations.ApprovePartnerResponseBody: + ) -> operations.ApprovePartnerApplicationResponseBody: r"""Approve a partner application Approve a pending partner application to your program. The partner will be enrolled in the specified group and notified of the approval. @@ -289,8 +289,10 @@ def approve( base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.ApprovePartnerRequestBody) - request = cast(operations.ApprovePartnerRequestBody, request) + request = utils.unmarshal( + request, operations.ApprovePartnerApplicationRequestBody + ) + request = cast(operations.ApprovePartnerApplicationRequestBody, request) req = self._build_request( method="POST", @@ -306,7 +308,11 @@ def approve( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request, False, False, "json", operations.ApprovePartnerRequestBody + request, + False, + False, + "json", + operations.ApprovePartnerApplicationRequestBody, ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -324,7 +330,7 @@ def approve( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="approvePartner", + operation_id="approvePartnerApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, ), @@ -336,7 +342,7 @@ def approve( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - operations.ApprovePartnerResponseBody, http_res + operations.ApprovePartnerApplicationResponseBody, http_res ) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.BadRequestData, http_res) @@ -384,14 +390,14 @@ async def approve_async( self, *, request: Union[ - operations.ApprovePartnerRequestBody, - operations.ApprovePartnerRequestBodyTypedDict, + operations.ApprovePartnerApplicationRequestBody, + operations.ApprovePartnerApplicationRequestBodyTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> operations.ApprovePartnerResponseBody: + ) -> operations.ApprovePartnerApplicationResponseBody: r"""Approve a partner application Approve a pending partner application to your program. The partner will be enrolled in the specified group and notified of the approval. @@ -413,8 +419,10 @@ async def approve_async( base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.ApprovePartnerRequestBody) - request = cast(operations.ApprovePartnerRequestBody, request) + request = utils.unmarshal( + request, operations.ApprovePartnerApplicationRequestBody + ) + request = cast(operations.ApprovePartnerApplicationRequestBody, request) req = self._build_request_async( method="POST", @@ -430,7 +438,11 @@ async def approve_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request, False, False, "json", operations.ApprovePartnerRequestBody + request, + False, + False, + "json", + operations.ApprovePartnerApplicationRequestBody, ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -448,7 +460,7 @@ async def approve_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="approvePartner", + operation_id="approvePartnerApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, ), @@ -460,7 +472,7 @@ async def approve_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - operations.ApprovePartnerResponseBody, http_res + operations.ApprovePartnerApplicationResponseBody, http_res ) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.BadRequestData, http_res) @@ -508,14 +520,14 @@ def reject( self, *, request: Union[ - operations.RejectPartnerRequestBody, - operations.RejectPartnerRequestBodyTypedDict, + operations.RejectPartnerApplicationRequestBody, + operations.RejectPartnerApplicationRequestBodyTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> operations.RejectPartnerResponseBody: + ) -> operations.RejectPartnerApplicationResponseBody: r"""Reject a partner application Reject a pending partner application to your program. The partner will be notified via email that their application was not approved. @@ -537,8 +549,10 @@ def reject( base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.RejectPartnerRequestBody) - request = cast(operations.RejectPartnerRequestBody, request) + request = utils.unmarshal( + request, operations.RejectPartnerApplicationRequestBody + ) + request = cast(operations.RejectPartnerApplicationRequestBody, request) req = self._build_request( method="POST", @@ -554,7 +568,11 @@ def reject( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request, False, False, "json", operations.RejectPartnerRequestBody + request, + False, + False, + "json", + operations.RejectPartnerApplicationRequestBody, ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -572,7 +590,7 @@ def reject( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="rejectPartner", + operation_id="rejectPartnerApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, ), @@ -584,7 +602,7 @@ def reject( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - operations.RejectPartnerResponseBody, http_res + operations.RejectPartnerApplicationResponseBody, http_res ) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.BadRequestData, http_res) @@ -632,14 +650,14 @@ async def reject_async( self, *, request: Union[ - operations.RejectPartnerRequestBody, - operations.RejectPartnerRequestBodyTypedDict, + operations.RejectPartnerApplicationRequestBody, + operations.RejectPartnerApplicationRequestBodyTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> operations.RejectPartnerResponseBody: + ) -> operations.RejectPartnerApplicationResponseBody: r"""Reject a partner application Reject a pending partner application to your program. The partner will be notified via email that their application was not approved. @@ -661,8 +679,10 @@ async def reject_async( base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.RejectPartnerRequestBody) - request = cast(operations.RejectPartnerRequestBody, request) + request = utils.unmarshal( + request, operations.RejectPartnerApplicationRequestBody + ) + request = cast(operations.RejectPartnerApplicationRequestBody, request) req = self._build_request_async( method="POST", @@ -678,7 +698,11 @@ async def reject_async( http_headers=http_headers, security=self.sdk_configuration.security, get_serialized_body=lambda: utils.serialize_request_body( - request, False, False, "json", operations.RejectPartnerRequestBody + request, + False, + False, + "json", + operations.RejectPartnerApplicationRequestBody, ), allow_empty_value=None, timeout_ms=timeout_ms, @@ -696,7 +720,7 @@ async def reject_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="rejectPartner", + operation_id="rejectPartnerApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, ), @@ -708,7 +732,7 @@ async def reject_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - operations.RejectPartnerResponseBody, http_res + operations.RejectPartnerApplicationResponseBody, http_res ) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.BadRequestData, http_res) diff --git a/src/dub/partners.py b/src/dub/partners.py index 553542f..8794187 100644 --- a/src/dub/partners.py +++ b/src/dub/partners.py @@ -518,13 +518,14 @@ def retrieve_links( self, *, request: Union[ - operations.RetrieveLinksRequest, operations.RetrieveLinksRequestTypedDict + operations.RetrievePartnerLinksRequest, + operations.RetrievePartnerLinksRequestTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> List[operations.RetrieveLinksResponseBody]: + ) -> List[operations.RetrievePartnerLinksResponseBody]: r"""Retrieve a partner's links. Retrieve a partner's links by their partner ID or tenant ID. @@ -546,8 +547,8 @@ def retrieve_links( base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.RetrieveLinksRequest) - request = cast(operations.RetrieveLinksRequest, request) + request = utils.unmarshal(request, operations.RetrievePartnerLinksRequest) + request = cast(operations.RetrievePartnerLinksRequest, request) req = self._build_request( method="GET", @@ -578,7 +579,7 @@ def retrieve_links( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="retrieveLinks", + operation_id="retrievePartnerLinks", oauth2_scopes=None, security_source=self.sdk_configuration.security, ), @@ -590,7 +591,7 @@ def retrieve_links( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - List[operations.RetrieveLinksResponseBody], http_res + List[operations.RetrievePartnerLinksResponseBody], http_res ) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.BadRequestData, http_res) @@ -638,13 +639,14 @@ async def retrieve_links_async( self, *, request: Union[ - operations.RetrieveLinksRequest, operations.RetrieveLinksRequestTypedDict + operations.RetrievePartnerLinksRequest, + operations.RetrievePartnerLinksRequestTypedDict, ], retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> List[operations.RetrieveLinksResponseBody]: + ) -> List[operations.RetrievePartnerLinksResponseBody]: r"""Retrieve a partner's links. Retrieve a partner's links by their partner ID or tenant ID. @@ -666,8 +668,8 @@ async def retrieve_links_async( base_url = self._get_url(base_url, url_variables) if not isinstance(request, BaseModel): - request = utils.unmarshal(request, operations.RetrieveLinksRequest) - request = cast(operations.RetrieveLinksRequest, request) + request = utils.unmarshal(request, operations.RetrievePartnerLinksRequest) + request = cast(operations.RetrievePartnerLinksRequest, request) req = self._build_request_async( method="GET", @@ -698,7 +700,7 @@ async def retrieve_links_async( hook_ctx=HookContext( config=self.sdk_configuration, base_url=base_url or "", - operation_id="retrieveLinks", + operation_id="retrievePartnerLinks", oauth2_scopes=None, security_source=self.sdk_configuration.security, ), @@ -710,7 +712,7 @@ async def retrieve_links_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response( - List[operations.RetrieveLinksResponseBody], http_res + List[operations.RetrievePartnerLinksResponseBody], http_res ) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.BadRequestData, http_res)