diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 432bc986..2bc7f5a7 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,25 +1,25 @@ lockVersion: 2.0.0 id: bfe29c99-6e67-43fe-b928-64d6a5ed6aa8 management: - docChecksum: 19c77225c9b398357c88fdd1aa813ac8 + docChecksum: 99c70d1173d97d5fb47691de7a3c9ea4 docVersion: "2026-05-12" - speakeasyVersion: 1.778.0 - generationVersion: 2.904.2 - releaseVersion: 6.0.1 - configChecksum: fe6acfe1dc4dfb910fe15cfba7ac3323 + speakeasyVersion: 1.790.0 + generationVersion: 2.917.0 + releaseVersion: 6.1.0 + configChecksum: 9e92a075486c8bc0d2c21f4f98ee049e repoURL: https://github.com/clerk/clerk-sdk-python.git installationURL: https://github.com/clerk/clerk-sdk-python.git published: true persistentEdits: - generation_id: cb1a1ed6-b00f-48d0-90f4-aea52ac0ec8c - pristine_commit_hash: dc94cac3747b68145eb85f47788a4bcf3a68121b - pristine_tree_hash: 9e23f0cfde7ee622871907fa6cdc356c9bf0e996 + generation_id: 7ebc3908-5108-4592-8d76-92a9f243f503 + pristine_commit_hash: 4e4264448cbfad9dabc7591242fe3c89cca7b8f4 + pristine_tree_hash: 70872e12e710a3a3095d3ef032866edfa289fe24 features: python: additionalDependencies: 1.1.0 additionalProperties: 1.0.1 constsAndDefaults: 1.0.7 - core: 6.0.30 + core: 6.0.34 customCodeRegions: 0.1.2 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 @@ -39,9 +39,9 @@ features: nullables: 1.0.2 openEnums: 1.0.4 responseFormat: 1.1.0 - retries: 3.0.5 - sdkHooks: 1.2.1 - unions: 3.1.6 + retries: 3.0.7 + sdkHooks: 1.3.0 + unions: 3.1.7 uploadStreams: 1.0.3 trackedFiles: .gitattributes: @@ -202,8 +202,8 @@ trackedFiles: pristine_git_object: 65d23f4eb6988b3cc8bbc4aabd174c569ad9bdb4 docs/models/billingpaymentattempttotals.md: id: 3d831529d162 - last_write_checksum: sha1:21f7d9c550b643f6611c8fc93e0f4ef6fbeaa14b - pristine_git_object: 625bd3a4c9e97c9c7337bbeca7406690c339a963 + last_write_checksum: sha1:d78c0aee71f2ea389537e9907c2d1982c658b05b + pristine_git_object: baede143358045d737adb7e9d7a0c45fcee61cdd docs/models/billingpaymentattempttotalsproration.md: id: "370424147207" last_write_checksum: sha1:40c88d9ee47ea687ddcc51744b1d4f718c99f907 @@ -274,40 +274,12 @@ trackedFiles: pristine_git_object: 5c4b4bd245e9da656bf0f566da530b0f0c047392 docs/models/clerkerror.md: id: 37808372fb58 - last_write_checksum: sha1:56cf2c72da727631afaff30661076b7403960b1f - pristine_git_object: 9b4caf7f98be54782293970fadd7a4ea68c43cdf - docs/models/clerkerrorerrorenterpriseaccountmeta.md: - id: 6a193374f266 - last_write_checksum: sha1:01a33a92d30ae6158809c167e7c891c7e7ca3dab - pristine_git_object: e12e48d273f0baf6dc79afc060eb2bb4ce5fa1ce - docs/models/clerkerrorerrorenterpriseaccountverificationmeta.md: - id: 61623cb64a01 - last_write_checksum: sha1:6f22bf2352ea0258239e7502f148544d57ed5b01 - pristine_git_object: af28d7d0c644923d22fadc9f417f0ed26a7f3a2f - docs/models/clerkerrorerrorexternalaccountwithverificationmeta.md: - id: e48eed675751 - last_write_checksum: sha1:95fe24d9995baa7cdc60e05cef4925dd46fdd7f4 - pristine_git_object: 498e597554ca06793299f5f9cff1ef78839d25a4 - docs/models/clerkerrorerrorexternalaccountwithverificationverificationmeta.md: - id: "834826456887" - last_write_checksum: sha1:9f043b122b64b9f54018060a7b2a2db492f4adcd - pristine_git_object: ef070e0d77b9bc6f659f4b18a2662d4807a88108 - docs/models/clerkerrorerrormeta.md: - id: d1002cdb9ec6 - last_write_checksum: sha1:99adcd69e14f9eb25a67d28a59cafe2b1b0c2e8f - pristine_git_object: e705a2f726658e2c29a6a6b3bb42788d3dee4318 - docs/models/clerkerrorerrorsamlaccountmeta.md: - id: c38a6ee836c4 - last_write_checksum: sha1:4821945ed376d5ca6368f283f97f49bb98f292c1 - pristine_git_object: 2fed9d861c374e00f7d59f3707c686c016cbdee5 + last_write_checksum: sha1:8e616f8685b8498d8b341035091125cdb2a69a8c + pristine_git_object: 1988e02b6e5e6fa8a04dd14f6a5694db71eab8d3 docs/models/clerkerrors.md: id: 16fd2c5299ee - last_write_checksum: sha1:eb4659a1e54091c42d9572a271cd535493ed68e8 - pristine_git_object: cbcac9a964648f21598d4acd23040ddcd4e0ca36 - docs/models/clerkerrorsmeta.md: - id: 8f93565bee8f - last_write_checksum: sha1:de0c09ae9132e602e7ec24b30d9a94f5128511a0 - pristine_git_object: c82450fb5b28ea15c6ace00ab34b418cda115d42 + last_write_checksum: sha1:2fb2591b266fb598bcfaf22f7b15fc9d1aab12a1 + pristine_git_object: 0a6e62e4eb7ca685e1ee4499c9c8905a42f02f34 docs/models/client.md: id: 67a7a58f44b4 last_write_checksum: sha1:e869f51c209bce6c247e7365e2a942d58d3abe4b @@ -326,8 +298,8 @@ trackedFiles: pristine_git_object: ce6bac51471f8ea5afb426d78ba6eb5eb8908e15 docs/models/commercecreditledgerresponse.md: id: c10a47febf1e - last_write_checksum: sha1:808f701a75f0a16b5dad026935c8aa3b5b8f1c56 - pristine_git_object: a3105d238fcd210304dbb96c5dde4a43cbb8bd67 + last_write_checksum: sha1:dd426cbaa218ab979202e4f3e50066335d0f8fb1 + pristine_git_object: e425af5150274d18aa14dc75b3dbe80bf4623980 docs/models/commercemoneyresponse.md: id: 1c98825160a2 last_write_checksum: sha1:9bfac9d7136d4aa0c1e251f88c11e6c6acacb1f4 @@ -356,14 +328,42 @@ trackedFiles: id: c76f471b5964 last_write_checksum: sha1:84d07f95d1283ad198c3f4362c253eae0cd68615 pristine_git_object: d328cee6f630eef7cad159edd7ec08393590d82c + docs/models/commerceperunittotal2.md: + id: d9d3d0b6db87 + last_write_checksum: sha1:89e1bb8d9b9a00e97a053db8aae3dcb66e756844 + pristine_git_object: aa27c05609324cce82babec1ec2caf8e6e1c68be docs/models/commerceperunittotaltier.md: id: c6740d0c9d6a last_write_checksum: sha1:591919f33ba291c8a22f97d1efac8bc2d909eb69 pristine_git_object: 0d3dfcb583e7de8c03e4f02c19251faa41116c48 + docs/models/commerceperunittotaltier2.md: + id: 759a1e9e559f + last_write_checksum: sha1:5836a9a4e84313d572f7794d7c021923cc3c1389 + pristine_git_object: fd723f944137d3049fa89cb6ef8be6bfdd71ce03 docs/models/commerceplan.md: id: 02500030883c last_write_checksum: sha1:680348b7d2a06eef0ed95480bedbe76a114b1670 pristine_git_object: de699597b042bca96bba6270fbe3980c5f9ca172 + docs/models/commerceplan2.md: + id: b287c4dbdafc + last_write_checksum: sha1:7da849d68faa94e447129d5f9a3bc486ac9f7ac9 + pristine_git_object: 68081fb6e362de5a6587be7e82b292341083be28 + docs/models/commerceplan2annualfee.md: + id: b4082c04f0bf + last_write_checksum: sha1:883ca2520fd8f27021eb2902d247ecad1124d765 + pristine_git_object: e596d9a6a7f30146d749f28456a782e8d5e32a07 + docs/models/commerceplan2annualmonthlyfee.md: + id: 65007ccbb370 + last_write_checksum: sha1:29799484f47788ab8ae45a25cec5f6aa77b142a4 + pristine_git_object: f6d065c7255396a273ebda7819f7cee2886752b2 + docs/models/commerceplan2fee.md: + id: d0e5ba1c735b + last_write_checksum: sha1:d7e185da5d712f93cb0caf19aa01308658a37de6 + pristine_git_object: 0924a853459f323b19fbd9f30a7610056b59a38b + docs/models/commerceplan2object.md: + id: b1774c61b5e9 + last_write_checksum: sha1:f4e3cb744b5eee6738726636ebe5d5aefe2a2e54 + pristine_git_object: 67a3e88262a60052204e70c37f6d59bf77fe0c03 docs/models/commerceplanobject.md: id: 01a815f37af4 last_write_checksum: sha1:85b9dabc3838f6aa06ce6e023166adf8839a8bc2 @@ -378,12 +378,12 @@ trackedFiles: pristine_git_object: 1863c805196bc2acb71a19bf74d48c37e60ca68e docs/models/commercepricetransitiondetails.md: id: e1a67a698e50 - last_write_checksum: sha1:b5db8bb2441cedbdcaeb325ed229841eb2ba67bb - pristine_git_object: 97cd7555829a34ac4b28b6d86238fcaf5bec0ccc + last_write_checksum: sha1:70c27ba253270549726484005979ee4c2f6e0987 + pristine_git_object: 756eb65b481e5d90a5980a91a11085581d0612fd docs/models/commercepricetransitionresponse.md: id: ab7d1555f2fd - last_write_checksum: sha1:5e9974a82ea6edf97168c9ec0769fbd67fe55a8b - pristine_git_object: 04213ba41b25a60af45b1ebd3600434bf07b21c3 + last_write_checksum: sha1:40cda57ec1c450de639971fe6a993cf4355c33e5 + pristine_git_object: 89c1bd2bcac7c7a73541dc7ae92587bf0a0c5cf4 docs/models/commercepricetransitionresponseobject.md: id: 47ce4b946ed3 last_write_checksum: sha1:b1088b3258dc6987a4193afd77c1bb4d264302fc @@ -400,6 +400,122 @@ trackedFiles: id: b9fbc7f15c99 last_write_checksum: sha1:50701b404c25a7fa7308c16c4470b23fa52a002a pristine_git_object: d5a9f4bfbf14c21f35aa54b1f2210ffd05bf5e46 + docs/models/commercesubscriptionitem2.md: + id: 17198cd64eab + last_write_checksum: sha1:40a33f15d3cfa742db354404eebf7ee32d4574e9 + pristine_git_object: a129db9dc7ade807baf7981a57192dc48ddbb12f + docs/models/commercesubscriptionitem2amount.md: + id: 3ef4378688c5 + last_write_checksum: sha1:5a36066313861d398dd7a9b18c5db1e75520d123 + pristine_git_object: d5bf2285b8c5d9515d41b7f6566433f744e7f385 + docs/models/commercesubscriptionitem2annualfee.md: + id: 8ab23a913b6e + last_write_checksum: sha1:be29fd13c74b17e6f48beddd0a60f822578c9343 + pristine_git_object: 1b2b664dbd4aaba86cbbcada8f8ffb2be661133e + docs/models/commercesubscriptionitem2annualmonthlyfee.md: + id: a8753117d030 + last_write_checksum: sha1:5fb61e3f689a867fc9c15eeba9fad6df32297a21 + pristine_git_object: 3e1b515213aeda0bc5fc72c4a47a5286bd27e72e + docs/models/commercesubscriptionitem2creditamount.md: + id: 456135c6a07f + last_write_checksum: sha1:05bc3721090df9ba8d90770539e45ecf3c3dec9f + pristine_git_object: f71979ccebe71f736c1b32f90dd90d41063143d4 + docs/models/commercesubscriptionitem2credits.md: + id: cd9a76213181 + last_write_checksum: sha1:be56e7085d71dc2905ecea09600714277c168562 + pristine_git_object: 6ea6809b70bf5458237ebbcd80c5c93aa76423eb + docs/models/commercesubscriptionitem2discounts.md: + id: fa73207dc15e + last_write_checksum: sha1:156fb87e2ff5b6780a30e70369ab2ed78186b396 + pristine_git_object: f537a78c1a374f1d8954ddf9252cf4f25892ec61 + docs/models/commercesubscriptionitem2fee.md: + id: 8b567964e6d2 + last_write_checksum: sha1:f9c69149552c476d993818e073818c6e2e422bf5 + pristine_git_object: 89b5f24a75b306b7e61cc912be9a8d5c8efe5658 + docs/models/commercesubscriptionitem2nextinvoiceamount.md: + id: 2350a9009c41 + last_write_checksum: sha1:f26ecb85a0da8742c7dadbc8959d2d4ac543822b + pristine_git_object: 486f4478801a0accde214a12777155e59dcf9f0e + docs/models/commercesubscriptionitem2nextinvoiceproration.md: + id: 60ba567829a1 + last_write_checksum: sha1:ac0ab56675f6b45c61d0c5803b397e3ea55fc780 + pristine_git_object: 60155f57c2801870dd94f92748a185393060e7f1 + docs/models/commercesubscriptionitem2nextpayment.md: + id: c07f68bb64d0 + last_write_checksum: sha1:e5f139fbdf5b4d018a1546e65042f9636ee11ace + pristine_git_object: 14bd8be15ce260238a774e49471b8366da78dd59 + docs/models/commercesubscriptionitem2nextpaymentamount.md: + id: b90db7a55bc1 + last_write_checksum: sha1:57636179344efb3e09dec0dad9bf0b72afb5b20b + pristine_git_object: bc74d28f3ef025a8d7cf8e139e48a05802cb3976 + docs/models/commercesubscriptionitem2nextpaymentcredits.md: + id: fabcead589fd + last_write_checksum: sha1:d165af1347d4f7d5eac1fb7bf7ca31fa77c15795 + pristine_git_object: 7ae96e7e53751c9ee3ce1ba663579fab009bd5b8 + docs/models/commercesubscriptionitem2nextpaymentdiscounts.md: + id: d29d665c4055 + last_write_checksum: sha1:3b502d519a7870e8aaff758ca2fa5f70ef91e779 + pristine_git_object: c4cadcbfef2a4299701571f194789219086a36bd + docs/models/commercesubscriptionitem2nextpaymentpayer.md: + id: 3437d6980f4c + last_write_checksum: sha1:98419e9eac47366bee2bb62204795a61847585e3 + pristine_git_object: 3a272cdb320992c952a3d64af00b3b06b587083e + docs/models/commercesubscriptionitem2nextpaymentproration.md: + id: cd0610f9ac68 + last_write_checksum: sha1:4ad175bea537b9465d0ecf3d38444d6be1243bc3 + pristine_git_object: 62fbfb1a6c9c8f97598fcaaa7c76f7367c598e30 + docs/models/commercesubscriptionitem2nextpaymenttotals.md: + id: d47ee8741e47 + last_write_checksum: sha1:09555dd554b345aa567b572f7bdd20e14cbd4331 + pristine_git_object: b58960806adcaca9f557c6dd5555ef206c90b078 + docs/models/commercesubscriptionitem2nextpaymenttotalsproration.md: + id: 58b9657e78ef + last_write_checksum: sha1:4af294b40c6cb00ff0f9644d043ec13c464c6feb + pristine_git_object: b0e382624047556ee686ced3031cc1796aa0f2a2 + docs/models/commercesubscriptionitem2object.md: + id: 0dfb79065bc9 + last_write_checksum: sha1:f1d543f6ff2d0b4d84736e8c4833e935b3835a40 + pristine_git_object: 5a598351e299215da18e1560ee1d02c3f623355d + docs/models/commercesubscriptionitem2payer.md: + id: 5bb3019b12ef + last_write_checksum: sha1:822f4942881502b5b1f595f403529f1e5d65cd7f + pristine_git_object: 13e6170674f3e516a5aeb80bd72c94aa463b9021 + docs/models/commercesubscriptionitem2payerobject.md: + id: 35e906d6a8d8 + last_write_checksum: sha1:9e23aa952311c3a793d184c91d0cda6a17ea775b + pristine_git_object: 64ca645d9dadb0fa050b8f9ae33634acffd8e19d + docs/models/commercesubscriptionitem2paymentsourceobject.md: + id: 6c2c4036bb69 + last_write_checksum: sha1:f24f1df3a3d44a81ec854e4a9457295830377f32 + pristine_git_object: 3405e07758a92aade5c0a091121382ab1b6fdba1 + docs/models/commercesubscriptionitem2paymentsourcestatus.md: + id: 6ca64e05d00b + last_write_checksum: sha1:9e8f388a8062246c280be292241a67e0be6c9e49 + pristine_git_object: 193f1033b64261dd9598bca32ee6346bd4000845 + docs/models/commercesubscriptionitem2plan.md: + id: 28138d85c57b + last_write_checksum: sha1:d7c5fc9d39f98b4e8faa0f57e231f8978480b773 + pristine_git_object: b53ea6679968ae0e29a0365ac620658f72e466f5 + docs/models/commercesubscriptionitem2planobject.md: + id: 7d22789e641c + last_write_checksum: sha1:67aa0edd3161712988be26d30702096dd79ca99a + pristine_git_object: 8e3b19627dd510545017f1ff48b71c55ac461797 + docs/models/commercesubscriptionitem2planperiod.md: + id: ae57b82da465 + last_write_checksum: sha1:5617f89a922ab1d2fa2448d9044d3f088ddf1610 + pristine_git_object: 432f977d2ae01c5b35df9559cb2f00c3a1ed6dcc + docs/models/commercesubscriptionitem2proration.md: + id: 1af87c6b34d7 + last_write_checksum: sha1:b82d81cf0450df4e18aa62408e8bc07b5e69cb08 + pristine_git_object: e146dba5523afa9a19c3c3faca7a52afb4bf8602 + docs/models/commercesubscriptionitem2status.md: + id: 17d617072f76 + last_write_checksum: sha1:7dfb7f30d831d85159a42fd70ab27dec1f7f3552 + pristine_git_object: adb77f0d50af07ef47d9c25baaafc5a49e4a47f8 + docs/models/commercesubscriptionitem2totals.md: + id: e95e98e91263 + last_write_checksum: sha1:68e217de4ce0f19569ad5a31943bbbf4b7f41f34 + pristine_git_object: 5950f4ad2ee95ad78e3870254dbd2831fb4b4c0e docs/models/commercesubscriptionitemamount.md: id: 1707cf10af87 last_write_checksum: sha1:78b730ee2845f65edc46099b112dcfc62dd3ad77 @@ -474,8 +590,8 @@ trackedFiles: pristine_git_object: 4a27d33ccfa6e7571c31b098fa8e006181ae482c docs/models/commercesubscriptionnextpayment.md: id: 79fbdadb72f4 - last_write_checksum: sha1:18c4e631c06f6837885b7677777471f89c3c539f - pristine_git_object: 27066fa61862025e650458bea1e509e428f014bb + last_write_checksum: sha1:1b92819413ad3363fa494a49bf0f0477128c3cf2 + pristine_git_object: 99eef3b3fdb29c6f82ad0674b7a738c518de692b docs/models/commercesubscriptionnextpaymentcredits.md: id: dc6b6971a8c2 last_write_checksum: sha1:34bca4f42a28923d089807cb17234e6ee992d52c @@ -494,8 +610,8 @@ trackedFiles: pristine_git_object: 3b496a69279e6dbaf2257ee8486e9feb41b4b390 docs/models/commercesubscriptionnextpaymenttotals.md: id: 2b009d01a8b7 - last_write_checksum: sha1:5cb523e1388f6ef3985beb3774093eca8d8470f7 - pristine_git_object: 5ff49ccaf536f797f931810757932f06fac294f3 + last_write_checksum: sha1:7e15ea3a8e44a35e5b88d88a0eb3becfce38a90c + pristine_git_object: 5c717a22d6cb8c26b43329d1c0301d4e40a072dc docs/models/commercesubscriptionnextpaymenttotalsproration.md: id: d10b82e92461 last_write_checksum: sha1:98238e9ab1a5bec56d44f105133e606dbd0f84c3 @@ -718,8 +834,8 @@ trackedFiles: pristine_git_object: 56b7fd148fab8f677d5e6c1e0984cb1e76d1a435 docs/models/createorganizationdomainrequestbody.md: id: 2008a398a249 - last_write_checksum: sha1:2bc384d8a3622559aba37be0fdd076c951aba1d9 - pristine_git_object: 66443afaf00a0a700a82e3fba875a386f5d5ef99 + last_write_checksum: sha1:1f501feb3fad305b3de2594323ff30493fea8392 + pristine_git_object: 4f21b32decb31f381bd6ac10998d13d1ea60e1c4 docs/models/createorganizationinvitationbulkrequest.md: id: 8e5eeadfd24d last_write_checksum: sha1:4d51d6bded933764dd07267bb837ff87b2297572 @@ -784,6 +900,18 @@ trackedFiles: id: 422b96df6c94 last_write_checksum: sha1:9925e7fd38d17dcc15fe444708f66428253c6d0d pristine_git_object: 11d1e9fecbe39b10995951e05997c098a282f643 + docs/models/createscimdirectoryrequestbody.md: + id: 7e26412f6980 + last_write_checksum: sha1:39c40b6b40e5a8bcba8fb17746b109f47d70393d + pristine_git_object: fb02290e88d8aba84cbcbf02ebac16126cd93f94 + docs/models/createscimgrouprolemappingrequest.md: + id: 960578750be4 + last_write_checksum: sha1:8cc6a46365a303af8fce088c0c0e0d5abfe2e37e + pristine_git_object: 0545b089369817c31a0be0c8630611f6ce7774e8 + docs/models/createscimgrouprolemappingrequestbody.md: + id: c24c69a9c54f + last_write_checksum: sha1:f3fdc001718eb7da7e452d8ca83f13fe195c5a21 + pristine_git_object: 5d26b04c9bf8d4307fbf9d39ab2e886e3ddc2fc8 docs/models/createsessionrequestbody.md: id: 1cd211b14bf3 last_write_checksum: sha1:61ca4f2a6f645d14c1982e80c51b8efd77fdc926 @@ -838,8 +966,8 @@ trackedFiles: pristine_git_object: d246737c144b05e81e8624cbdcbc26e0d2789738 docs/models/credit.md: id: c1a47bcd81f9 - last_write_checksum: sha1:d0ffed761f218c87ddc174575570d24025efd7bd - pristine_git_object: 862e791867a1492d3bad5e04146e456e4d344a4a + last_write_checksum: sha1:698539657d3f66a95bd746fe3e0c60b4844426cc + pristine_git_object: f134f57fa3b5bbc6b7b3b0761215e80acccfac64 docs/models/credits.md: id: 5a24a26e67da last_write_checksum: sha1:cb9e47011f3f52a22c02fdb2c5cd09cacc4bf329 @@ -972,6 +1100,14 @@ trackedFiles: id: ad1bf960b173 last_write_checksum: sha1:4b51122eedba2b03adfeb786d1424929014ff6cd pristine_git_object: ef4a7a8a8a5c23a9aa93a4cdb297c0d930779939 + docs/models/deletescimdirectoryrequest.md: + id: ed0a8a10ee93 + last_write_checksum: sha1:af212df27429da54bd32697b561ccb76e956df79 + pristine_git_object: adfb92e9364deccea07bd38ba182f1a7a460fbbd + docs/models/deletescimgrouprolemappingrequest.md: + id: 86270943bf9a + last_write_checksum: sha1:b3825285a7734032fa2abb034bb0ec9814aa1690 + pristine_git_object: ae62890c6b85eca6aaf9dd2dd1b8c6b50de09ac3 docs/models/deletetotprequest.md: id: 9f7e7b44a40d last_write_checksum: sha1:576dc53ea968a95b38c6721a8337690c915a5c69 @@ -1042,8 +1178,8 @@ trackedFiles: pristine_git_object: 8b480db4fa55419c77ae61fa905dc91152c0d18b docs/models/enrollmentmode.md: id: 4fc21918c24b - last_write_checksum: sha1:f50ea90c3c8c03a882c18b82a8e10ac52c9e5a47 - pristine_git_object: 91902752727ab915de72cc96f76bb065bc82bf87 + last_write_checksum: sha1:745e273965c395f6f21f595df8c84c11707987a0 + pristine_git_object: 10af00855114a2be91046453700dc32b0a62afe6 docs/models/enterpriseaccount.md: id: 1021de4770be last_write_checksum: sha1:e0a66d11c9eb108ca572f57aaf458539c4d12139 @@ -1106,12 +1242,8 @@ trackedFiles: pristine_git_object: 426585bfa40ded1167119644ab24890026c279f9 docs/models/errorclerkerror.md: id: 69dfb23789e4 - last_write_checksum: sha1:361ad48720fd71cc6385557da5c5960b781cb9c8 - pristine_git_object: 6ee6750888a2c9d7c8a89833c25cc54234e2760a - docs/models/errormeta.md: - id: ee4ec4c0dbc4 - last_write_checksum: sha1:74bf9c9aeb68bd55bf2755bd8ca361ad4a3e3d87 - pristine_git_object: e498afa4b687e2d1c1abfa0d7b0fedd1d51002a0 + last_write_checksum: sha1:a88dd873933693478d700af74558f5587a55e990 + pristine_git_object: 4962f77b68c4682115e4745d9968b759c913e527 docs/models/errors.md: id: 09a4da1e2f9e last_write_checksum: sha1:206c8d0cdd830f25ad8198abc336e31a9a5ba2e4 @@ -1144,6 +1276,14 @@ trackedFiles: id: bacbd661e628 last_write_checksum: sha1:ee8c053682fbd59be901131341c11421fe958ae1 pristine_git_object: 04aec53b819781ce7c6b55aa5887e89837c641e5 + docs/models/featureresponse2.md: + id: 049a3f198d89 + last_write_checksum: sha1:9fc4825e42bb14079a9b47b45bd0df5f78fdc29a + pristine_git_object: ac317bd357a8d6031db4af33f1b0d71de8c3a5b9 + docs/models/featureresponse2object.md: + id: cf2a6a5e4d30 + last_write_checksum: sha1:e34647474549f2ee5e08c9206834cc8ed6d7efbb + pristine_git_object: c86257167f4c7f025ed95d600f04290580f1bdff docs/models/featureresponseobject.md: id: c79886fd72f5 last_write_checksum: sha1:28a9e121adc2c77565d74e2962449ac67e48afcf @@ -1388,6 +1528,10 @@ trackedFiles: id: 62a7232c274f last_write_checksum: sha1:ff0095e2afbb249e73163da8171b2ad17020d6fd pristine_git_object: 3ad48adbe286b7c6087e425c13216c67ad023046 + docs/models/getscimdirectoryrequest.md: + id: 3f9bd0bc4525 + last_write_checksum: sha1:351700020e9bec5e558ce99454ea981b181f6750 + pristine_git_object: 35d4c28aafae82af6fbaf33b37662aa782af1004 docs/models/getsessionlistrequest.md: id: a7b36e349d7e last_write_checksum: sha1:a786c4cbba884f5a3c285ac10de5789478d89b01 @@ -1432,6 +1576,10 @@ trackedFiles: id: e9f0c366c103 last_write_checksum: sha1:e7c57e1707ae33e1aa6341c91f5cbdd2e9027852 pristine_git_object: 9052ce97c717c5db4c9380ddf2b4336970b8df6b + docs/models/grouprolemappings.md: + id: 19d437b54c27 + last_write_checksum: sha1:f362e244cde61abfa2795264aa953ff0164e10e0 + pristine_git_object: 5291b587d82afcd1327b6e5b62e00e0dcd89eead docs/models/groups.md: id: 5d83a8992f89 last_write_checksum: sha1:d0839e5fde1bd082f2eb2c04d66e7eb6c1e0c94f @@ -1554,8 +1702,8 @@ trackedFiles: pristine_git_object: 6f3654f43b6d980761ed3c4670f90a2cc0d691a9 docs/models/listallorganizationdomainsrequest.md: id: 8423270223c8 - last_write_checksum: sha1:f34527f29c2fd63dd107ec1b6bc4eaa3c957302a - pristine_git_object: 6191ba434098a2b152e400c13289344d689b6215 + last_write_checksum: sha1:0f0926ca93203e3b139c4ad69a1fb5efbd42e5e8 + pristine_git_object: f7abc46568da9a407c91a04bbf0cafbfd0cf2c9c docs/models/listallowlistidentifiersrequest.md: id: 66ad0f5fad87 last_write_checksum: sha1:c2873fc83fe41d99dc53084f66b3b05451b8c26a @@ -1602,8 +1750,8 @@ trackedFiles: pristine_git_object: 215fb5699807986fd7ea3e389826a5c648f7a44d docs/models/listorganizationdomainsrequest.md: id: 02c1f0ce56ab - last_write_checksum: sha1:9f0e05d4bc59a80bca8758df7af9a600ad92641c - pristine_git_object: 6c5aa142924734292c911817aa20fe21ef694419 + last_write_checksum: sha1:d3dedff453fa818a3a9b9ac3da0244e45ee7443a + pristine_git_object: ca65f84d70f4a4cff7b42b44adc756e88254f031 docs/models/listorganizationinvitationsqueryparamstatus.md: id: 5c6517fb97a5 last_write_checksum: sha1:83302351fac9d2c71746f85f78611c884dfcf975 @@ -1644,6 +1792,14 @@ trackedFiles: id: 1b516a9d408e last_write_checksum: sha1:cb6d2d4afd54c55c63b938cf88649138f4e814b6 pristine_git_object: 9911b32204754991cd1e4eb22a57c6c0af7e10a8 + docs/models/listscimdirectoriesrequest.md: + id: 0fc69ad79646 + last_write_checksum: sha1:066132b4f3ce07407a7d2862a06b43e32c9c222b + pristine_git_object: f7d114894b071454a6c307006b050e9dba131deb + docs/models/listscimgrouprolemappingsrequest.md: + id: fe9b3882e652 + last_write_checksum: sha1:a3a5973c90796130fff443fa7b9979d527747a67 + pristine_git_object: 4c0e90d335f040a73947f51b3ac99a22d6fe385a docs/models/listwaitlistentriesqueryparamstatus.md: id: 4510ca246392 last_write_checksum: sha1:b78683e50533573078fb3367b8c4080f6cc9a608 @@ -1724,6 +1880,10 @@ trackedFiles: id: 5962eca22bd5 last_write_checksum: sha1:92ca4989c317918548786dce66f8dfa8f7959bb8 pristine_git_object: f61db25283e04579143230e8dff593bd6868c4b8 + docs/models/mappings.md: + id: 6a21f2dfd2d1 + last_write_checksum: sha1:ef441bc74193787f94aae62180c182eec0585817 + pristine_git_object: cec1298f6dc79473b2c7037362bf4c90233d45c2 docs/models/mergeorganizationmetadatarequest.md: id: 6a0c8cc5108f last_write_checksum: sha1:26aaf54aef1cd67f90a0588754b5b7e872adecff @@ -1732,18 +1892,14 @@ trackedFiles: id: f50365412494 last_write_checksum: sha1:aeb202644c669b1033633bf29e546eeda3bb7f48 pristine_git_object: 565810f438f2ce1f396e7ef34860cb10e6f8ec02 - docs/models/meta.md: - id: b5731935642a - last_write_checksum: sha1:15ebd1eb87ca29dca40f7a85b187c7119e9bc5f8 - pristine_git_object: 93f98d6ad4d1504e6a3849971be592f31f4eea76 docs/models/nextaction.md: id: 7c8a867e5482 last_write_checksum: sha1:41e0a715b0ebaad962078ce65ebddb36687e740d pristine_git_object: b66127782e71b1b165a768742c5519d85e9903c2 docs/models/nextinvoice.md: id: 61a145220d4d - last_write_checksum: sha1:e6b6a618837434f6a5529787d4289e3e2d21562b - pristine_git_object: fac74027335443d2e8aacb3a38b43bf38f87105e + last_write_checksum: sha1:d01e19d93231baa745bdd4115e87b056808f1072 + pristine_git_object: 1a93887de35bbaf2a6dc7a33f283acfff4ebee22 docs/models/nextpayment.md: id: 6ed8e342cc7a last_write_checksum: sha1:1d521b87fb6d2bf7372364b08413e5ff5f9da892 @@ -1810,8 +1966,8 @@ trackedFiles: pristine_git_object: 409a83fe7e2b8a2fb2c42aec3120f31610830488 docs/models/one.md: id: 69a5df93c480 - last_write_checksum: sha1:0aded3a2c1bbd47c895812e481f19d35c41db6a3 - pristine_git_object: f13b8626282e1092739ea05d0e4aceeb1f501a02 + last_write_checksum: sha1:0a321c6d5dc7c946e253f3dec593b9d3b4a0268a + pristine_git_object: 4d9762cd94ae3280257582c6694433d36e2d29f6 docs/models/organization.md: id: ea9c215ca2eb last_write_checksum: sha1:6b63d19916f5d8c770bd338bfe9dafb1ec258fa6 @@ -1966,8 +2122,8 @@ trackedFiles: pristine_git_object: 9da56253026478253013412c5acbb8ac0892538c docs/models/payer.md: id: d9dd9d9dd0f8 - last_write_checksum: sha1:5f343acbbf0fe9f362c7b5933fc111204826e9bf - pristine_git_object: ca71b47e1b6f6c67d62930b359892b58b00776d9 + last_write_checksum: sha1:c92d4acfac51b438908a153bd95e04e6d330f0cd + pristine_git_object: c8fe317fb34540ba869d0aaf1bf965798bb55987 docs/models/payertype.md: id: f4b8426c46a9 last_write_checksum: sha1:1d0f37163feffea74a57d9b6ddcef83cd439a4ea @@ -1978,8 +2134,8 @@ trackedFiles: pristine_git_object: 54085679c0e3be953d237a655d6b0b8d813335ea docs/models/paymentsource.md: id: da1965c286df - last_write_checksum: sha1:c62f82101243ce2b420adae472e895483cb03d16 - pristine_git_object: a829e24a38cab5b4c0d35d1033bf43d38a7aa55e + last_write_checksum: sha1:0f123453c061ea4158218da942b7f6d7aeb4e85b + pristine_git_object: e432b251db0c1d1a2c749b613acadfaaaeab4eec docs/models/paymenttype.md: id: 514206741b5c last_write_checksum: sha1:c5f2b848cf5b2790ca7ba74006d239813d659f03 @@ -2078,8 +2234,8 @@ trackedFiles: pristine_git_object: 2e113f48ea54618739c1040356deae926920e0ef docs/models/queryparamenrollmentmode.md: id: 3a43269f72ee - last_write_checksum: sha1:3bbe0a990e2d3d1538e9a5608b0a1c4afb075157 - pristine_git_object: a318c83a5a737b86f3f46eacb6dfc648ec83a2e8 + last_write_checksum: sha1:e1066aca2d1d59461ee3744deb4bc13122d8c09f + pristine_git_object: fefab90ecc8f9eedb7db7ad268a6a9278af725ae docs/models/queryparampayertype.md: id: b2f1e150103d last_write_checksum: sha1:6d0bd4a87f0a0c1442cc4b27e625797ef0878f8c @@ -2136,6 +2292,14 @@ trackedFiles: id: dfb65f27414d last_write_checksum: sha1:db80464f25eb7f380b09c1bb798ad1e57d47acc1 pristine_git_object: 44aedc6069eff9adbd67411a14d6c1b299818a81 + docs/models/replacescimgrouprolemappingsrequest.md: + id: ba5eaf7a1f3f + last_write_checksum: sha1:d11b4374c4773ab793d10f2cf70d8fc925d1dc54 + pristine_git_object: 6e2b8ef3659d7f8f70855773f0a45291731ffce7 + docs/models/replacescimgrouprolemappingsrequestbody.md: + id: 193b7578879b + last_write_checksum: sha1:43d266c0261e657acc6172bb964344471fd11461 + pristine_git_object: ba0ce1b3bd9fadeca8607e0980739e75de48ee5e docs/models/replaceuseremailaddressrequest.md: id: ebf3647cbc54 last_write_checksum: sha1:010cf02472f0d0d2695becd4216ee22a0c061c76 @@ -2328,6 +2492,14 @@ trackedFiles: id: cc9437069e79 last_write_checksum: sha1:12846dab34a82482ce4423553d574205dc9fe2c6 pristine_git_object: 91ebf6fe6111455cc061583a48682a459d0e7aec + docs/models/revokeoauthapplicationtokenrequest.md: + id: 0666c517f580 + last_write_checksum: sha1:d17a2a5fe2e14196bda18de1bd24c22f5029647e + pristine_git_object: 1725f83702e75443516aab5fbb739a9a762e0ca1 + docs/models/revokeoauthapplicationtokenrequestbody.md: + id: b4b4d4e2ca31 + last_write_checksum: sha1:57b72c38f2052095bcd24103e2390484ddec6e50 + pristine_git_object: 4259ae94aaf3696e11f9b59c611de7d802ba1911 docs/models/revokeorganizationinvitationrequest.md: id: a7917c689c76 last_write_checksum: sha1:2d70ca154e4635e076b274f55ce71d9780cfc76b @@ -2404,6 +2576,10 @@ trackedFiles: id: b425a37a3822 last_write_checksum: sha1:3fef8743a12e835c7c2517b45d3ab9d543d2d1f6 pristine_git_object: 74a37a1de8ec1ccdb816369b1a587ed2c963f409 + docs/models/rotatescimdirectoryapikeyrequest.md: + id: f5e50ab1f077 + last_write_checksum: sha1:666db78d53ab768ee5afbe20f254a6b8b0e34c9f + pristine_git_object: 34a6fa732cc9be5bb3b21ba50da4cbf764861031 docs/models/saml.md: id: 1efeb17f640b last_write_checksum: sha1:6b82f3fa3f1380b3b810bc614b8f0875dc6e9a0b @@ -2456,166 +2632,50 @@ trackedFiles: id: 1a036264f364 last_write_checksum: sha1:bd563899bd860b95a17a531c9700d7b3788457ec pristine_git_object: b895638a6298bcc2cd92f385c40e28f13c8bdd7e - docs/models/schemascommerceperunittotal.md: - id: 7abbbbd6505b - last_write_checksum: sha1:8f994ba9fe073a041884aa02d646120be90c84fb - pristine_git_object: 12f68cbfa251f0eefe576722bf62d1f05748298c - docs/models/schemascommerceperunittotaltier.md: - id: 6019f01ca524 - last_write_checksum: sha1:56bbe9eaf7f498fd218e72c50aeb5930040f0d0f - pristine_git_object: 2852b3126147e99028c91757fc11789d5aa4e645 - docs/models/schemascommerceplan.md: - id: e31fed3b5ba6 - last_write_checksum: sha1:4b89885fe04c4e1144cc471739967bb3e3236f12 - pristine_git_object: 72d7df3120d07657372fc9b6caacf48021e1f402 - docs/models/schemascommerceplanannualfee.md: - id: 0c748b722d84 - last_write_checksum: sha1:c091972ebc82327295abed464f494d1687c01887 - pristine_git_object: d89eafb767cfb2e391d2bc4c872f3907c79a3921 - docs/models/schemascommerceplanannualmonthlyfee.md: - id: dc7792f3f094 - last_write_checksum: sha1:d3a6d16045e54ee8428fdf9367b0629b45a6b4d7 - pristine_git_object: 5d102134a23e4078848ca8c03c28e1e6621bd385 - docs/models/schemascommerceplanfee.md: - id: 2b5dd6804d88 - last_write_checksum: sha1:654e96ab2336aee4aba4f1037c719c34cc5362cc - pristine_git_object: 5ba0661b581e2669a471527ef074b417105679fa - docs/models/schemascommerceplanobject.md: - id: 67f9e9ddb730 - last_write_checksum: sha1:0c61cab1318bbb2c5913ce8d8afa4097b1b46ebb - pristine_git_object: bfa7d74b8f41544d6e484a33221979a96e256030 - docs/models/schemascommercesubscriptionitem.md: - id: 4bde94be475f - last_write_checksum: sha1:62bc7fe5370bbb3fac0bfccc3219926ae0b51886 - pristine_git_object: edc5f7175c984e4f93191dc9fb73480445356479 - docs/models/schemascommercesubscriptionitemamount.md: - id: 4d5532405ffd - last_write_checksum: sha1:231418c1400f8c442c052eb919a4c24611804ba1 - pristine_git_object: 033272244d9d07fc09ce16a46f0fffbe3a562154 - docs/models/schemascommercesubscriptionitemannualfee.md: - id: b3a9aaa80262 - last_write_checksum: sha1:0da4b7954218bfe7e074eeeb65fcf6eb33e21327 - pristine_git_object: 7027ae7e86ec2fd8f088b4e9ddea0fbc2ba574e0 - docs/models/schemascommercesubscriptionitemannualmonthlyfee.md: - id: 932582f640aa - last_write_checksum: sha1:685d12541e0761be04cc644511192aee60b35ec0 - pristine_git_object: f64e0c4463a9bbfc226751961a2190e967aeea35 - docs/models/schemascommercesubscriptionitemcreditamount.md: - id: 09df5555784a - last_write_checksum: sha1:5d97a1d1c79d4f313a3d2b714993e917ab2cf6b8 - pristine_git_object: 4395358910470c498fd85ec1a3ef55eccb33d0ca - docs/models/schemascommercesubscriptionitemcredits.md: - id: 64a6410b12fa - last_write_checksum: sha1:75a3535ebd36892e31d88320ad733021141cd70e - pristine_git_object: b44c3848622642b733e4640111e21300e6788724 - docs/models/schemascommercesubscriptionitemdiscounts.md: - id: 93cc85c334c8 - last_write_checksum: sha1:ed8a446f7ac51b78ade2e4224079766155bf781c - pristine_git_object: 55890323ca49f13b170c8d2eedfc6367920abfa1 - docs/models/schemascommercesubscriptionitemfee.md: - id: 3147052585d8 - last_write_checksum: sha1:151d5a08a2e822aaba55ee239ea5cc294ae7659c - pristine_git_object: 4f5f79badbe9874591a7f4f1eb8c1313718f0ab0 - docs/models/schemascommercesubscriptionitemnextinvoiceamount.md: - id: 563a4765aeb6 - last_write_checksum: sha1:53da99cbfe1236282075b5400e743e91d8556a8a - pristine_git_object: e576cf0618085978063e6ee4fb07c28fab349d01 - docs/models/schemascommercesubscriptionitemnextinvoiceproration.md: - id: acb441534f0e - last_write_checksum: sha1:a7cd6548cfd5a28cb381baf0861c5854d8882406 - pristine_git_object: ce42dae690fc7cd136bb3cc4e98b436f908c88ad - docs/models/schemascommercesubscriptionitemnextpayment.md: - id: 4e0e2621282c - last_write_checksum: sha1:f96b2b103409ee1f0dc7ce5c1670e50cf05ebd8d - pristine_git_object: 9a067e3cb528648f44210d2c1fd921b9ea915408 - docs/models/schemascommercesubscriptionitemnextpaymentamount.md: - id: 33c385c8deff - last_write_checksum: sha1:4334a8e54bcc95f00df1dcf66d3a975f8fb087b5 - pristine_git_object: 8a32881e8492dd55d33c7d9bb2b84b99a4343bd1 - docs/models/schemascommercesubscriptionitemnextpaymentcredits.md: - id: c316b5a3db95 - last_write_checksum: sha1:5db7267fc253b59aeee49ced72149b833c0bc3d4 - pristine_git_object: 2b0b9f9c37c63fc4a3311977dac9ed42b2756a6b - docs/models/schemascommercesubscriptionitemnextpaymentdiscounts.md: - id: cc194f2b7cf1 - last_write_checksum: sha1:4a4a11e7e8638e7b0b768d9889f43ff89ae77bf8 - pristine_git_object: 3f790bdf86b882e420319e38a3dbc4f0a3a29d76 - docs/models/schemascommercesubscriptionitemnextpaymentpayer.md: - id: 4e9591be8466 - last_write_checksum: sha1:ec2cdff8a0d7401e96c73d9f35c62ceffc0b7901 - pristine_git_object: c1ddedc49644acf9effaf3582bb1f4eb632c118e - docs/models/schemascommercesubscriptionitemnextpaymentproration.md: - id: 16909c236564 - last_write_checksum: sha1:68dd902b7c7af530f05da8a45ef69d7f5acc53f1 - pristine_git_object: d9f7947809a140e04b3aa7146650e363d3b4b55d - docs/models/schemascommercesubscriptionitemnextpaymenttotals.md: - id: 950cbdbce345 - last_write_checksum: sha1:3ee2c80a144b41b67a34d70bcf522383035d03fc - pristine_git_object: 2623247ca5e4764af7a5d33f7c26486bd5d7dfb1 - docs/models/schemascommercesubscriptionitemnextpaymenttotalsproration.md: - id: 45b586d50f8f - last_write_checksum: sha1:a22521ad4c0f6138602062de41e5847bd3163710 - pristine_git_object: 4e1633d3a508d6b4050b233054932b895af5fc6e - docs/models/schemascommercesubscriptionitemobject.md: - id: 249163d3df53 - last_write_checksum: sha1:6f53341b05a4a9c1cdbd6d03ed56df15d568c7ef - pristine_git_object: f2090836052bdfb3fe7471cd6138f38fad0b73ba - docs/models/schemascommercesubscriptionitempayer.md: - id: c5dcdeb62120 - last_write_checksum: sha1:1f07e5364872fd7211ad4f26a682148038aeebcb - pristine_git_object: be7e020037fa217aa2108fa4d1fe3dbb1b6b6cdb - docs/models/schemascommercesubscriptionitempayerobject.md: - id: bf2c13f3c8e3 - last_write_checksum: sha1:2e0d739c3826d987edfd29f9a4b59f83f7e87836 - pristine_git_object: 6ccf67f2b3bf625fb29101f09f9eb5d0913f0900 - docs/models/schemascommercesubscriptionitempaymentsourceobject.md: - id: e0f2c41910fe - last_write_checksum: sha1:19b1e24dd9fbbe6366795304a0344646849b5a0e - pristine_git_object: 3ae7b15920a0d1450e18f5bbe5ee3e7aa39b4ab6 - docs/models/schemascommercesubscriptionitempaymentsourcestatus.md: - id: b59b51ffe807 - last_write_checksum: sha1:c9dc0e2376847e0fc3dbaedd70338332af53a522 - pristine_git_object: edf81824937c63791b9d323e26ed5750e3f19df1 - docs/models/schemascommercesubscriptionitemplan.md: - id: 4f2f2767d0fb - last_write_checksum: sha1:e826a6dca8b59463c3de682896ab0bd512f1df39 - pristine_git_object: fc43e9beb3a493dddcf8e720b022e59d6d807684 - docs/models/schemascommercesubscriptionitemplanobject.md: - id: e2f951a02cc6 - last_write_checksum: sha1:5c5ed09983a02ccf7fc995c07cad09e565743f2f - pristine_git_object: c6e97c10c0a1901227dc9fb19d5a44f19d2c32d7 - docs/models/schemascommercesubscriptionitemplanperiod.md: - id: 527fdd684480 - last_write_checksum: sha1:7dfdaf34c0c9d548db0ab3572b4f8dfdd734ccef - pristine_git_object: 42b3ae81659d176ddfef002bcf47364315cf97a4 - docs/models/schemascommercesubscriptionitemproration.md: - id: a3ce77b66aa5 - last_write_checksum: sha1:256219e595a880c8cc16adbcef193b716adbc138 - pristine_git_object: 7e917dc07f9929a09b5b3d8c291613674a06f3bb - docs/models/schemascommercesubscriptionitemstatus.md: - id: c18c19e2acff - last_write_checksum: sha1:deab06500a2ada3f0203fd02b55cd2589fd9965c - pristine_git_object: 6e35d845dc738f87761d331bfc04c9ea7a914960 - docs/models/schemascommercesubscriptionitemtotals.md: - id: f618bdcd2be4 - last_write_checksum: sha1:1de8f55fc8411270b96edb03eeac82bdb509be43 - pristine_git_object: d9394b7a2ab933b35e7194647868c7b19c9afbe7 - docs/models/schemasfeatureresponse.md: - id: 768ca9ff3f0a - last_write_checksum: sha1:e95bb432e5d50c388da88645d2a65fae23552b50 - pristine_git_object: a23741af6f4344d58f9863597c594b00816c9685 - docs/models/schemasfeatureresponseobject.md: - id: 8e19b97c176a - last_write_checksum: sha1:edd2e43d81a856df1e5aeeb0ef3edab513e3b858 - pristine_git_object: 62eeef0012c7b9e0166df6e6b2949a57ebb5544c docs/models/scim.md: id: b9120dfa37fb last_write_checksum: sha1:224dc233ae957ae3c9735f096533b98fbb503939 pristine_git_object: 7620dc17820932d3d640ff2f16227372623fd6a4 + docs/models/scimdirectory.md: + id: 8e0e0d15ebf3 + last_write_checksum: sha1:6f9a94a6f433be107ed3d3b12afc1f8e8d96f586 + pristine_git_object: 7128dd2a327b4a89967c08f3f3379de3d743a952 + docs/models/scimdirectorycustomattributes.md: + id: 9fd227cbb7d6 + last_write_checksum: sha1:5c4a7b966ebb7d086b3b5431aaf7902a104f6f07 + pristine_git_object: b88c200dfbfdae71cc30f6761b348db09983716a + docs/models/scimdirectorylist.md: + id: a49b10f84594 + last_write_checksum: sha1:b986f34613d7c11eb3b135bb16cf4298cf6e201e + pristine_git_object: fbcd6d88ee3916763b6f0dc609a9cd63a3c54f9d + docs/models/scimdirectoryobject.md: + id: 2f92c5877206 + last_write_checksum: sha1:3e4dfc43e9fc3c7e77a46e170cd39103960cac3a + pristine_git_object: 3229b1749b098c745747fb2cc6ce067efe2c69a4 + docs/models/scimgrouprolemapping.md: + id: be906f4ba704 + last_write_checksum: sha1:7b63d3c74afb061afa47bebfbfc28794babeb3ff + pristine_git_object: a345679832a41579c9b92d7a7a999ad1a8c4b72b + docs/models/scimgrouprolemappingdeleted.md: + id: 076f449417e6 + last_write_checksum: sha1:557784d4603c19e6164b981f9ad7a9af810ab2a4 + pristine_git_object: 344eb542525b17b7c171f51bd4b018b570c1b4b8 + docs/models/scimgrouprolemappingdeletedobject.md: + id: a6a2ade47255 + last_write_checksum: sha1:021e83eadc99d607bb21cb87027e82436c1f45d3 + pristine_git_object: c00f9fd167a3b1f7b97bef42068bc19e4f7448cc + docs/models/scimgrouprolemappinglist.md: + id: 9e7bcbb8d490 + last_write_checksum: sha1:9ad2074ca7ad212856126ae5f10acd978d013ab6 + pristine_git_object: b3c7f764853ff424623545889f12ade1df6db9dc + docs/models/scimgrouprolemappingobject.md: + id: 67bbe1e511c7 + last_write_checksum: sha1:4e14abd61e2a5f342ec4927e34fd5325e553efa7 + pristine_git_object: bed0637a4317fbcfc57d8b07e79f1350e4b05fda docs/models/seats.md: id: 860cbd360306 - last_write_checksum: sha1:0206d12c7e115139fcae541375da1b27849015c7 - pristine_git_object: 3d2d0b38c7d025c7e7f9b3a3307af59bff7a3603 + last_write_checksum: sha1:3953043c19f3396b17190b4aabc37538d1733c2e + pristine_git_object: 9cb78db8cf6323a9f777d425df0079f1652cb100 docs/models/security.md: id: 452e4d4eb67a last_write_checksum: sha1:b92237f55b89698b718cee58634a51a5cdb29edb @@ -2774,12 +2834,12 @@ trackedFiles: pristine_git_object: 3c3848f72661e12f6f3569ed8361ab8bf416c28d docs/models/totals.md: id: b4b5833c011e - last_write_checksum: sha1:b98cefe4e702897e2190db66942d3974d687202c - pristine_git_object: 7b48dffbb054115ea868f83e1afee5a922faa22f + last_write_checksum: sha1:494b29eabcb43d474cf671d757621d4e4d8605ea + pristine_git_object: 837627af338709aadbac34f3147ec5dc596a046d docs/models/two.md: id: 3720b8efc931 - last_write_checksum: sha1:08c84a402cb77b93c5566263d103676e6e8c290f - pristine_git_object: dfa2ca63f30a77a894495cf3beebf5c730c53278 + last_write_checksum: sha1:a027222e8b9ff600a183bdd29fec04b488be7d8f + pristine_git_object: 5890cd6eebc1538e4f421d638a49b357c89e3cb5 docs/models/type.md: id: 98c32f09b2c8 last_write_checksum: sha1:30b20d26f9bf3a7a2e28765a067e0c2223cbfb76 @@ -2930,8 +2990,8 @@ trackedFiles: pristine_git_object: b67a2990b893389c16fc3484bd46759bac7fe639 docs/models/updateorganizationdomainrequestbody.md: id: 740dd4a1631e - last_write_checksum: sha1:0e3fccad651450367e08a60451c492acaabc5c84 - pristine_git_object: 507bfd3b527656250a8a7fc889e9113cfe8192f6 + last_write_checksum: sha1:8decc1960d1065fde7c7e2d615e9cdc8547e021a + pristine_git_object: e3e368a7d732dc1207977bdd3b40ac8c6c1a4299 docs/models/updateorganizationmembershipmetadatarequest.md: id: dc497ede0378 last_write_checksum: sha1:cd8c8c062bcfeaad2a5ac05b69c5d1b626d57627 @@ -3004,6 +3064,14 @@ trackedFiles: id: 82dcd79180d6 last_write_checksum: sha1:1ee1984e545ab9c34864a8c3854f360d0ba9db89 pristine_git_object: e00926cd631eeed54ae11d85fe0685bf22e7ebf9 + docs/models/updatescimdirectoryrequest.md: + id: 40090852fb91 + last_write_checksum: sha1:31056da880a01951c8fa740001aa05a2561f73d0 + pristine_git_object: 26038ed949872b842563e972053cf4601e81332a + docs/models/updatescimdirectoryrequestbody.md: + id: 0e179a79c9b5 + last_write_checksum: sha1:d4e0fbb406ce4317d46ee4f452b7ee4479023fc7 + pristine_git_object: 4f8d3dde3c9c34442732dd3e4aa569d457ff1bd9 docs/models/updatesignuprequest.md: id: ef934a29dc73 last_write_checksum: sha1:d7f9c8b15ae8891933891d545fe5a7b91da9d10e @@ -3174,8 +3242,8 @@ trackedFiles: pristine_git_object: 8c5f1bb3c5dd31a7fab7afd309afe5a842cebbf6 docs/models/verificationgoogleonetaperrorclerkerror.md: id: 10131e87b3f0 - last_write_checksum: sha1:0bfaac999719fad5a1fb8ad9c516fa769e81740e - pristine_git_object: 8de8eace7442362140fb2841cafeabd71bd1b24a + last_write_checksum: sha1:26f676714ce099c422826c32246b2d4492cfe617 + pristine_git_object: 5ff62314e27001e1eede5a5b581110bb4b04e29a docs/models/verificationgoogleonetapverificationerror.md: id: 2783e1e19751 last_write_checksum: sha1:54a48fa8643dd3a1d69a47c59b98db9c3b885e99 @@ -3198,12 +3266,12 @@ trackedFiles: pristine_git_object: f152e68b9981dd06bb233dc6ccda9ce99c23ae8f docs/models/verificationoautherrorclerkerror.md: id: f928ca8fcd24 - last_write_checksum: sha1:e799706bbb01204827db018efb74bc16bd7cf2df - pristine_git_object: d4aceb6b4adc5f20b3124262feee5dc96b2f920d + last_write_checksum: sha1:34bed4d1a9006ac59002a3f25fce95d85cd5e2a3 + pristine_git_object: 2ed5085c1c8b12915280b8691d7da71d4021ba05 docs/models/verificationoautherrorenterpriseaccountclerkerror.md: id: fafebe046c8b - last_write_checksum: sha1:b5110ce2b845e7d4bc235de40fe17ab36a7788e6 - pristine_git_object: a4ed5d6aa3e6316ef9c63c48dcec4737dccbf1be + last_write_checksum: sha1:83fad7662bc90ba17039b2b38843525a90a75316 + pristine_git_object: cb0fd23926bf1338b135b06a333d638510ab1d02 docs/models/verificationoauthverificationenterpriseaccounterror.md: id: 82a1c55d7b59 last_write_checksum: sha1:a456d00b1a26cac9ad8cdf95d12496546b73d627 @@ -3278,16 +3346,16 @@ trackedFiles: pristine_git_object: 9a00d92979376c403b036348c351f3c4ce56c13d docs/models/verificationsamlerrorclerkerror.md: id: a70177ff0d77 - last_write_checksum: sha1:c5766f0540828a0a61f7f9adad7324994e8c5d02 - pristine_git_object: 2600927757949b05776101c4ac00d46c1539ab49 + last_write_checksum: sha1:9bb20f3a6e2156a7233b1d6fd2e9c93deb6f6a6a + pristine_git_object: 77682e426c18455cd24e278cd0a4e7b9d7d2850d docs/models/verificationsamlerrorenterpriseaccountclerkerror.md: id: adb0465af148 - last_write_checksum: sha1:298dfaf7d8e8ec7345638e9e83c15923123f5c9f - pristine_git_object: 6ae3d8e13bf75ef180d4ab2355c869aeb642e4a7 + last_write_checksum: sha1:9bfc6fd96470c7ec9325379698edbfa47a792a80 + pristine_git_object: b89f8240be3cc5d43928505392f9cc76905acfea docs/models/verificationsamlerrorsamlaccountclerkerror.md: id: b8c46eca04a7 - last_write_checksum: sha1:b627bf7f712517399880abe9697e0934ecf0d8f0 - pristine_git_object: 13b5cb7aa1492e7d0dc103552185d1f1c978673e + last_write_checksum: sha1:aa93038367338d6652261d36a14a3f6ef5c76a6a + pristine_git_object: df96b967cc8603177efff11b030c9b2316a43b01 docs/models/verificationsamlverificationemailaddresssaml.md: id: cacd9aa6490c last_write_checksum: sha1:95ee6e3863ab2d0134c0e7cf956dea7b893753fd @@ -3610,8 +3678,8 @@ trackedFiles: pristine_git_object: 35f3f36a78c00a226b588f68ef192a3375c2c4d2 docs/sdks/billing/README.md: id: dc915331dd9d - last_write_checksum: sha1:f5f5f163b213ac0d9a9ceb7f97107681020c883c - pristine_git_object: 6a36b48676ce1b9c43059c257161b111f7c1f07d + last_write_checksum: sha1:38a1202df24dbcf30bc4b502ccf52ebd27836437 + pristine_git_object: 1f48b2923da983666a0798512b65d810309afc98 docs/sdks/blocklistidentifierssdk/README.md: id: 8c5a4397c841 last_write_checksum: sha1:2b250f0eb6ba83fce9a645c9439358b6e6600654 @@ -3674,12 +3742,12 @@ trackedFiles: pristine_git_object: 5f5f87178be1b0a2724177f3c3402f43112b701b docs/sdks/oauthapplicationssdk/README.md: id: d49945f94682 - last_write_checksum: sha1:b8dc56c335ed2142926aae2fa332d64f9d227c38 - pristine_git_object: 42bad19b6651c3a4a29e46065cc43b92dbafeddc + last_write_checksum: sha1:4a60431c43c10e38fbec8f008864b6a072632856 + pristine_git_object: fb9af2fd07626581f2eeb1b7646f35bbc361028e docs/sdks/organizationdomainssdk/README.md: id: 76a0872c137f - last_write_checksum: sha1:5b4ded551b03861593f7d66fec8bb2bcd88da653 - pristine_git_object: b4ce48cf225d609efaef5f9376764cb05bd68915 + last_write_checksum: sha1:3192f245a59c1d091ce221c4e62bf8ba76cd16d3 + pristine_git_object: 58bbd5745dfc5dba7851432188291d7db20f3f2d docs/sdks/organizationinvitationssdk/README.md: id: a75042d035e8 last_write_checksum: sha1:5b8d5a65af4dd05e3947662f1af94650ecd0fe4a @@ -3720,6 +3788,10 @@ trackedFiles: id: d7f9ac682d87 last_write_checksum: sha1:7ecdc25bb15f3ba1bb5fa9ea437406656dfa52bc pristine_git_object: 9d7f1faebdabcaa98311d6f97beb399d3f09ad35 + docs/sdks/scimdirectories/README.md: + id: 78ae8c1a63c0 + last_write_checksum: sha1:41d7c469be513fca3856d63d632cb31277f00823 + pristine_git_object: 5f081e032263039bf5687e844bbe9997ac76ae0f docs/sdks/sessions/README.md: id: 57ad62844f79 last_write_checksum: sha1:aa90f444d0a8b6efe38e390d7987b634eb07ca9a @@ -3742,8 +3814,8 @@ trackedFiles: pristine_git_object: 3b5b06e9e6e00d8c21aa5de0fa5754acec7173d5 docs/sdks/users/README.md: id: 5d80027045fe - last_write_checksum: sha1:c41e2578764578d6792364ca1c5adfdb77cc621a - pristine_git_object: de4f37112e86d72bce405afee0684dad33a30a7b + last_write_checksum: sha1:aefb1439923d45a865463be976ce6acef4a729cc + pristine_git_object: 0f43009087ddefbe4f1601c324c4ef15ca0889c8 docs/sdks/waitlistentriessdk/README.md: id: be78acbbb2f4 last_write_checksum: sha1:08794f1399c6b81cf83ef513816222cb5d12f53c @@ -3766,8 +3838,8 @@ trackedFiles: pristine_git_object: 7fd8db13ad9399ab075a5fb70e6da17525ad3ed0 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:75412ea1d36bcab69bf5f1c60af01f9dc38ca15f - pristine_git_object: 0677a7544bd71fb62a10f7285ae5aace2e76ec66 + last_write_checksum: sha1:293379f9b1d18dbdd8d0fdfbd2d4f69bafde6a87 + pristine_git_object: 5e4f195ebe0325a58d02a3fd3819a6af32c17c43 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:419f10ccc385a29136e599315b61a0aa7a1c3e15 @@ -3790,108 +3862,108 @@ trackedFiles: pristine_git_object: 2a337549c99c093e7fb322c81c46c3834e58a9c1 src/clerk_backend_api/_hooks/types.py: id: 600f9338df0f - last_write_checksum: sha1:b7b170cd1f5f76f7ba37345a8922e1e8611fd2cf - pristine_git_object: 4926429d3dfb2c34589715971acb070ed3756559 + last_write_checksum: sha1:2a12385d4519d2f8859ffa674703d4717f1425f0 + pristine_git_object: ba7b621787df1eb67b8d2eb52c70ab688972267d src/clerk_backend_api/_version.py: id: 9bcb16a88e08 - last_write_checksum: sha1:3610187b4306de73e4c11f2e3bdeb35d51122bff - pristine_git_object: c5e9e88a7e402d16746577e5d9940633c311fc64 + last_write_checksum: sha1:1935dac5d3c6c1943772f3707f9bacf0356a1c2f + pristine_git_object: 4ff1eb2e72793c21ec50b9ff736ca0e73e5a0277 src/clerk_backend_api/actortokens.py: id: 3b3f89863233 - last_write_checksum: sha1:3b904736e9137a0802a031e590dcb505f9ed0ba6 - pristine_git_object: 7752a8e1bf8e56f7b205929c44316c69d96e4b2f + last_write_checksum: sha1:5231f0f056ad04d1451b5b0daac771270dae0b31 + pristine_git_object: 61505b20b32730d65ddd5df71ddd002c173641f8 src/clerk_backend_api/admin_portal_link_tokens.py: id: 049999ccbe0c - last_write_checksum: sha1:b3565291529dea2028b1f4d74b10b976c530b9d6 - pristine_git_object: 7906a34fbc8a573d7e527cb6f79063060f32e44b + last_write_checksum: sha1:bd01a71e478823f48f0289bc764e18dc109814bd + pristine_git_object: 1f7ef905dd31fba195fc77a7c69ce1e614f897c5 src/clerk_backend_api/agenttasks.py: id: d3c079113f2a - last_write_checksum: sha1:e77dec344e06f79359ecd5e532c405c46174c9b6 - pristine_git_object: bc3985b6456070a5e2149c1e9592b7942f9c96d4 + last_write_checksum: sha1:79381a42005b402253f60fe31f9a4f7bb2b90ba2 + pristine_git_object: bcd37c2745446b52d63045fcca2a0211a410e103 src/clerk_backend_api/allowlistidentifiers.py: id: 70ccf975110b - last_write_checksum: sha1:4d8b97c6c3c8b33e7a1014fe4b200a5568ef57e1 - pristine_git_object: 792a92eaabc03f62c756db8df941b7b535b59d70 + last_write_checksum: sha1:ddc6720b3f6e89cb9b5b7a3df99725c26e475409 + pristine_git_object: eb5a62743ae902d9a09969da599c2d590e28420e src/clerk_backend_api/api_keys.py: id: f04f9d016f99 - last_write_checksum: sha1:7d464e8ea3ad04095dd105e4cc1383c1748f05c9 - pristine_git_object: 604539ec8b1079bbb10473525ecc576146ee62fc + last_write_checksum: sha1:ae582797dbaa5fe7bcaa96b0820ae28b89d7a17d + pristine_git_object: 2fde56a0c24eb3dc82d902f524fe5af368757768 src/clerk_backend_api/basesdk.py: id: 5a15c2d94747 last_write_checksum: sha1:0bc8a7332e1a4b3c532ccee525b7cfe9106df29c pristine_git_object: 2f9ef37d281e8efd42fcb6b63f4e801a24784b91 src/clerk_backend_api/betafeatures.py: id: ad6307385dcf - last_write_checksum: sha1:b21733bf69bb529dc85c51ba00b695492bc4390c - pristine_git_object: ca0b1f38e57e3324793a65906546ccd02e7a6e54 + last_write_checksum: sha1:2bcd29a4e810aaa06098c396d68be78c61da3ef9 + pristine_git_object: 067e43e8c86832043551f354136ec84cb662e610 src/clerk_backend_api/billing.py: id: d2a23482b2e9 - last_write_checksum: sha1:76c0ff09fd1499a8f732175444d2283fa82dfa4c - pristine_git_object: e1fa4dcb0014acbb238ea38cdccbce249f38c8fd + last_write_checksum: sha1:0644789a8815dc82ee94116710dfe4bb0963211f + pristine_git_object: 84e8603462c2aa6fd5503846388094549154b0af src/clerk_backend_api/blocklistidentifiers_sdk.py: id: 49e67487b740 - last_write_checksum: sha1:dfb79683321b55cb9fd7edf70e351a1641b01255 - pristine_git_object: 4fc8cffb73c6e43c413fa44fb5be8da2ef0f469f + last_write_checksum: sha1:dcc4d48a29d17fbab6cec00671aef0587c7df88e + pristine_git_object: 98d3d00645dbd271274869f4df8d41d421c36158 src/clerk_backend_api/clients.py: id: 08e66d5a2bb6 - last_write_checksum: sha1:78d23a57f8b98f25a2cc2ed3889311aa7cb88d9f - pristine_git_object: 0e786d6a3424b64d59d7b1a671f08644ad7f07e6 + last_write_checksum: sha1:5e32f38c670a3f5562e0acbcac1f4d01184c058f + pristine_git_object: 77d504a35267bb3f7d828e2ae452e226f60de42a src/clerk_backend_api/domains_sdk.py: id: e49d7bf7ea9c - last_write_checksum: sha1:e3c3500cc08688a748f19cfd95148655f60136d2 - pristine_git_object: c0b8da932f6efa4ac0dbfb16c71287aeafc27d5a + last_write_checksum: sha1:3a9d3cff75d4c293a953a130361f44719d72b058 + pristine_git_object: 75928e66ba8978a5a9e03746f1e20152758e1587 src/clerk_backend_api/emailaddresses.py: id: 90abfcbd4312 - last_write_checksum: sha1:1fcde5f1ad321eee4ef71522afaf34e3a6bfe9aa - pristine_git_object: 27801837a40a21d1c2dd1c05ac1d86cf1793695f + last_write_checksum: sha1:086d96a90263c0811065e8ab8a59b64366b72e3c + pristine_git_object: 2a178d4b1648fe19e310788ea6e116535a3da614 src/clerk_backend_api/emailandsmstemplates.py: id: 6b0d6ee5c16d - last_write_checksum: sha1:ae1df3ac3e618dff7d610d61b4ad3e180b321301 - pristine_git_object: 9bdf56a39991246c6184a58b9715d60dfc8c6e1d + last_write_checksum: sha1:5330a134f3c3babfec1a7fffe453c7333f0a5006 + pristine_git_object: a4265bb34a4ef437f27fbfd679949d42e94ff57c src/clerk_backend_api/emailsmstemplates.py: id: 528ebc4706a8 - last_write_checksum: sha1:a8514fdc625b694bb2078f60a71e63fe18c8324e - pristine_git_object: 158d7c61755de134ad76707f4f6868dfff78a1e2 + last_write_checksum: sha1:f8f5dd1102a08b10f17965dcd390349977766d51 + pristine_git_object: dc575e0597a6f6adfb834d1e3fd3cae86c3eec05 src/clerk_backend_api/enterpriseconnections_sdk.py: id: fdae7c06198c - last_write_checksum: sha1:2d480b854e297ae43163334c30351e6106f8ed51 - pristine_git_object: 199c5fadbba66e1127631deb34bac057c5ba9dda + last_write_checksum: sha1:f40ca1703414ada204327caa6ad9d914329340f1 + pristine_git_object: bc283a1bb6726a42d29166121ec3d6f341e93c8c src/clerk_backend_api/httpclient.py: id: e554fdb21199 last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7 pristine_git_object: 89560b566073785535643e694c112bedbd3db13d src/clerk_backend_api/instancesettings_sdk.py: id: 1ec41349c1e0 - last_write_checksum: sha1:a005bff1b7dc9bc3e37bfa5e328eb90345da1fe5 - pristine_git_object: fbf870bfe28c5aeb016430aab71a7fb05b0d7fcb + last_write_checksum: sha1:8fe006b95e74c4442384dd8b5bae6a9d1a295c3c + pristine_git_object: 2e1e3c66c077e543ed20a8a37dff2e687a01d662 src/clerk_backend_api/invitations.py: id: 1bc9adec1572 - last_write_checksum: sha1:de978c971f508eed49bc287cf88f77a9573351ae - pristine_git_object: f58a5fd500ef32d35e78f0f96af812b74b260e35 + last_write_checksum: sha1:d33b6d32e247b903c08623d7507e02bcd4bd0121 + pristine_git_object: 76ef3cbc438da0c8b883c44e1cbb2c576e122749 src/clerk_backend_api/jwks_sdk.py: id: fbca6c1382e3 - last_write_checksum: sha1:a73cc9d33d09ac406c37673beed21a665feecd6f - pristine_git_object: d2fef3b05c2f0aa49d962b4a080fc45993e86a07 + last_write_checksum: sha1:99f30903f7406efd3487e9d667810a4e258bbec1 + pristine_git_object: 7fbf45a57f6b5d7ed14ae774c74664b436f76f1c src/clerk_backend_api/jwttemplates.py: id: 554426cb1e00 - last_write_checksum: sha1:d55269cb3ccdb4ec9e32a4632fbda366fea01645 - pristine_git_object: 280fdc840daa0bcb80d50978b6813b7866188156 + last_write_checksum: sha1:3308718d2e3014183221d7e8b4e6b1ea9dd3d330 + pristine_git_object: 540fdd1ac31f22e6e806962ec4931a974e7a8339 src/clerk_backend_api/m2m.py: id: 1f8b7e2b1d90 - last_write_checksum: sha1:8a9ca89e0432863aa2b53f39887198483337dd6d - pristine_git_object: f8e76940d9df337ba47bb0141945834dce2b71b5 + last_write_checksum: sha1:de28f8e6ef69740870370bdbbdbafb591f3aef45 + pristine_git_object: 28a8578375b2e38ec2be95ffa8642e645eef0bac src/clerk_backend_api/machines.py: id: 5fbf914a1578 - last_write_checksum: sha1:e94875e408accb3a2f99fa0cdd06fc681433a3bc - pristine_git_object: c1476b8bd563570e37fcb7d030061642c4f3463d + last_write_checksum: sha1:00ab100b535b9d769fd2c2737664bb2b620150ac + pristine_git_object: 4d206cdc9d0acbe0953f4107a7be1a27b7800ed5 src/clerk_backend_api/miscellaneous.py: id: 70bb358bb701 - last_write_checksum: sha1:259ed0eccb24e36481fc06cc03edec0dd66fd4c9 - pristine_git_object: 1487f7397b93643052fce28231aefc25905fb076 + last_write_checksum: sha1:5bf5d6678d9905c08cee3865a9c9f56fd5b45a73 + pristine_git_object: 489edf6b92702ca84d4b926de4c5690c69172809 src/clerk_backend_api/models/__init__.py: id: 97d9388d85c1 - last_write_checksum: sha1:cf88ff2c844ca5e287113fe3824980c8fdcd8a45 - pristine_git_object: 4740ead9c0650bc89674455af23cfd9ec28d4452 + last_write_checksum: sha1:c38a431f95adbf9d767cb8bfc2f5f0343bfdf0ab + pristine_git_object: 04a457709e8dda96951240cdd1d8ce14ca0c3f14 src/clerk_backend_api/models/_verificationresponse.py: id: 60d0443bfa2c last_write_checksum: sha1:fe16527d8fc007a482bfc55e6f3ccd67f407d7bf @@ -3946,8 +4018,8 @@ trackedFiles: pristine_git_object: 391a1f7659fe78a3fd5e5cf2965a2e412ddaa6bd src/clerk_backend_api/models/billingpaymentattempt.py: id: b33ce5ce325b - last_write_checksum: sha1:816469eeae1d4edd319f4300fb280bd1876c8d51 - pristine_git_object: 5873f11ddb17c0cdf63a19ca85060ae46b6f40f8 + last_write_checksum: sha1:2d51688bfa32cf6fdb3f64ee2a996726e533b2d7 + pristine_git_object: 2a1c8ac3f2d145691c95b28082661909d4bed75e src/clerk_backend_api/models/billingpriceresponse.py: id: accd55daa3c3 last_write_checksum: sha1:29980e9e71b0293c11d814cbdbcdfa9f0a6f2858 @@ -3978,12 +4050,12 @@ trackedFiles: pristine_git_object: 39f2e030f980f78c5c0f2ecd8030ce4d493f9ca5 src/clerk_backend_api/models/clerkerror.py: id: 2ccb21dde563 - last_write_checksum: sha1:85e4d7b652c239522d472b321e39f5749e121ec8 - pristine_git_object: dd3c123ecc3f6994c7a9b649100e57f689cba3ad + last_write_checksum: sha1:1025d9113a0942f90cca3e0723153f6efb92635c + pristine_git_object: 0a7859f36bdffe15b95940f0a75a000ebf900cff src/clerk_backend_api/models/clerkerrors.py: id: 6d281fef4fc7 - last_write_checksum: sha1:5aae5b16a119642aa3fef28537f02dc47959e3d8 - pristine_git_object: 7658c12b00359d59a39263571e84cf3f2cc18f9b + last_write_checksum: sha1:6ec076f8383a82de63947c0fa3d4aabdeb4e0a37 + pristine_git_object: 10d2accfaf0e14ab5f1e9bb16d4af792bedd7eaf src/clerk_backend_api/models/client.py: id: e9612d07140a last_write_checksum: sha1:550ae5a62ba3d0a68a01b079e09ba14cdeb8f4df @@ -3998,8 +4070,8 @@ trackedFiles: pristine_git_object: 94bdb51814eafbc2f374b4a2023ac3c2a4fb4a1e src/clerk_backend_api/models/commercecreditledgerresponse.py: id: 14d5cfc6c25b - last_write_checksum: sha1:c3265f4135c2dd465b66d9f637f7c0ac6a90b871 - pristine_git_object: 1efd35255eb3a940490f668f9cef5e972b4cdf00 + last_write_checksum: sha1:5548417681f8aa333fe36f76cae774fef550591c + pristine_git_object: 5d767050ce2aeac717e8fa9aec776e399185bc37 src/clerk_backend_api/models/commercemoneyresponse.py: id: a252a54968d5 last_write_checksum: sha1:2e69dba9bb15c716e7984b1677f4093ad4d08daa @@ -4016,14 +4088,26 @@ trackedFiles: id: fc515b4cbc8e last_write_checksum: sha1:074af0e70db26dd71d5ce92e9aa9c0e0133252c4 pristine_git_object: 654961fe1a25a208b25e1fbece63fdd9eea3c987 + src/clerk_backend_api/models/commerceperunittotal_2.py: + id: 9fc93cd73ef8 + last_write_checksum: sha1:d053b898fb23efe794a5a13325f7db7663ff00b0 + pristine_git_object: 7651c48e3968bdbe821e4d436073f613755bce47 src/clerk_backend_api/models/commerceperunittotaltier.py: id: 33232c513703 last_write_checksum: sha1:706e06d91a1e63fdc928e42c311c36aa10b69648 pristine_git_object: a1682fe8a666012651c6cbf2eaa37830c16f45b8 + src/clerk_backend_api/models/commerceperunittotaltier_2.py: + id: ac2d1d4a2bf8 + last_write_checksum: sha1:02c7b574a48c0ae5f8fb1b0b690b5359e0143cff + pristine_git_object: 17f44027b525459ed1417c0ad273a931129cc4fa src/clerk_backend_api/models/commerceplan.py: id: 865974d0de5a last_write_checksum: sha1:99f1c7a29c2451dc40c4b20d7f408c198beb6640 pristine_git_object: ce7c063293f7a639e789e060c2f3231bdc28da25 + src/clerk_backend_api/models/commerceplan_2.py: + id: 071684751df8 + last_write_checksum: sha1:0cb31d178dc80b4a32f16d19e06c4af7e645f09e + pristine_git_object: 5779aba5b4d3a9d6aee92b9916773af461aebf47 src/clerk_backend_api/models/commerceplanunitprice.py: id: d835998ef008 last_write_checksum: sha1:4e4e144d8b5d1cd9f2674f037901a6872a6fb8f4 @@ -4034,12 +4118,12 @@ trackedFiles: pristine_git_object: 704f0476ce3e2d43e7ab5ad1776dc6801f2ad1fd src/clerk_backend_api/models/commercepricetransitiondetails.py: id: d28d493401ba - last_write_checksum: sha1:1d5e6c75677f9098f667d9ee9706622961139a2f - pristine_git_object: 7b27c7caa8ad3c07e1b93e5946c37988541777f4 + last_write_checksum: sha1:00e98a0be34c085ef75f097251c6df2b0051cd19 + pristine_git_object: db106ace51867acb2882b7ad35efb0f514204c8c src/clerk_backend_api/models/commercepricetransitionresponse.py: id: 1b9a6445ff3e - last_write_checksum: sha1:49392cfefbfcf845361689fde2d526738b25e744 - pristine_git_object: 1d732f5d551c2939c1695550ce3a3fb39141c4c8 + last_write_checksum: sha1:e3cf4aa8747a56423efeb6f39c9e073d182c24c3 + pristine_git_object: f34327d83eedb61bfec36676295888cf6d3f1a18 src/clerk_backend_api/models/commercesubscription.py: id: 4be9b36998a4 last_write_checksum: sha1:476a815126ecd2456e1945833a1d73ea8e59e53d @@ -4050,12 +4134,16 @@ trackedFiles: pristine_git_object: 506a196fbe4a0973d608f60ef3767e740f6f4cf0 src/clerk_backend_api/models/commercesubscriptionitem.py: id: 85ab9baf8dde - last_write_checksum: sha1:b83d6937725d81470a64cff3ceec287ba44d47ff - pristine_git_object: 9e93ed03103799c7a70877cb30c9ab2453f0167b + last_write_checksum: sha1:798a2dc14f347d0354d52780ad50c98847ab57df + pristine_git_object: cd765e9da309356982f73b217617d50c714b0f3b + src/clerk_backend_api/models/commercesubscriptionitem_2.py: + id: 98196fbaacf7 + last_write_checksum: sha1:4c8ba4cfc896d82e828b055ca670a900b36e4146 + pristine_git_object: 709a97cf528baeee4ab095d08073a3e5af6b4597 src/clerk_backend_api/models/commercesubscriptionnextpayment.py: id: 3f0bb47b0862 - last_write_checksum: sha1:98bc7abb2fe94d2f4e9d00d1ef278a8ff81ca8ce - pristine_git_object: 34be14bc6d2c47f5d65a0ecc06c8097c1418ac20 + last_write_checksum: sha1:9622859861ba47875514b1c8184f937c291a0fb1 + pristine_git_object: 38140f0c390cce76eccc9cf4fd6900723d0ee9c0 src/clerk_backend_api/models/cookies.py: id: d52c35c2a6fb last_write_checksum: sha1:557c1d459bad57a064b2024340bf6cc4a7cdc56e @@ -4138,8 +4226,8 @@ trackedFiles: pristine_git_object: ecde431dd1e9d5ea8585905d15d8f8b8fe1704f2 src/clerk_backend_api/models/createorganizationdomainop.py: id: 5a6ae0dba9f8 - last_write_checksum: sha1:1788fded50a6c2ba3d715e6a5fcfd740ba49a039 - pristine_git_object: 572415433882a5e6f3b5518d455f92b5a23e4c5c + last_write_checksum: sha1:6602bd3044b0881b0d0ed73f4a421cb3317c89d0 + pristine_git_object: dc20a32dc14dac66c93fd61095b680a69b2722c7 src/clerk_backend_api/models/createorganizationinvitationbulkop.py: id: ac16d568c0ae last_write_checksum: sha1:e1759e1e36086a018500b46287897415c78b38b2 @@ -4180,6 +4268,14 @@ trackedFiles: id: 5e58a895eb84 last_write_checksum: sha1:102272bee67d16d14ad8822eb0b4cbd84a1755c7 pristine_git_object: 572986ad6e9cb65a7d1094802b911f9378765408 + src/clerk_backend_api/models/createscimdirectoryop.py: + id: 55fa69acf119 + last_write_checksum: sha1:32dd8b65c3abcfac84007c88f3beadbfb373055b + pristine_git_object: 1aaba828e3cb37c2cffc376ba84b9d15a037e2a4 + src/clerk_backend_api/models/createscimgrouprolemappingop.py: + id: e470cf129592 + last_write_checksum: sha1:1ace8b809a6972819caddfa7b56461b53c6cba4b + pristine_git_object: e09fd3cdce31a2504ce127667bd4ed60fb02a3ab src/clerk_backend_api/models/createsessionop.py: id: 0e1e77977e4a last_write_checksum: sha1:15a73bd220b8bc790cc8c07ac2e05fbeaade792b @@ -4292,6 +4388,14 @@ trackedFiles: id: eabd99c7dbdc last_write_checksum: sha1:6e128845d83014cc536b66071e5adbcb02ce6f11 pristine_git_object: 3e5cfb25e270dde4e82a59ac4f98b8abfd6de94c + src/clerk_backend_api/models/deletescimdirectoryop.py: + id: b0d258e43d41 + last_write_checksum: sha1:ff4f7b1cd2b3cdd4f218b3e08fe51e8801df498d + pristine_git_object: cf4ffa57507f711da9773e18d78e0b58c5b03ba6 + src/clerk_backend_api/models/deletescimgrouprolemappingop.py: + id: a5e9eacfff37 + last_write_checksum: sha1:4b3c7c448af660ba5b9588797da4ce98a359d98c + pristine_git_object: e36932acfe7b2bf5858d53b35f38a6e737ed2e4a src/clerk_backend_api/models/deletetotpop.py: id: 92ed611f8ded last_write_checksum: sha1:05159ad49569dd49890168766e34f1cb81c96008 @@ -4322,12 +4426,12 @@ trackedFiles: pristine_git_object: 7c2cb9ffb835a0b7605b399091244417ff938c8f src/clerk_backend_api/models/emailaddress.py: id: 29df9abd37d1 - last_write_checksum: sha1:4fa3ee7ebb012ed3e62de05f89464c5692c4e52e - pristine_git_object: 7aba58d2afa59c55f14ef6c02d8ffbb28fab9b8f + last_write_checksum: sha1:be2e95d56b87a1bebc8957f198761cfb8b60ad81 + pristine_git_object: a407db7d9de6a923616ab2181ed37dd3190ab906 src/clerk_backend_api/models/enterpriseaccount.py: id: 76fc27f00649 - last_write_checksum: sha1:d070cdc2af8be851fbc1222dad8d7121a5977eee - pristine_git_object: 5e04264834b607fb0ec750249f89ed47569ae099 + last_write_checksum: sha1:774ac484333a64d53d709a12237e70cf8da7c5f1 + pristine_git_object: 00702cd8522c7a0f563b84a6eb863745598636bf src/clerk_backend_api/models/enterpriseconnection.py: id: 0045faf0e373 last_write_checksum: sha1:90ee1126d9c5ce1a1b7236987d27723ae761639d @@ -4358,12 +4462,16 @@ trackedFiles: pristine_git_object: e2bb51e244cd1a26f729b8224cdcd11164a507d1 src/clerk_backend_api/models/externalaccountwithverification.py: id: 79931be73b92 - last_write_checksum: sha1:81e528412f5cf8aeb2982c30cfd35fb0c1fcef24 - pristine_git_object: 59d85ad70e4a3ec035cae960d6f44dd50eeeaa40 + last_write_checksum: sha1:6b5d18eb13e76e434690d30ecd2fff6cf0294fb6 + pristine_git_object: 87be398e900d2cee0c88b622ac0f8b910297907c src/clerk_backend_api/models/featureresponse.py: id: 40a15826a18c last_write_checksum: sha1:84f8316b07acef97d9fd656c26de1f8412a1db1a pristine_git_object: 4e3156b2accb87165022bfda272b213d49b5d5e3 + src/clerk_backend_api/models/featureresponse_2.py: + id: "697347731351" + last_write_checksum: sha1:52f8389e216eb5e6cdbcf6497a41de73b30540b0 + pristine_git_object: d547a106120646ad77d47cb5aff07f0e15129fd5 src/clerk_backend_api/models/getapikeyop.py: id: f596ae838d7a last_write_checksum: sha1:9876d31b54606baad87bf445e4cc3a4fa57b61ae @@ -4484,6 +4592,10 @@ trackedFiles: id: 19fba59390ff last_write_checksum: sha1:b7ce708cf204e93bb53ff7a215c03e305ebb588f pristine_git_object: 6453dd527a582d4511dac931af76cae1ceb52b83 + src/clerk_backend_api/models/getscimdirectoryop.py: + id: c23b659c36cc + last_write_checksum: sha1:f3c4f551697a596ba03773e9cb46a7cfead36389 + pristine_git_object: a0ffd4b40670772819bb7100fc31f29901d6665a src/clerk_backend_api/models/getsessionlistop.py: id: a8e161eebd23 last_write_checksum: sha1:6e713f4c224f8cc57888f63311eff9000063c44d @@ -4574,8 +4686,8 @@ trackedFiles: pristine_git_object: 2e30edd845289e450f5278f71491b5a890080aa1 src/clerk_backend_api/models/listallorganizationdomainsop.py: id: "199866500078" - last_write_checksum: sha1:ede3d4d15511cc99414da5bbe6e0bf226ad380ff - pristine_git_object: 8b28daa990d6b1eab9b48ab15be290ab61b8a0a6 + last_write_checksum: sha1:64b78d30b3d3c7587bd04c5f945f009144ee3348 + pristine_git_object: 4defa044911200a077cbff300e579c12774632d1 src/clerk_backend_api/models/listallowlistidentifiersop.py: id: 44ca21651421 last_write_checksum: sha1:4cec79f95de73339984720d7dbbd2e8016dfbfff @@ -4610,8 +4722,8 @@ trackedFiles: pristine_git_object: 2e0a53d0dbba346dbe198c3b62aa991229ebcfef src/clerk_backend_api/models/listorganizationdomainsop.py: id: 189f8d296b8c - last_write_checksum: sha1:1a2610c7ef181dbd2d673fb2a8c2bd71851f9e94 - pristine_git_object: 620c8bf3d0716a45e4887fbb8f97532691467d3a + last_write_checksum: sha1:17e5d7fbf18d48b0129718ce726d51e933c4f941 + pristine_git_object: 6c47e453405fe2f2c515cfaa6de9c0643df03971 src/clerk_backend_api/models/listorganizationinvitationsop.py: id: d7dfd455485d last_write_checksum: sha1:0deaf695f830146f0d7cfc89aa75be7a9b000a61 @@ -4648,6 +4760,14 @@ trackedFiles: id: cb529afb3c4e last_write_checksum: sha1:e0e63681c3309a1ad0283f93e7aa595d6d56d207 pristine_git_object: 4fc21d3233a14d475ea6ed136ad8aff7fba1f9ed + src/clerk_backend_api/models/listscimdirectoriesop.py: + id: bfb4227fb88a + last_write_checksum: sha1:e81b4ccf1f434ca3d0cc24733419e4d1b0671d64 + pristine_git_object: b244e4a46e46ea2e744b7f803cb87f75f2e6d0d1 + src/clerk_backend_api/models/listscimgrouprolemappingsop.py: + id: 1eecabe487de + last_write_checksum: sha1:9280acd68510b40e237973338658f1480aff4088 + pristine_git_object: 333ad3830dc7c02ce18ab12cc4036caae63deade src/clerk_backend_api/models/listwaitlistentriesop.py: id: a84012b7b658 last_write_checksum: sha1:ae38d0632c64165c40b964e5bb40dc36995ed1ba @@ -4722,8 +4842,8 @@ trackedFiles: pristine_git_object: e14ddfc94b626a51175a05dfa9cde4d473ff185d src/clerk_backend_api/models/organizationdomain.py: id: 627b7a1a5e5a - last_write_checksum: sha1:712e4e0c2b711111a51a301a6ccd97575646e900 - pristine_git_object: c15741b2fecd97882cc7d9f1b116c8f4e3907860 + last_write_checksum: sha1:2271e3ee265687becf215a4cb38bb10c90e610f6 + pristine_git_object: 4cff8405ecf907aaab9476a0e2f1d4268dacafe5 src/clerk_backend_api/models/organizationdomains.py: id: 7bd99087d029 last_write_checksum: sha1:d3fed2db47a386709a3f89e37707a5ece87fe3d6 @@ -4860,6 +4980,10 @@ trackedFiles: id: 8172861fba24 last_write_checksum: sha1:8277507f3c190daf25761f8b4db0fe4e455f61b8 pristine_git_object: 8da7e8c425f63309be5014cbaacc5881560cb9c4 + src/clerk_backend_api/models/replacescimgrouprolemappingsop.py: + id: 80d14eabebf0 + last_write_checksum: sha1:da299f9dc75f3ce954579d59d37df159f43ab8d2 + pristine_git_object: 391d820d378010f94a0fd9613976001ae8d8325d src/clerk_backend_api/models/replaceuseremailaddressop.py: id: bf3fa5c775a0 last_write_checksum: sha1:db11916908546253fe17373746b6bbd6596838a0 @@ -4904,6 +5028,10 @@ trackedFiles: id: d9c1d604d521 last_write_checksum: sha1:094fcd51b02ce280744ea78f01032ba64f1a92d9 pristine_git_object: 28ac5ea7ec338fecb160561ca63ecf76ccf4d9a0 + src/clerk_backend_api/models/revokeoauthapplicationtokenop.py: + id: fe2484b16120 + last_write_checksum: sha1:a243fab005b8dad22970a0e0dda7d47714f8ca15 + pristine_git_object: 2bfdf3029dbb39009e8b2ef3246fab9137a217fa src/clerk_backend_api/models/revokeorganizationinvitationop.py: id: 55fa03fa4268 last_write_checksum: sha1:4361e449fc29121d49f493bfb0fc538a52618b34 @@ -4944,14 +5072,18 @@ trackedFiles: id: 09f01cf994df last_write_checksum: sha1:c99ec6606cd109025380fcc0c71f934ad471e3da pristine_git_object: 4c0586ea03498ce190ecc66ae7e25405f4878633 + src/clerk_backend_api/models/rotatescimdirectoryapikeyop.py: + id: eb7170135bf5 + last_write_checksum: sha1:127571ecebfe03b6aaceca26c5d8627a7e6d544f + pristine_git_object: df89bba469f8d6e5d7945db9a6091b468203cf28 src/clerk_backend_api/models/samlaccount.py: id: 49087d16fc62 - last_write_checksum: sha1:649734376b16cba21e19f9443e7e53d5a84eecf9 - pristine_git_object: 0be7a6feab6e8c7dcb3b02af19b308c1296b4df1 + last_write_checksum: sha1:da0fbcac07fea799716c928c3fe0e2433cec706a + pristine_git_object: 0e3b6c5c5d9fa6f47147194c8953f44e35d5dc5d src/clerk_backend_api/models/samlconnection.py: id: a329c81c42f3 - last_write_checksum: sha1:75af7cff9d93e6a3da5b8bd8e7fe9bfd03b768dd - pristine_git_object: e903156425c1248eec98f5759acc7bb7d0094550 + last_write_checksum: sha1:2f270154bc5ebccf2fc0377273bba0291cd0ae10 + pristine_git_object: 82f27f22baa81a3b5d4949bdde7ed7e0c24dc04c src/clerk_backend_api/models/samlconnectionattributemapping.py: id: dd9563c2bade last_write_checksum: sha1:d15a2875f032ec073d28ec1b98820799a8266cf1 @@ -4960,26 +5092,26 @@ trackedFiles: id: 327b5218696a last_write_checksum: sha1:72b1780d69ae2bf476e2e0a8554857665633e687 pristine_git_object: 76c451540cf95778c574d0dbd574aa36a77351e8 - src/clerk_backend_api/models/schemas_commerceperunittotal.py: - id: aed2149c3c67 - last_write_checksum: sha1:161e9443c1710082548e68308581e8a1522b75b5 - pristine_git_object: 0d05388aff487dd76050ac9ab554a87ae39cc06b - src/clerk_backend_api/models/schemas_commerceperunittotaltier.py: - id: 3e02c20b678c - last_write_checksum: sha1:77d05b21bcfc43788754d428158062ce64568144 - pristine_git_object: a0cb1ebefd8d470f0de1c2dcc19f8c309ea704b4 - src/clerk_backend_api/models/schemas_commerceplan.py: - id: 67304214fcb9 - last_write_checksum: sha1:44cc5a610302581b40d71060adc3c02da7fe8a4f - pristine_git_object: 40f92d2d4b288e49485d0bfa66309de3680c3f69 - src/clerk_backend_api/models/schemas_commercesubscriptionitem.py: - id: 3913a47cc4e2 - last_write_checksum: sha1:ac259bf8c92cc6356d309529a781b17d30a7ed4d - pristine_git_object: 83d1ad9eb07fee626ffb8fc803be14d87d120e2f - src/clerk_backend_api/models/schemas_featureresponse.py: - id: 6defa699c0c2 - last_write_checksum: sha1:8b7e9a93a74d40a89005b77bceced6c95575cc8e - pristine_git_object: badd84478b828f4ea140fb3c8805247992af0557 + src/clerk_backend_api/models/scimdirectory.py: + id: 0750140187b7 + last_write_checksum: sha1:ffc29dc9c7bf94a98a6959c558f20b2ea10dd4a9 + pristine_git_object: c029e660138f7024f11f76ee84113d039d570c85 + src/clerk_backend_api/models/scimdirectory_list.py: + id: c0f465b4ae66 + last_write_checksum: sha1:0f135de8159144a0c07c410f45156d3f4c39f459 + pristine_git_object: 93dd60311ff754fa62fd1653f4ae17e11abed9f5 + src/clerk_backend_api/models/scimgrouprolemapping.py: + id: e6a2bae1dae9 + last_write_checksum: sha1:2a76776e3cc9b2897bf90a201f8856af6f890fe1 + pristine_git_object: 3093d43d452731db71e106c9927bb26128dd5132 + src/clerk_backend_api/models/scimgrouprolemapping_deleted.py: + id: 4ad1122104b9 + last_write_checksum: sha1:8f04a624e0bba1ba129af36ef03d18d8add90670 + pristine_git_object: 7280f392b633c26c87c210269fa13933e09db102 + src/clerk_backend_api/models/scimgrouprolemapping_list.py: + id: ee90529e4a94 + last_write_checksum: sha1:263b50e064966eb72678881fedab06fc39fb209c + pristine_git_object: ce995df20d0cda6676e24ebb61919a28a6e4e0a4 src/clerk_backend_api/models/sdkerror.py: id: b9a19e5580e3 last_write_checksum: sha1:5e2c978b6a359bdc765a5e52987604be9ac3dba3 @@ -5122,8 +5254,8 @@ trackedFiles: pristine_git_object: 4775edcdb8659a808f1f54bd1bd334c91eb7b195 src/clerk_backend_api/models/updateorganizationdomainop.py: id: f821cc2481cf - last_write_checksum: sha1:9597106f1033c03c83275e126e503d23521c1dda - pristine_git_object: 44b6a62a8d7206bb5e4795b106e2fc9f2f5f0cc2 + last_write_checksum: sha1:e8c1412653b2a51c4b222d3f3b801d1853c3574c + pristine_git_object: ad024fca04a145efbfd3466405434b3d6b846689 src/clerk_backend_api/models/updateorganizationmembershipmetadataop.py: id: 20595ae3f1a1 last_write_checksum: sha1:4d24811a2c48d34e2ec392b97ab6bbd24f89a32d @@ -5160,6 +5292,10 @@ trackedFiles: id: 144ab8498bec last_write_checksum: sha1:6aa32f9f7af47014131b56b6cfe8964f3d72becb pristine_git_object: f4beef01f05b8f588a3bbf7b523f9966b6f6a42a + src/clerk_backend_api/models/updatescimdirectoryop.py: + id: 45b6800f31ca + last_write_checksum: sha1:4404b9331e7555e68e216266403b8870bb59c8f4 + pristine_git_object: e6dbae1106d15c33f408055150c8bd0489709343 src/clerk_backend_api/models/updatesignupop.py: id: 8d2a3b3dc83c last_write_checksum: sha1:3ada82503b73a33b5d385e67a4f450668e4180d5 @@ -5258,88 +5394,92 @@ trackedFiles: pristine_git_object: 28972a08dd9fa95bb8ecdc79b6477c75e6780f60 src/clerk_backend_api/oauthaccesstokens.py: id: 93363bda547c - last_write_checksum: sha1:1dbeec52bee0397dceca245fc2a188f4aea23ed5 - pristine_git_object: be79daf3d07753ca39fcbf06365d94dc8206e196 + last_write_checksum: sha1:0106268acab5fc88ef3ad75c55f9fa191207bbc0 + pristine_git_object: 8a1645cbb854bc36196ddab791ad4d05fe4bd431 src/clerk_backend_api/oauthapplications_sdk.py: id: ba92518ed381 - last_write_checksum: sha1:35097091715661e542f7b95217a96a8a015c70d9 - pristine_git_object: e7d771e5125e97be4c1cd97fe9a773228eb34f97 + last_write_checksum: sha1:4b23019b3d646a798e777d998763b47b26efc2c7 + pristine_git_object: 769ec712a1d5556746b8b2ec903b3c1c36d47998 src/clerk_backend_api/organizationdomains_sdk.py: id: b3594639c697 - last_write_checksum: sha1:cb51ee7adbebea52d1496b3b8fb8f0b087437a29 - pristine_git_object: 44cb4e8188b2050a69254b88a0f4c1e2b350b8e0 + last_write_checksum: sha1:79a6ae1eea25537fd8896f6db4e5955b5d34cd4c + pristine_git_object: 1858ccf63cd5550dbf7fc72aade18f5af4f78b46 src/clerk_backend_api/organizationinvitations_sdk.py: id: 4ff208f271e3 - last_write_checksum: sha1:54e25fabeae538101ca4cd03124862f698c4c502 - pristine_git_object: d5983fc489227419a8f6c09a0d2530f49d43648d + last_write_checksum: sha1:1e2fe3297d8d61513fde9c8d4572c8392de604d5 + pristine_git_object: 70b61befd4a163cdc8af833fb2f5e7e6c833b6ed src/clerk_backend_api/organizationmemberships_sdk.py: id: 1a0c6c4eb892 - last_write_checksum: sha1:a318cde3f4e79062a1aa6ceb63019efd1718d363 - pristine_git_object: 6c360f73ed5393ac6067d77f39b19e781aa05ce0 + last_write_checksum: sha1:df36574ec130840d777798108120d84de8014a13 + pristine_git_object: d96e5ece45ab8bf9f1261fde799713929717df0c src/clerk_backend_api/organizationpermissions.py: id: 0b1603b6125b - last_write_checksum: sha1:d10f78b63cfab6ec5d9fc989bc2c571d2a77684d - pristine_git_object: 0e1e5ac3df6a655efc9f4f747da98279e2cdb12d + last_write_checksum: sha1:f4a1449a711124811fa45dbc05ed4afc54f94e57 + pristine_git_object: d592287307fd8696395d6458de994074e3d95053 src/clerk_backend_api/organizationroles.py: id: 83788adeb3fe - last_write_checksum: sha1:379ca3a50a38128496af9c01749ea58d530d711d - pristine_git_object: 32a5ce07e3453ccc34e4f6fc296befd650388ccf + last_write_checksum: sha1:364477478e6e7b7790691d222afb7aad20f0852d + pristine_git_object: 30345824bb452973ed170c26311d2f5f0e75eaef src/clerk_backend_api/organizations_sdk.py: id: bab9dfd5e53d - last_write_checksum: sha1:f9e2fb1112cea1d660ccc42bea332434bbed304c - pristine_git_object: 1af23df85638d4166429db210bf970a550ce753b + last_write_checksum: sha1:821f0cc2705cf60e9959a28c65eb7198155811a6 + pristine_git_object: 4d649ab115cb05dffc31904d3601ef0aa741a8f3 src/clerk_backend_api/phonenumbers.py: id: 33263264377c - last_write_checksum: sha1:857b36bd3859feb71e26874557cd56655227b9ad - pristine_git_object: fdd62b9a4b369df759c0d3a65b8439e54b6d6554 + last_write_checksum: sha1:ce9df133fec8b3da0c81668e59c25be529b2cd3a + pristine_git_object: a82679eaa462f918a11a46adbaee59920bc9423e src/clerk_backend_api/proxychecks.py: id: 0a9d0959b4f0 - last_write_checksum: sha1:2673303d4664de27166d5d808f9be1fa7818291f - pristine_git_object: b85f71c64147e757cfd223979118d8e58d467f4f + last_write_checksum: sha1:7b9bd7f3717c76c9f19687465348a9500d728887 + pristine_git_object: 6f5d3d7636374774b93cfd3d3b145c7fe53e3a89 src/clerk_backend_api/py.typed: id: a078ba3a1c15 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 src/clerk_backend_api/redirecturls.py: id: 35d58de70180 - last_write_checksum: sha1:3fd7707cf17db82378a7cbe296313813d443238c - pristine_git_object: ee180edfc046a1deaf20b173694963cc3ea7d3b6 + last_write_checksum: sha1:834fecf86d2f09311970afd183ba3e8fdb2269b9 + pristine_git_object: 48b52c9f23eea37b83d61ffb090982617057abd2 src/clerk_backend_api/rolesets_sdk.py: id: 2520b5ee1f4f - last_write_checksum: sha1:a92392e181b12ebe65a3bb13f38a63abe1bb07cc - pristine_git_object: 48cb0d45a688640c664c4ac5c37cc59c9538e798 + last_write_checksum: sha1:bc6eaf9e28f5f751db26383a4611d7c4cddcb592 + pristine_git_object: 9f353e2fe60f5119a9eb1fbc359818aa3760a213 src/clerk_backend_api/samlconnections_sdk.py: id: 2e33ed64f642 - last_write_checksum: sha1:01db8d57b3dd72ca5d6f0e5467186549de3d321f - pristine_git_object: 86fe5488178950a4a14ac90a4aafe9493a52e41b + last_write_checksum: sha1:5ec727a872dc91464ea393ecfc636d0fcd38b994 + pristine_git_object: a5d5262bf7d548f9253b140eb7dfde79c37f5d99 + src/clerk_backend_api/scimdirectories.py: + id: a7d83ea3ff0e + last_write_checksum: sha1:c4e1c672570d1960911cf802e2137293996d2656 + pristine_git_object: 220d002680b4a287aec2d81e1ee8025536161887 src/clerk_backend_api/sdk.py: id: a4df06d800b5 - last_write_checksum: sha1:7b72f975db71091c30ed472f8937e66fcc9842bb - pristine_git_object: 471a588aec820c4718aea616f40d9895c29185cf + last_write_checksum: sha1:4c9cf4102249d89fb1f289084ada46b259cf779d + pristine_git_object: 3ec0474bf05d64137d173cda543dc4ebe4bd4239 src/clerk_backend_api/sdkconfiguration.py: id: 7e4c691f3b9b last_write_checksum: sha1:da2b3b79da1f6d4669245a6bdd11b20657da25da pristine_git_object: 0ec9fe26aaf37bdd2aceaebf9f0c6fb69f10ecc0 src/clerk_backend_api/sessions.py: id: 170442df3cba - last_write_checksum: sha1:9464d07e8fae0c238f245627a2505d7984caed51 - pristine_git_object: ae34908d0e6385193966731ace24760bbc6a55e1 + last_write_checksum: sha1:f05a08cd09d85f68252ce06c358eabee9d4f54da + pristine_git_object: d55dbd02fe15cfee3576ee43a2f2ebec2b520657 src/clerk_backend_api/signintokens.py: id: 00da479d394d - last_write_checksum: sha1:24db1bc53a9d38000b849c6191d63fa1f4bf0b27 - pristine_git_object: 08ccafc4fc51af9f4bf8db618bd7c9adc2401aaf + last_write_checksum: sha1:01cc8ebf976718dcdd969f83a9149220ed05aab8 + pristine_git_object: 87bbb7dc9a6ece0fa3d6e5feb7f9cb004d60511a src/clerk_backend_api/signups.py: id: 176d14afb5a5 - last_write_checksum: sha1:682edb28ce0b6104a07f7e09858b63ae9b5b79e8 - pristine_git_object: b949e371744415b965f62caa046157a010e45f85 + last_write_checksum: sha1:6c4b50651ca66d2ae8cd4bc9ca5cb7de8e86254e + pristine_git_object: a7675ca7924351a7386bc198efdc8e8b908fac47 src/clerk_backend_api/templates.py: id: 1367f8f507cd - last_write_checksum: sha1:62188470c38f8b5d39401365b41297d7dc9a30ce - pristine_git_object: fb2b39281dd23d17af6a450d3efdfe74fe1bda2a + last_write_checksum: sha1:3980f4c790f428a830e7d283c99d9a050c6e8886 + pristine_git_object: 63c3937c0fd5b41335600f14ea6815e2eab282c0 src/clerk_backend_api/testingtokens.py: id: d37c2648b890 - last_write_checksum: sha1:785e1f0d8c8809a15bc8275c351d4c6280930e73 - pristine_git_object: d31b43592c3d2d00b873466e96c40d9170cbfeaa + last_write_checksum: sha1:69fd7aca92f0122a2268d71a6905db4f7aeaed1e + pristine_git_object: a8450c26a8876a172c114c72a88920fd1dd20cd9 src/clerk_backend_api/types/__init__.py: id: ee16219cc9fa last_write_checksum: sha1:f9ad14217f832e74f594285960125add50324be9 @@ -5354,20 +5494,20 @@ trackedFiles: pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee src/clerk_backend_api/users.py: id: 6f835640685a - last_write_checksum: sha1:3d53e41d7e22785a86eba0faf6159e2e15eea89f - pristine_git_object: ba0c42298427e762fe1cfd71ec5ae4999ef9fa26 + last_write_checksum: sha1:b110623aa5fb34c890dcf6022b1b07a70085f6fb + pristine_git_object: 311d040ccb972efa8fcbbe305a01f4d5721d2d5f src/clerk_backend_api/utils/__init__.py: id: a8b67e49e50a - last_write_checksum: sha1:1970816f2234ecb8785798240b0edced961de971 - pristine_git_object: 0498cb8dabf249b39609f81fb10cddc30f1b78b5 + last_write_checksum: sha1:53c9544397bbc534c45a228feac3cdb2e9017fe6 + pristine_git_object: 7af3b82cf95edc2901bc85b2624c54f39b7f9724 src/clerk_backend_api/utils/annotations.py: id: aa59da404faf last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc pristine_git_object: 12e0aa4f1151bb52474cc02e88397329b90703f6 src/clerk_backend_api/utils/datetimes.py: id: cd8a1b6ff478 - last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341 - pristine_git_object: a6c52cd61bbe2d459046c940ce5e8c469f2f0664 + last_write_checksum: sha1:fa47d54c549ff9b95496ce91930fadfb04a36be9 + pristine_git_object: adad24762cf452d137abe94fda0fd26224cef593 src/clerk_backend_api/utils/dynamic_imports.py: id: 2c98dd34a9dd last_write_checksum: sha1:a1940c63feb8eddfd8026de53384baf5056d5dcc @@ -5406,8 +5546,8 @@ trackedFiles: pristine_git_object: 591415af8e64baa410627b507d2740afb5387d13 src/clerk_backend_api/utils/retries.py: id: c8a5b5c54d76 - last_write_checksum: sha1:471372f5c5d1dd5583239c9cf3c75f1b636e5d87 - pristine_git_object: af07d4e941007af4213c5ec9047ef8a2fca04e5e + last_write_checksum: sha1:3585b891142f30a597fbf7a2f0340700babef8e4 + pristine_git_object: ca7b59efebbbd9545744d0207ef42725c4cc5143 src/clerk_backend_api/utils/security.py: id: ed2da5f2f80c last_write_checksum: sha1:c11eef495b6aaa249178c24c796940cc540b7a00 @@ -5430,12 +5570,12 @@ trackedFiles: pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3 src/clerk_backend_api/waitlistentries_sdk.py: id: 1499ce41c317 - last_write_checksum: sha1:4b93cd4ae378aea104033155b276ed3a0fd4c799 - pristine_git_object: b8863e6b6ccd021c9128456010d9138482a725e1 + last_write_checksum: sha1:6abe8b1d1bcdd8c3a47408c84eca8ea2e78dca3d + pristine_git_object: 98321bbdb8defbbd5a1a3534d330763128eeee05 src/clerk_backend_api/webhooks.py: id: 91e0631f0dfd - last_write_checksum: sha1:db56b729361e921570cd2d16ca33c24769a8cf2f - pristine_git_object: d5e258ef5dd19a866eb77ec53dabc5e07b58d0b5 + last_write_checksum: sha1:8d938b5c08c47ce3280bf66007aa40fc845ca9f7 + pristine_git_object: e05b04c1a44f13c6ee29fe3301a09227356e3b8f examples: GetPublicInterstitial: speakeasy-default-get-public-interstitial: @@ -6936,7 +7076,7 @@ examples: organization_id: [""] responses: "200": - application/json: {"data": [{"object": "saml_connection", "id": "sc_1234567890", "name": "My Company SAML Config", "domain": "mycompany.com", "domains": ["", ""], "idp_entity_id": "idp-entity-id", "idp_sso_url": "https://sso.mycompany.com", "idp_certificate": "MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT...", "idp_metadata_url": "https://sso.mycompany.com/metadata", "idp_metadata": "", "attribute_mapping": {"user_id": "", "email_address": "Lexi88@hotmail.com", "first_name": "Tatyana", "last_name": "Graham"}, "active": true, "provider": "saml_custom", "user_count": 150, "sync_user_attributes": true, "allow_subdomains": false, "allow_idp_initiated": true, "disable_additional_identifications": true, "allow_organization_account_linking": false, "force_authn": false, "enterprise_connection_id": null, "created_at": 1614768000, "updated_at": 1622540800}, {"object": "saml_connection", "id": "sc_1234567890", "name": "My Company SAML Config", "domains": ["", ""], "idp_entity_id": "idp-entity-id", "idp_sso_url": "https://sso.mycompany.com", "idp_certificate": "MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT...", "idp_metadata_url": "https://sso.mycompany.com/metadata", "idp_metadata": "", "attribute_mapping": {"user_id": "", "email_address": "Lexi88@hotmail.com", "first_name": "Tatyana", "last_name": "Graham"}, "active": true, "provider": "saml_custom", "user_count": 150, "sync_user_attributes": true, "allow_subdomains": false, "allow_idp_initiated": true, "disable_additional_identifications": false, "allow_organization_account_linking": true, "force_authn": false, "enterprise_connection_id": "", "created_at": 1614768000, "updated_at": 1622540800}], "total_count": 5} + application/json: {"data": [{"object": "saml_connection", "id": "sc_1234567890", "name": "My Company SAML Config", "domain": "mycompany.com", "domains": ["", ""], "idp_entity_id": "idp-entity-id", "idp_sso_url": "https://sso.mycompany.com", "idp_certificate": "MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT...", "idp_certificate_issued_at": 945048, "idp_certificate_expires_at": 372766, "idp_metadata_url": "https://sso.mycompany.com/metadata", "idp_metadata": "", "attribute_mapping": {"user_id": "", "email_address": "Shania19@yahoo.com", "first_name": "Jimmy", "last_name": "O'Kon"}, "active": true, "provider": "saml_custom", "user_count": 150, "sync_user_attributes": true, "allow_subdomains": false, "allow_idp_initiated": true, "disable_additional_identifications": false, "allow_organization_account_linking": false, "force_authn": false, "enterprise_connection_id": "", "created_at": 1614768000, "updated_at": 1622540800}, {"object": "saml_connection", "id": "sc_1234567890", "name": "My Company SAML Config", "domains": [""], "idp_entity_id": "idp-entity-id", "idp_sso_url": "https://sso.mycompany.com", "idp_certificate": "MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT...", "idp_certificate_issued_at": 638617, "idp_certificate_expires_at": 587224, "idp_metadata_url": "https://sso.mycompany.com/metadata", "idp_metadata": "", "attribute_mapping": {"user_id": "", "email_address": "Shania19@yahoo.com", "first_name": "Jimmy", "last_name": "O'Kon"}, "active": true, "provider": "saml_custom", "user_count": 150, "sync_user_attributes": true, "allow_subdomains": false, "allow_idp_initiated": true, "disable_additional_identifications": false, "allow_organization_account_linking": true, "force_authn": true, "enterprise_connection_id": "", "created_at": 1614768000, "updated_at": 1622540800}], "total_count": 5} "402": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} CreateSAMLConnection: @@ -6945,7 +7085,7 @@ examples: application/json: {"name": "My SAML Connection", "domain": "example.org", "domains": ["", "", ""], "provider": "saml_custom", "idp_entity_id": "http://idp.example.org/", "idp_sso_url": "http://idp.example.org/sso", "idp_certificate": "MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT...", "idp_metadata_url": "http://idp.example.org/metadata.xml", "idp_metadata": "", "attribute_mapping": {"user_id": "nameid", "email_address": "mail", "first_name": "givenName", "last_name": "surname"}, "force_authn": false} responses: "200": - application/json: {"object": "saml_connection", "id": "", "name": "", "domains": ["", ""], "idp_entity_id": "", "idp_sso_url": "https://burly-sport.info", "idp_certificate": "", "idp_metadata_url": "https://sizzling-alert.info", "idp_metadata": "", "acs_url": "https://imaginative-summary.name", "sp_entity_id": "", "sp_metadata_url": "https://well-documented-castanet.name", "organization_id": null, "attribute_mapping": {"user_id": "", "email_address": "Armando_Fahey@yahoo.com", "first_name": "Tristin", "last_name": "Altenwerth"}, "active": true, "provider": "", "user_count": 945000, "sync_user_attributes": false, "allow_subdomains": false, "allow_idp_initiated": false, "disable_additional_identifications": false, "allow_organization_account_linking": false, "force_authn": true, "enterprise_connection_id": "", "created_at": 78753, "updated_at": 507469} + application/json: {"object": "saml_connection", "id": "", "name": "", "domains": ["", ""], "idp_entity_id": "", "idp_sso_url": "https://burly-sport.info", "idp_certificate": "", "idp_certificate_issued_at": 316399, "idp_certificate_expires_at": 117921, "idp_metadata_url": "https://sizzling-alert.info", "idp_metadata": "", "acs_url": "https://imaginative-summary.name", "sp_entity_id": "", "sp_metadata_url": "https://well-documented-castanet.name", "organization_id": null, "attribute_mapping": {"user_id": "", "email_address": "Armando_Fahey@yahoo.com", "first_name": "Tristin", "last_name": "Altenwerth"}, "active": true, "provider": "", "user_count": 945000, "sync_user_attributes": false, "allow_subdomains": false, "allow_idp_initiated": false, "disable_additional_identifications": false, "allow_organization_account_linking": false, "force_authn": true, "enterprise_connection_id": "", "created_at": 78753, "updated_at": 507469} "402": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} GetSAMLConnection: @@ -6955,7 +7095,7 @@ examples: saml_connection_id: "saml_conn_123" responses: "200": - application/json: {"object": "saml_connection", "id": "", "name": "", "domain": "blushing-hawk.biz", "domains": [""], "idp_entity_id": "", "idp_sso_url": "https://dazzling-numeric.biz/", "idp_certificate": "", "idp_metadata_url": "https://indelible-meatloaf.biz/", "idp_metadata": "", "acs_url": "https://sandy-range.name", "sp_entity_id": "", "sp_metadata_url": "https://elliptical-testimonial.biz", "organization_id": "", "attribute_mapping": {"user_id": "", "email_address": "Breanne_Barton@gmail.com", "first_name": "Chelsie", "last_name": "Farrell"}, "active": true, "provider": "", "user_count": 957137, "sync_user_attributes": false, "allow_subdomains": true, "allow_idp_initiated": true, "disable_additional_identifications": true, "allow_organization_account_linking": true, "force_authn": true, "enterprise_connection_id": null, "created_at": 104329, "updated_at": 879127} + application/json: {"object": "saml_connection", "id": "", "name": "", "domain": "blushing-hawk.biz", "domains": [""], "idp_entity_id": "", "idp_sso_url": "https://dazzling-numeric.biz/", "idp_certificate": "", "idp_certificate_issued_at": 220400, "idp_certificate_expires_at": 301496, "idp_metadata_url": "https://indelible-meatloaf.biz/", "idp_metadata": "", "acs_url": "https://sandy-range.name", "sp_entity_id": "", "sp_metadata_url": "https://elliptical-testimonial.biz", "organization_id": "", "attribute_mapping": {"user_id": "", "email_address": "Breanne_Barton@gmail.com", "first_name": "Chelsie", "last_name": "Farrell"}, "active": true, "provider": "", "user_count": 957137, "sync_user_attributes": false, "allow_subdomains": true, "allow_idp_initiated": true, "disable_additional_identifications": true, "allow_organization_account_linking": true, "force_authn": true, "enterprise_connection_id": null, "created_at": 104329, "updated_at": 879127} "402": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} UpdateSAMLConnection: @@ -6967,7 +7107,7 @@ examples: application/json: {"name": "Example SAML Connection", "domains": ["", "", ""], "idp_entity_id": "entity_123", "idp_sso_url": "https://idp.example.com/sso", "idp_certificate": "MIIDBTCCAe2gAwIBAgIQ...", "idp_metadata_url": "https://idp.example.com/metadata", "idp_metadata": "...", "organization_id": "", "attribute_mapping": {"user_id": "id123", "email_address": "user@example.com", "first_name": "Jane", "last_name": "Doe"}, "active": true, "sync_user_attributes": false, "allow_subdomains": true, "allow_idp_initiated": false, "disable_additional_identifications": false, "allow_organization_account_linking": false, "force_authn": true, "consent_verified_domains_deletion": false} responses: "200": - application/json: {"object": "saml_connection", "id": "", "name": "", "domains": ["", "", ""], "idp_entity_id": "", "idp_sso_url": "https://curly-help.info/", "idp_certificate": "", "idp_metadata_url": "https://formal-asset.biz", "idp_metadata": "", "acs_url": "https://insignificant-sock.com/", "sp_entity_id": "", "sp_metadata_url": "https://yellowish-countess.info", "organization_id": "", "attribute_mapping": {"user_id": "", "email_address": "Cristal_Schuppe11@hotmail.com", "first_name": "Kelton", "last_name": "Wehner"}, "active": false, "provider": "", "user_count": 260625, "sync_user_attributes": false, "allow_subdomains": true, "allow_idp_initiated": false, "disable_additional_identifications": true, "allow_organization_account_linking": false, "force_authn": false, "enterprise_connection_id": "", "created_at": 494539, "updated_at": 491967} + application/json: {"object": "saml_connection", "id": "", "name": "", "domain": "mycompany.com", "domains": ["", "", ""], "idp_entity_id": "", "idp_sso_url": "https://curly-help.info/", "idp_certificate": "", "idp_certificate_issued_at": 760462, "idp_certificate_expires_at": 468954, "idp_metadata_url": "https://formal-asset.biz", "idp_metadata": "", "acs_url": "https://insignificant-sock.com/", "sp_entity_id": "", "sp_metadata_url": "https://yellowish-countess.info", "organization_id": "", "attribute_mapping": {"user_id": "", "email_address": "Cristal_Schuppe11@hotmail.com", "first_name": "Kelton", "last_name": "Wehner"}, "active": false, "provider": "", "user_count": 260625, "sync_user_attributes": false, "allow_subdomains": true, "allow_idp_initiated": false, "disable_additional_identifications": true, "allow_organization_account_linking": false, "force_authn": false, "enterprise_connection_id": "", "created_at": 494539, "updated_at": 491967} "402": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} DeleteSAMLConnection: @@ -7898,7 +8038,7 @@ examples: application/json: {"amount": 562473, "action": "decrease", "currency": "New Israeli Sheqel", "idempotency_key": "", "note": ""} responses: "200": - application/json: {"object": "", "id": "", "payer_id": "", "amount": 222674, "currency": "Taka", "source_type": "", "source_id": "", "note": "", "created_at": "2025-01-09T02:47:24.664Z"} + application/json: {"object": "", "id": "", "payer_id": "", "amount": {"amount": 562473, "amount_formatted": "", "currency": "Lilangeni", "currency_symbol": "₪"}, "source_type": "", "source_id": "", "note": "", "created_at": "2025-01-09T02:47:24.664Z"} "400": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} "500": @@ -7938,7 +8078,7 @@ examples: application/json: {"amount": 245081, "action": "increase", "currency": "Seychelles Rupee", "idempotency_key": "", "note": ""} responses: "200": - application/json: {"object": "", "id": "", "payer_id": "", "amount": 339788, "currency": "Pula", "source_type": "", "source_id": "", "note": "", "created_at": "2026-12-21T09:35:45.893Z"} + application/json: {"object": "", "id": "", "payer_id": "", "amount": {"amount": 245081, "amount_formatted": "", "currency": "Pound Sterling", "currency_symbol": "₨"}, "source_type": "", "source_id": "", "note": "", "created_at": "2026-12-21T09:35:45.893Z"} "400": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} "500": @@ -8217,8 +8357,126 @@ examples: application/json: {"object": "organization", "id": "org_123", "name": "Acme Corp", "slug": "acme-corp", "image_url": "https://pleased-majority.biz", "has_image": true, "members_count": 150, "missing_member_with_elevated_permissions": false, "pending_invitations_count": 79800, "max_allowed_memberships": 300, "admin_delete_enabled": true, "public_metadata": {"public_info": "Info visible to everyone"}, "private_metadata": {"internal_use_only": "Sensitive data"}, "created_by": "user_123456", "created_at": 1625078400, "updated_at": 1625164800, "last_active_at": 695041, "role_set_key": ""} "400": application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + RevokeOAuthApplicationToken: + speakeasy-default-revoke-O-auth-application-token: + parameters: + path: + oauth_application_id: "" + requestBody: + application/json: {"token": ""} + responses: + "400": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + ListSCIMDirectories: + speakeasy-default-list-SCIM-directories: + parameters: + query: + limit: 20 + offset: 10 + responses: + "200": + application/json: {"data": [], "total_count": 918911} + "401": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + CreateSCIMDirectory: + speakeasy-default-create-SCIM-directory: + requestBody: + application/json: {"enterprise_connection_id": "", "name": "", "provider": "", "group_role_mappings": [{"scim_group_id": "", "scim_group_display_name": "", "role_id": "", "precedence": 919086}]} + responses: + "200": + application/json: {"object": "scim_directory", "id": "", "name": "", "enterprise_connection_id": "", "endpoint_url": "https://basic-kit.org/", "provider": "", "enabled": false, "group_role_mapping_enabled": false, "attribute_mapping": {}, "custom_attributes": [{"name": "", "key": "", "sso_path": "", "scim_path": "", "multi_valued": true}], "api_key": "", "created_at": 648930, "updated_at": 581893} + "400": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + GetSCIMDirectory: + speakeasy-default-get-SCIM-directory: + parameters: + path: + scim_directory_id: "" + responses: + "200": + application/json: {"object": "scim_directory", "id": "", "name": "", "enterprise_connection_id": "", "endpoint_url": "https://bogus-republican.net", "provider": "", "enabled": true, "group_role_mapping_enabled": false, "attribute_mapping": {"key": "", "key1": ""}, "custom_attributes": [{"name": "", "key": "", "sso_path": "", "scim_path": "", "multi_valued": false}], "api_key": "", "created_at": 850702, "updated_at": 369207} + "401": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + UpdateSCIMDirectory: + speakeasy-default-update-SCIM-directory: + parameters: + path: + scim_directory_id: "" + requestBody: + application/json: {"name": "", "enabled": false, "provider": "", "attribute_mapping": {"key": "", "key1": "", "key2": ""}, "group_role_mapping_enabled": true} + responses: + "200": + application/json: {"object": "scim_directory", "id": "", "name": "", "enterprise_connection_id": "", "endpoint_url": "https://different-defendant.info", "provider": "", "enabled": false, "group_role_mapping_enabled": false, "attribute_mapping": {"key": "", "key1": "", "key2": ""}, "custom_attributes": [{"name": "", "key": "", "sso_path": "", "scim_path": "", "multi_valued": false}], "api_key": "", "created_at": 291754, "updated_at": 731344} + "400": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + DeleteSCIMDirectory: + speakeasy-default-delete-SCIM-directory: + parameters: + path: + scim_directory_id: "" + responses: + "200": + application/json: {"object": "deleted_object", "id": "deleted_object_id_example", "slug": "deleted-object-slug", "deleted": true, "external_id": ""} + "401": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + RotateSCIMDirectoryAPIKey: + speakeasy-default-rotate-SCIM-directory-API-key: + parameters: + path: + scim_directory_id: "" + responses: + "200": + application/json: {"object": "scim_directory", "id": "", "name": "", "enterprise_connection_id": "", "endpoint_url": "https://profitable-knitting.org/", "provider": "", "enabled": true, "group_role_mapping_enabled": false, "attribute_mapping": {"key": "", "key1": "", "key2": ""}, "custom_attributes": [{"name": "", "key": "", "sso_path": "", "scim_path": "", "multi_valued": false}], "api_key": "", "created_at": 362606, "updated_at": 318452} + "401": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + ListSCIMGroupRoleMappings: + speakeasy-default-list-SCIM-group-role-mappings: + parameters: + path: + scim_directory_id: "" + responses: + "200": + application/json: {"data": [{"object": "scim_group_role_mapping", "id": "", "scim_directory_id": "", "scim_group_id": "", "scim_group_display_name": "", "role": {"object": "role", "id": "", "name": "", "key": "", "description": "wealthy whether an", "is_creator_eligible": false, "permissions": [{"object": "permission", "id": "", "name": "", "key": "", "description": "than definite faint opposite satisfy poetry", "type": "", "created_at": 639039, "updated_at": 305626}], "created_at": 421968, "updated_at": 503961}, "precedence": 81381, "created_at": 941376, "updated_at": 342874}], "total_count": 856874} + "401": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + CreateSCIMGroupRoleMapping: + speakeasy-default-create-SCIM-group-role-mapping: + parameters: + path: + scim_directory_id: "" + requestBody: + application/json: {"scim_group_id": "", "role_id": "", "precedence": 722732} + responses: + "200": + application/json: {"object": "scim_group_role_mapping", "id": "", "scim_directory_id": "", "scim_group_id": "", "scim_group_display_name": "", "role": {"object": "role", "id": "", "name": "", "key": "", "description": "uproot mythology swill normal finally odd chatter goat now", "is_creator_eligible": false, "permissions": [{"object": "permission", "id": "", "name": "", "key": "", "description": "officially posh testimonial justly", "type": "", "created_at": 6436, "updated_at": 334648}], "created_at": 987686, "updated_at": 197434}, "precedence": 189216, "created_at": 980350, "updated_at": 187657} + "400": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + ReplaceSCIMGroupRoleMappings: + speakeasy-default-replace-SCIM-group-role-mappings: + parameters: + path: + scim_directory_id: "" + requestBody: + application/json: {"mappings": []} + responses: + "200": + application/json: {"data": [], "total_count": 158568} + "400": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} + DeleteSCIMGroupRoleMapping: + speakeasy-default-delete-SCIM-group-role-mapping: + parameters: + path: + scim_directory_id: "" + mapping_id: "" + responses: + "200": + application/json: {"object": "scim_group_role_mapping", "id": "", "deleted": true} + "400": + application/json: {"errors": [{"message": "Invalid input", "long_message": "The input provided does not meet the requirements.", "code": "400_bad_request", "meta": {}}], "meta": {}} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: "## Python SDK Changes:\n* `clerk.webhooks.generate_svix_auth_url()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.jwt_templates.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.clients.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.create()`: \n * `response.verification` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.get()`: \n * `response.verification` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.replace_role()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.add_roles()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.replace()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.update()`: \n * `response.verification` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.prepare_verification()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.attempt_verification()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_addresses.replace_for_user()`: \n * `response.verification` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.prepare_verification()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.attempt_verification()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.phone_numbers.replace_for_user()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.refresh()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.revoke()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.create_token()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sessions.create_token_from_template()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_sms_templates.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_sms_templates.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_sms_templates.revert()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_sms_templates.toggle_template_delivery()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.email_and_sms_templates.upsert()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.templates.preview()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.list()`: \n * `response.[]` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.create()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.count()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.update()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.ban()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.unban()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.bulk_ban()`: \n * `response.[]` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.bulk_unban()`: \n * `response.[]` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.lock()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.unlock()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.set_profile_image()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete_profile_image()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.update_metadata()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.replace_metadata()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get_billing_subscription()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get_billing_credit_balance()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.adjust_billing_credit_balance()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get_o_auth_access_token()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get_organization_memberships()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get_organization_invitations()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.verify_password()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.verify_totp()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.disable_mfa()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete_backup_codes()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete_passkey()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete_web3wallet()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete_totp()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.delete_external_account()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.users.set_password_compromised()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.unset_password_compromised()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.users.get_instance_organization_memberships()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.invitations.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.invitations.bulk_create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.invitations.revoke()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.get_all()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.bulk_create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.list_pending()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_invitations.revoke()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.allowlist_identifiers.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.clients.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.allowlist_identifiers.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.blocklist_identifiers.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.blocklist_identifiers.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.blocklist_identifiers.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.beta_features.update_instance_settings()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.beta_features.update_production_instance_domain()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.actor_tokens.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.actor_tokens.revoke()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.domains.add()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.domains.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.domains.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.update_restrictions()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.update_communication()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.update_o_auth_application_settings()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.change_domain()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.get_organization_settings()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.update_organization_settings()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.instance_settings.update_instance_protect()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.webhooks.create_svix_app()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.webhooks.delete_svix_app()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.allowlist_identifiers.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.clients.verify()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.cancel_subscription_item()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.jwt_templates.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.jwt_templates.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.get_secret_key()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.rotate_secret_key()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.create_scope()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.machines.delete_scope()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.merge_metadata()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.replace_metadata()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.upload_logo()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.delete_logo()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.get_billing_subscription()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.get_billing_credit_balance()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organizations.adjust_billing_credit_balance()`: \n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.assign_permission()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_roles.remove_permission()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_memberships.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_memberships.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_memberships.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_memberships.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_memberships.update_metadata()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_domains.create()`: \n * `response.enrollment_mode.enum(enterprise_sso)` **Added** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_domains.list()`: \n * `response.data[].enrollment_mode.enum(enterprise_sso)` **Added** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_domains.update()`: \n * `response.enrollment_mode.enum(enterprise_sso)` **Added** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_domains.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_domains.verify_ownership()`: \n * `response.enrollment_mode.enum(enterprise_sso)` **Added** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_domains.list_all()`: \n * `request.enrollment_mode` **Changed**\n * `response.data[].enrollment_mode.enum(enterprise_sso)` **Added** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.proxy_checks.verify()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.redirect_urls.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.redirect_urls.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.redirect_urls.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sign_in_tokens.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sign_in_tokens.revoke()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sign_ups.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.sign_ups.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.upload_logo()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.oauth_applications.rotate_secret()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.saml_connections.list()`: \n * `response.data[]` **Changed**\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.saml_connections.create()`: \n * `response` **Changed**\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.saml_connections.get()`: \n * `response` **Changed**\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.saml_connections.update()`: \n * `response` **Changed**\n * `error` **Changed** (Breaking ⚠️)\n* `clerk.saml_connections.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.list_test_runs()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.enterprise_connections.create_test_run()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.agent_tasks.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.agent_tasks.revoke()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.waitlist_entries.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.waitlist_entries.bulk_create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.waitlist_entries.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.waitlist_entries.invite()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.waitlist_entries.reject()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.list_plans()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.list_prices()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.create_price()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.list_subscription_items()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.jwt_templates.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.extend_subscription_item_free_trial()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.create_price_transition()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.list_statements()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.get_statement()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.billing.get_statement_payment_attempts()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_permissions.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_permissions.create()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_permissions.get()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_permissions.update()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.organization_permissions.delete()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.role_sets.list()`: `error` **Changed** (Breaking ⚠️)\n* `clerk.scim_directories.delete()`: **Added**\n* `clerk.scim_directories.update()`: **Added**\n* `clerk.scim_directories.get()`: **Added**\n* `clerk.scim_directories.create()`: **Added**\n* `clerk.scim_directories.list()`: **Added**\n* `clerk.oauth_applications.revoke_token()`: **Added**\n* `clerk.scim_directories.rotate_api_key()`: **Added**\n* `clerk.scim_directories.list_group_role_mappings()`: **Added**\n* `clerk.scim_directories.create_group_role_mapping()`: **Added**\n* `clerk.scim_directories.replace_group_role_mappings()`: **Added**\n* `clerk.scim_directories.delete_group_role_mapping()`: **Added**\n" generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 18e7eeb5..6a3f7c0b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 6.0.1 + version: 6.1.0 additionalDependencies: dev: pytest: ^8.3.3 @@ -49,8 +49,10 @@ python: constFieldCasing: upper defaultErrorName: SDKError description: Python Client SDK for clerk.dev + durationFormat: false enableCustomCodeRegions: true enumFormat: enum + errorSchemaValidation: true eventStreamClassNames: async: EventStreamAsync sync: EventStream @@ -91,6 +93,8 @@ python: pytestTimeout: 0 rawResponseHelpers: false responseFormat: flat + responseSchemaValidation: true sseFlatResponse: false templateVersion: v2 useAsyncHooks: false + uuidFormat: false diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 070660d1..f5926583 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.778.0 +speakeasyVersion: 1.790.0 sources: clerk-openapi: sourceNamespace: clerk-openapi - sourceRevisionDigest: sha256:96ac7c88f394e98ad840bc4562cb364f44f676023ec99e935d58a22f0d35319c - sourceBlobDigest: sha256:9ec12f08a39e514255abb67095affd7effd32d748bedaf3ead0889d3d1f0de11 + sourceRevisionDigest: sha256:8a342c5ca190838f47b12fe5616692ff57da42747da17e07e25e372209bf09f1 + sourceBlobDigest: sha256:b1fbe74950c5389d06c0769bc0792a095847ab634ee9f3146d80a4187fd4fb21 tags: - latest - "2026-05-12" @@ -11,10 +11,10 @@ targets: clerk-sdk-python: source: clerk-openapi sourceNamespace: clerk-openapi - sourceRevisionDigest: sha256:96ac7c88f394e98ad840bc4562cb364f44f676023ec99e935d58a22f0d35319c - sourceBlobDigest: sha256:9ec12f08a39e514255abb67095affd7effd32d748bedaf3ead0889d3d1f0de11 + sourceRevisionDigest: sha256:8a342c5ca190838f47b12fe5616692ff57da42747da17e07e25e372209bf09f1 + sourceBlobDigest: sha256:b1fbe74950c5389d06c0769bc0792a095847ab634ee9f3146d80a4187fd4fb21 codeSamplesNamespace: clerk-openapi-python-code-samples - codeSamplesRevisionDigest: sha256:ba8996a51d6bb120fde5168fc9c1039ef6515ce2fa82fff28e1b1ba7ecfa29dc + codeSamplesRevisionDigest: sha256:7847df4f07d0145d7d8080fe2add57690f7cb56c10cfd08eb7ffc78e1cad5583 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README-PYPI.md b/README-PYPI.md index f7fdb429..9470330e 100644 --- a/README-PYPI.md +++ b/README-PYPI.md @@ -420,6 +420,7 @@ def verify_machine_token(request: httpx.Request): * [delete](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/oauthapplicationssdk/README.md#delete) - Delete an OAuth application * [upload_logo](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/oauthapplicationssdk/README.md#upload_logo) - Upload a logo for the OAuth application * [rotate_secret](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/oauthapplicationssdk/README.md#rotate_secret) - Rotate the client secret of the given OAuth application +* [revoke_token](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/oauthapplicationssdk/README.md#revoke_token) - Revoke an OAuth application token ### [OrganizationDomains](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/organizationdomainssdk/README.md) @@ -520,6 +521,19 @@ def verify_machine_token(request: httpx.Request): * [~~update~~](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/samlconnectionssdk/README.md#update) - Update a SAML Connection :warning: **Deprecated** * [~~delete~~](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/samlconnectionssdk/README.md#delete) - Delete a SAML Connection :warning: **Deprecated** +### [ScimDirectories](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md) + +* [list](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#list) - List all SCIM directories +* [create](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#create) - Create a SCIM directory +* [get](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#get) - Retrieve a SCIM directory +* [update](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#update) - Update a SCIM directory +* [delete](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#delete) - Delete a SCIM directory +* [rotate_api_key](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#rotate_api_key) - Rotate a SCIM directory's API key +* [list_group_role_mappings](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#list_group_role_mappings) - List SCIM group role mappings +* [create_group_role_mapping](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#create_group_role_mapping) - Create a SCIM group role mapping +* [replace_group_role_mappings](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#replace_group_role_mappings) - Replace SCIM group role mappings +* [delete_group_role_mapping](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/scimdirectories/README.md#delete_group_role_mapping) - Delete a SCIM group role mapping + ### [Sessions](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/sessions/README.md) * [list](https://github.com/clerk/clerk-sdk-python/blob/master/docs/sdks/sessions/README.md#list) - List all sessions @@ -713,7 +727,7 @@ with Clerk( # Depending on the method different errors may be thrown if isinstance(e, models.ClerkErrors): print(e.data.errors) # List[clerk_backend_api.ClerkError] - print(e.data.meta) # Optional[clerk_backend_api.ClerkErrorsMeta] + print(e.data.meta) # Optional[Dict[str, Any]] ``` ### Error Classes @@ -732,41 +746,41 @@ with Clerk( **Inherit from [`ClerkBaseError`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/clerkbaseerror.py)**: -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`CreateAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetAPIKeysAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`UpdateAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/updateapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`DeleteAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/deleteapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetAPIKeySecretAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysecretapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`RevokeAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`VerifyAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`CreateM2MTokenM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createm2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetM2MTokensM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getm2mtokensm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`RevokeM2MTokenM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokem2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`VerifyM2MTokenM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifym2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`VerifyOAuthAccessTokenOauthAccessTokensResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 223 methods.* -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 223 methods.* -* [`GetM2MTokensM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getm2mtokensm2mresponseresponsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse404ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetAPIKeysAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`UpdateAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/updateapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`DeleteAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/deleteapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetAPIKeySecretAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysecretapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`RevokeAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`VerifyAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetM2MTokensM2mResponse404ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getm2mtokensm2mresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`RevokeM2MTokenM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokem2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`VerifyM2MTokenM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifym2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`VerifyOAuthAccessTokenOauthAccessTokensResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse409ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse409responsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 223 methods.* -* [`CreateAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createapikeyapikeysresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 223 methods.* -* [`CreateM2MTokenM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createm2mtokenm2mresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 223 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`CreateAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetAPIKeysAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`UpdateAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/updateapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`DeleteAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/deleteapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetAPIKeySecretAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysecretapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`RevokeAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`VerifyAPIKeyAPIKeysResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`CreateM2MTokenM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createm2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetM2MTokensM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getm2mtokensm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`RevokeM2MTokenM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokem2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`VerifyM2MTokenM2mResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifym2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`VerifyOAuthAccessTokenOauthAccessTokensResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 234 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 234 methods.* +* [`GetM2MTokensM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getm2mtokensm2mresponseresponsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse404ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetAPIKeysAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`UpdateAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/updateapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`DeleteAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/deleteapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetAPIKeySecretAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getapikeysecretapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`RevokeAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokeapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`VerifyAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetM2MTokensM2mResponse404ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/getm2mtokensm2mresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`RevokeM2MTokenM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/revokem2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`VerifyM2MTokenM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifym2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`VerifyOAuthAccessTokenOauthAccessTokensResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse409ResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse409responsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 234 methods.* +* [`CreateAPIKeyAPIKeysResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createapikeyapikeysresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 234 methods.* +* [`CreateM2MTokenM2mResponseResponseBody`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/createm2mtokenm2mresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 234 methods.* * [`ResponseValidationError`](https://github.com/clerk/clerk-sdk-python/blob/master/./src/clerk_backend_api/models/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute. diff --git a/README.md b/README.md index 221cfefa..1ba6a913 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,7 @@ def verify_machine_token(request: httpx.Request): * [delete](docs/sdks/oauthapplicationssdk/README.md#delete) - Delete an OAuth application * [upload_logo](docs/sdks/oauthapplicationssdk/README.md#upload_logo) - Upload a logo for the OAuth application * [rotate_secret](docs/sdks/oauthapplicationssdk/README.md#rotate_secret) - Rotate the client secret of the given OAuth application +* [revoke_token](docs/sdks/oauthapplicationssdk/README.md#revoke_token) - Revoke an OAuth application token ### [OrganizationDomains](docs/sdks/organizationdomainssdk/README.md) @@ -520,6 +521,19 @@ def verify_machine_token(request: httpx.Request): * [~~update~~](docs/sdks/samlconnectionssdk/README.md#update) - Update a SAML Connection :warning: **Deprecated** * [~~delete~~](docs/sdks/samlconnectionssdk/README.md#delete) - Delete a SAML Connection :warning: **Deprecated** +### [ScimDirectories](docs/sdks/scimdirectories/README.md) + +* [list](docs/sdks/scimdirectories/README.md#list) - List all SCIM directories +* [create](docs/sdks/scimdirectories/README.md#create) - Create a SCIM directory +* [get](docs/sdks/scimdirectories/README.md#get) - Retrieve a SCIM directory +* [update](docs/sdks/scimdirectories/README.md#update) - Update a SCIM directory +* [delete](docs/sdks/scimdirectories/README.md#delete) - Delete a SCIM directory +* [rotate_api_key](docs/sdks/scimdirectories/README.md#rotate_api_key) - Rotate a SCIM directory's API key +* [list_group_role_mappings](docs/sdks/scimdirectories/README.md#list_group_role_mappings) - List SCIM group role mappings +* [create_group_role_mapping](docs/sdks/scimdirectories/README.md#create_group_role_mapping) - Create a SCIM group role mapping +* [replace_group_role_mappings](docs/sdks/scimdirectories/README.md#replace_group_role_mappings) - Replace SCIM group role mappings +* [delete_group_role_mapping](docs/sdks/scimdirectories/README.md#delete_group_role_mapping) - Delete a SCIM group role mapping + ### [Sessions](docs/sdks/sessions/README.md) * [list](docs/sdks/sessions/README.md#list) - List all sessions @@ -713,7 +727,7 @@ with Clerk( # Depending on the method different errors may be thrown if isinstance(e, models.ClerkErrors): print(e.data.errors) # List[clerk_backend_api.ClerkError] - print(e.data.meta) # Optional[clerk_backend_api.ClerkErrorsMeta] + print(e.data.meta) # Optional[Dict[str, Any]] ``` ### Error Classes @@ -732,41 +746,41 @@ with Clerk( **Inherit from [`ClerkBaseError`](./src/clerk_backend_api/models/clerkbaseerror.py)**: -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`CreateAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/createapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetAPIKeysAPIKeysResponseBody`](./src/clerk_backend_api/models/getapikeysapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/getapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`UpdateAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/updateapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`DeleteAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/deleteapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetAPIKeySecretAPIKeysResponseBody`](./src/clerk_backend_api/models/getapikeysecretapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`RevokeAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/revokeapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`VerifyAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/verifyapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`CreateM2MTokenM2mResponseBody`](./src/clerk_backend_api/models/createm2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`GetM2MTokensM2mResponseBody`](./src/clerk_backend_api/models/getm2mtokensm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`RevokeM2MTokenM2mResponseBody`](./src/clerk_backend_api/models/revokem2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`VerifyM2MTokenM2mResponseBody`](./src/clerk_backend_api/models/verifym2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`VerifyOAuthAccessTokenOauthAccessTokensResponseBody`](./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 223 methods.* -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 223 methods.* -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 223 methods.* -* [`GetM2MTokensM2mResponseResponseBody`](./src/clerk_backend_api/models/getm2mtokensm2mresponseresponsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 223 methods.* -* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse404ResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetAPIKeysAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/getapikeysapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/getapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`UpdateAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/updateapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`DeleteAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/deleteapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetAPIKeySecretAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/getapikeysecretapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`RevokeAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/revokeapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`VerifyAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/verifyapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`GetM2MTokensM2mResponse404ResponseBody`](./src/clerk_backend_api/models/getm2mtokensm2mresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`RevokeM2MTokenM2mResponseResponseBody`](./src/clerk_backend_api/models/revokem2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`VerifyM2MTokenM2mResponseResponseBody`](./src/clerk_backend_api/models/verifym2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`VerifyOAuthAccessTokenOauthAccessTokensResponseResponseBody`](./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 223 methods.* -* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse409ResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse409responsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 223 methods.* -* [`CreateAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/createapikeyapikeysresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 223 methods.* -* [`CreateM2MTokenM2mResponseResponseBody`](./src/clerk_backend_api/models/createm2mtokenm2mresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 223 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`CreateAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/createapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetAPIKeysAPIKeysResponseBody`](./src/clerk_backend_api/models/getapikeysapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/getapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`UpdateAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/updateapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`DeleteAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/deleteapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetAPIKeySecretAPIKeysResponseBody`](./src/clerk_backend_api/models/getapikeysecretapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`RevokeAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/revokeapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`VerifyAPIKeyAPIKeysResponseBody`](./src/clerk_backend_api/models/verifyapikeyapikeysresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`CreateM2MTokenM2mResponseBody`](./src/clerk_backend_api/models/createm2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`GetM2MTokensM2mResponseBody`](./src/clerk_backend_api/models/getm2mtokensm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`RevokeM2MTokenM2mResponseBody`](./src/clerk_backend_api/models/revokem2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`VerifyM2MTokenM2mResponseBody`](./src/clerk_backend_api/models/verifym2mtokenm2mresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`VerifyOAuthAccessTokenOauthAccessTokensResponseBody`](./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponsebody.py): 400 Bad Request. Status code `400`. Applicable to 1 of 234 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponseResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponseresponsebody.py): 401 Unauthorized. Status code `401`. Applicable to 1 of 234 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse403ResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse403responsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 234 methods.* +* [`GetM2MTokensM2mResponseResponseBody`](./src/clerk_backend_api/models/getm2mtokensm2mresponseresponsebody.py): 403 Forbidden. Status code `403`. Applicable to 1 of 234 methods.* +* [`RevokeAdminPortalLinkTokenAdminPortalLinkTokensResponse404ResponseBody`](./src/clerk_backend_api/models/revokeadminportallinktokenadminportallinktokensresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetAPIKeysAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/getapikeysapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/getapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`UpdateAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/updateapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`DeleteAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/deleteapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetAPIKeySecretAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/getapikeysecretapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`RevokeAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/revokeapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`VerifyAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/verifyapikeyapikeysresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`GetM2MTokensM2mResponse404ResponseBody`](./src/clerk_backend_api/models/getm2mtokensm2mresponse404responsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`RevokeM2MTokenM2mResponseResponseBody`](./src/clerk_backend_api/models/revokem2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`VerifyM2MTokenM2mResponseResponseBody`](./src/clerk_backend_api/models/verifym2mtokenm2mresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`VerifyOAuthAccessTokenOauthAccessTokensResponseResponseBody`](./src/clerk_backend_api/models/verifyoauthaccesstokenoauthaccesstokensresponseresponsebody.py): 404 Not Found. Status code `404`. Applicable to 1 of 234 methods.* +* [`CreateAdminPortalLinkTokenAdminPortalLinkTokensResponse409ResponseBody`](./src/clerk_backend_api/models/createadminportallinktokenadminportallinktokensresponse409responsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 234 methods.* +* [`CreateAPIKeyAPIKeysResponseResponseBody`](./src/clerk_backend_api/models/createapikeyapikeysresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 234 methods.* +* [`CreateM2MTokenM2mResponseResponseBody`](./src/clerk_backend_api/models/createm2mtokenm2mresponseresponsebody.py): 409 Conflict. Status code `409`. Applicable to 1 of 234 methods.* * [`ResponseValidationError`](./src/clerk_backend_api/models/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute. diff --git a/RELEASES.md b/RELEASES.md index 1cbb62d8..66651da3 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -638,4 +638,14 @@ Based on: ### Generated - [python v6.0.1] . ### Releases -- [PyPI v6.0.1] https://pypi.org/project/clerk-backend-api/6.0.1 - . \ No newline at end of file +- [PyPI v6.0.1] https://pypi.org/project/clerk-backend-api/6.0.1 - . + +## 2026-07-14 00:34:41 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.790.0 (2.917.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v6.1.0] . +### Releases +- [PyPI v6.1.0] https://pypi.org/project/clerk-backend-api/6.1.0 - . \ No newline at end of file diff --git a/docs/models/billingpaymentattempttotals.md b/docs/models/billingpaymentattempttotals.md index 625bd3a4..baede143 100644 --- a/docs/models/billingpaymentattempttotals.md +++ b/docs/models/billingpaymentattempttotals.md @@ -11,6 +11,6 @@ Totals breakdown for this payment attempt. | `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | | `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | | `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `per_unit_totals` | List[[models.SchemasCommercePerUnitTotal](../models/schemascommerceperunittotal.md)] | :heavy_minus_sign: | N/A | +| `per_unit_totals` | List[[models.CommercePerUnitTotal2](../models/commerceperunittotal2.md)] | :heavy_minus_sign: | N/A | | `credits` | [OptionalNullable[models.BillingPaymentAttemptCredits]](../models/billingpaymentattemptcredits.md) | :heavy_minus_sign: | N/A | | `discounts` | [OptionalNullable[models.BillingPaymentAttemptDiscounts]](../models/billingpaymentattemptdiscounts.md) | :heavy_minus_sign: | Information about the discounts applied to the payment | \ No newline at end of file diff --git a/docs/models/clerkerror.md b/docs/models/clerkerror.md index 9b4caf7f..1988e02b 100644 --- a/docs/models/clerkerror.md +++ b/docs/models/clerkerror.md @@ -8,4 +8,4 @@ | `message` | *str* | :heavy_check_mark: | N/A | Invalid input | | `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | | `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.Meta]](../models/meta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/clerkerrorerrorenterpriseaccountmeta.md b/docs/models/clerkerrorerrorenterpriseaccountmeta.md deleted file mode 100644 index e12e48d2..00000000 --- a/docs/models/clerkerrorerrorenterpriseaccountmeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorErrorEnterpriseAccountMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/clerkerrorerrorenterpriseaccountverificationmeta.md b/docs/models/clerkerrorerrorenterpriseaccountverificationmeta.md deleted file mode 100644 index af28d7d0..00000000 --- a/docs/models/clerkerrorerrorenterpriseaccountverificationmeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorErrorEnterpriseAccountVerificationMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/clerkerrorerrorexternalaccountwithverificationmeta.md b/docs/models/clerkerrorerrorexternalaccountwithverificationmeta.md deleted file mode 100644 index 498e5975..00000000 --- a/docs/models/clerkerrorerrorexternalaccountwithverificationmeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorErrorExternalAccountWithVerificationMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/clerkerrorerrorexternalaccountwithverificationverificationmeta.md b/docs/models/clerkerrorerrorexternalaccountwithverificationverificationmeta.md deleted file mode 100644 index ef070e0d..00000000 --- a/docs/models/clerkerrorerrorexternalaccountwithverificationverificationmeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorErrorExternalAccountWithVerificationVerificationMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/clerkerrorerrormeta.md b/docs/models/clerkerrorerrormeta.md deleted file mode 100644 index e705a2f7..00000000 --- a/docs/models/clerkerrorerrormeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorErrorMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/clerkerrorerrorsamlaccountmeta.md b/docs/models/clerkerrorerrorsamlaccountmeta.md deleted file mode 100644 index 2fed9d86..00000000 --- a/docs/models/clerkerrorerrorsamlaccountmeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorErrorSAMLAccountMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/clerkerrors.md b/docs/models/clerkerrors.md index cbcac9a9..0a6e62e4 100644 --- a/docs/models/clerkerrors.md +++ b/docs/models/clerkerrors.md @@ -8,4 +8,4 @@ Request was not successful | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `errors` | List[[models.ClerkError](../models/clerkerror.md)] | :heavy_check_mark: | N/A | [
{
"message": "Invalid input",
"long_message": "The input provided does not meet the requirements.",
"code": "400_bad_request",
"clerk_trace_id": "trace_123456789abcd"
}
] | -| `meta` | [Optional[models.ClerkErrorsMeta]](../models/clerkerrorsmeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/clerkerrorsmeta.md b/docs/models/clerkerrorsmeta.md deleted file mode 100644 index c82450fb..00000000 --- a/docs/models/clerkerrorsmeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ClerkErrorsMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/commercecreditledgerresponse.md b/docs/models/commercecreditledgerresponse.md index a3105d23..e425af51 100644 --- a/docs/models/commercecreditledgerresponse.md +++ b/docs/models/commercecreditledgerresponse.md @@ -5,14 +5,13 @@ A credit ledger entry. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `object` | *str* | :heavy_check_mark: | String representing the object's type. Always "commerce_credit_ledger". | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the ledger entry. | -| `payer_id` | *str* | :heavy_check_mark: | The ID of the payer whose balance was adjusted. | -| `amount` | *int* | :heavy_check_mark: | The signed credit amount. Positive for increases, negative for decreases. | -| `currency` | *str* | :heavy_check_mark: | The currency code of the credit adjustment. | -| `source_type` | *str* | :heavy_check_mark: | The type of source that originated the adjustment (e.g. "grant"). | -| `source_id` | *str* | :heavy_check_mark: | The ID of the source that originated the adjustment. | -| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | An optional note attached to the ledger entry. | -| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp when the ledger entry was created. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `object` | *str* | :heavy_check_mark: | String representing the object's type. Always "commerce_credit_ledger". | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the ledger entry. | +| `payer_id` | *str* | :heavy_check_mark: | The ID of the payer whose balance was adjusted. | +| `amount` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `source_type` | *str* | :heavy_check_mark: | The type of source that originated the adjustment (e.g. "grant"). | +| `source_id` | *str* | :heavy_check_mark: | The ID of the source that originated the adjustment. | +| `note` | *OptionalNullable[str]* | :heavy_minus_sign: | An optional note attached to the ledger entry. | +| `created_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | Timestamp when the ledger entry was created. | \ No newline at end of file diff --git a/docs/models/commerceperunittotal2.md b/docs/models/commerceperunittotal2.md new file mode 100644 index 00000000..aa27c056 --- /dev/null +++ b/docs/models/commerceperunittotal2.md @@ -0,0 +1,10 @@ +# CommercePerUnitTotal2 + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `name` | *str* | :heavy_check_mark: | Name of the billable unit (for example, seats) | +| `block_size` | *int* | :heavy_check_mark: | Number of units included in each pricing block | +| `tiers` | List[[models.CommercePerUnitTotalTier2](../models/commerceperunittotaltier2.md)] | :heavy_check_mark: | Computed totals for each pricing tier | \ No newline at end of file diff --git a/docs/models/schemascommerceperunittotaltier.md b/docs/models/commerceperunittotaltier2.md similarity index 97% rename from docs/models/schemascommerceperunittotaltier.md rename to docs/models/commerceperunittotaltier2.md index 2852b312..fd723f94 100644 --- a/docs/models/schemascommerceperunittotaltier.md +++ b/docs/models/commerceperunittotaltier2.md @@ -1,4 +1,4 @@ -# SchemasCommercePerUnitTotalTier +# CommercePerUnitTotalTier2 ## Fields diff --git a/docs/models/commerceplan2.md b/docs/models/commerceplan2.md new file mode 100644 index 00000000..68081fb6 --- /dev/null +++ b/docs/models/commerceplan2.md @@ -0,0 +1,36 @@ +# CommercePlan2 + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `object` | [models.CommercePlan2Object](../models/commerceplan2object.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the commerce plan. | +| `name` | *str* | :heavy_check_mark: | The name of the commerce plan. | +| `fee` | [Nullable[models.CommercePlan2Fee]](../models/commerceplan2fee.md) | :heavy_check_mark: | N/A | +| `annual_monthly_fee` | [Nullable[models.CommercePlan2AnnualMonthlyFee]](../models/commerceplan2annualmonthlyfee.md) | :heavy_check_mark: | N/A | +| `annual_fee` | [Nullable[models.CommercePlan2AnnualFee]](../models/commerceplan2annualfee.md) | :heavy_check_mark: | N/A | +| `amount` | *int* | :heavy_check_mark: | The amount in cents for the plan. | +| `amount_formatted` | *str* | :heavy_check_mark: | The formatted amount as a string (e.g., "$49.99"). | +| `annual_monthly_amount` | *int* | :heavy_check_mark: | The monthly amount in cents when billed annually. | +| `annual_monthly_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual monthly amount as a string. | +| `annual_amount` | *int* | :heavy_check_mark: | The total annual amount in cents. | +| `annual_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual amount as a string. | +| `currency_symbol` | *str* | :heavy_check_mark: | The currency symbol (e.g., "$"). | +| `currency` | *str* | :heavy_check_mark: | The currency code (e.g., "USD"). | +| `description` | *str* | :heavy_check_mark: | The description of the commerce plan. | +| `product_id` | *str* | :heavy_check_mark: | The ID of the product this plan belongs to. | +| `is_default` | *bool* | :heavy_check_mark: | Whether this is the default plan. | +| `is_recurring` | *bool* | :heavy_check_mark: | Whether this is a recurring plan. | +| `publicly_visible` | *bool* | :heavy_check_mark: | Whether this plan is publicly visible. | +| `has_base_fee` | *bool* | :heavy_check_mark: | Whether this plan has a base fee. | +| `payer_type` | List[*str*] | :heavy_check_mark: | The types of payers that can use this plan. | +| `for_payer_type` | *str* | :heavy_check_mark: | The payer type this plan is designed for. | +| `slug` | *str* | :heavy_check_mark: | The URL-friendly slug for the plan. | +| `avatar_url` | *str* | :heavy_check_mark: | The URL of the plan's avatar image. | +| `period` | *Optional[str]* | :heavy_minus_sign: | The billing period for the plan. | +| `interval` | *Optional[int]* | :heavy_minus_sign: | The billing interval. | +| `features` | List[[models.FeatureResponse2](../models/featureresponse2.md)] | :heavy_check_mark: | The features included in this plan. | +| `free_trial_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether free trial is enabled for this plan. | +| `free_trial_days` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of free trial days for this plan. | \ No newline at end of file diff --git a/docs/models/schemascommerceplanfee.md b/docs/models/commerceplan2annualfee.md similarity index 98% rename from docs/models/schemascommerceplanfee.md rename to docs/models/commerceplan2annualfee.md index 5ba0661b..e596d9a6 100644 --- a/docs/models/schemascommerceplanfee.md +++ b/docs/models/commerceplan2annualfee.md @@ -1,4 +1,4 @@ -# SchemasCommercePlanFee +# CommercePlan2AnnualFee ## Fields diff --git a/docs/models/schemascommercesubscriptionitemfee.md b/docs/models/commerceplan2annualmonthlyfee.md similarity index 97% rename from docs/models/schemascommercesubscriptionitemfee.md rename to docs/models/commerceplan2annualmonthlyfee.md index 4f5f79ba..f6d065c7 100644 --- a/docs/models/schemascommercesubscriptionitemfee.md +++ b/docs/models/commerceplan2annualmonthlyfee.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemFee +# CommercePlan2AnnualMonthlyFee ## Fields diff --git a/docs/models/schemascommerceplanannualfee.md b/docs/models/commerceplan2fee.md similarity index 97% rename from docs/models/schemascommerceplanannualfee.md rename to docs/models/commerceplan2fee.md index d89eafb7..0924a853 100644 --- a/docs/models/schemascommerceplanannualfee.md +++ b/docs/models/commerceplan2fee.md @@ -1,4 +1,4 @@ -# SchemasCommercePlanAnnualFee +# CommercePlan2Fee ## Fields diff --git a/docs/models/schemascommerceplanobject.md b/docs/models/commerceplan2object.md similarity index 63% rename from docs/models/schemascommerceplanobject.md rename to docs/models/commerceplan2object.md index bfa7d74b..67a3e882 100644 --- a/docs/models/schemascommerceplanobject.md +++ b/docs/models/commerceplan2object.md @@ -1,13 +1,13 @@ -# SchemasCommercePlanObject +# CommercePlan2Object String representing the object's type. Objects of the same type share the same value. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommercePlanObject +from clerk_backend_api.models import CommercePlan2Object -value = SchemasCommercePlanObject.COMMERCE_PLAN +value = CommercePlan2Object.COMMERCE_PLAN ``` diff --git a/docs/models/commercepricetransitiondetails.md b/docs/models/commercepricetransitiondetails.md index 97cd7555..756eb65b 100644 --- a/docs/models/commercepricetransitiondetails.md +++ b/docs/models/commercepricetransitiondetails.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -| `previous_plan` | [models.SchemasCommercePlan](../models/schemascommerceplan.md) | :heavy_check_mark: | N/A | +| `previous_plan` | [models.CommercePlan2](../models/commerceplan2.md) | :heavy_check_mark: | N/A | | `previous_price` | [models.BillingPriceResponse](../models/billingpriceresponse.md) | :heavy_check_mark: | N/A | | `effective_at` | *int* | :heavy_check_mark: | Unix timestamp (milliseconds) when the new price takes effect. | | `effective_mode` | [models.EffectiveMode](../models/effectivemode.md) | :heavy_check_mark: | When the new price takes effect. | diff --git a/docs/models/commercepricetransitionresponse.md b/docs/models/commercepricetransitionresponse.md index 04213ba4..89c1bd2b 100644 --- a/docs/models/commercepricetransitionresponse.md +++ b/docs/models/commercepricetransitionresponse.md @@ -8,5 +8,5 @@ A commerce price transition. | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | `object` | [models.CommercePriceTransitionResponseObject](../models/commercepricetransitionresponseobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | -| `subscription_item` | [models.SchemasCommerceSubscriptionItem](../models/schemascommercesubscriptionitem.md) | :heavy_check_mark: | N/A | +| `subscription_item` | [models.CommerceSubscriptionItem2](../models/commercesubscriptionitem2.md) | :heavy_check_mark: | N/A | | `transition` | [models.CommercePriceTransitionDetails](../models/commercepricetransitiondetails.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/commercesubscriptionitem2.md b/docs/models/commercesubscriptionitem2.md new file mode 100644 index 00000000..a129db9d --- /dev/null +++ b/docs/models/commercesubscriptionitem2.md @@ -0,0 +1,35 @@ +# CommerceSubscriptionItem2 + +A commerce subscription item. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `object` | [models.CommerceSubscriptionItem2Object](../models/commercesubscriptionitem2object.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the subscription item. | +| `instance_id` | *str* | :heavy_check_mark: | Unique identifier for the Clerk instance. | +| `status` | [models.CommerceSubscriptionItem2Status](../models/commercesubscriptionitem2status.md) | :heavy_check_mark: | Current status of the subscription item. | +| `credit` | [OptionalNullable[models.Credit]](../models/credit.md) | :heavy_minus_sign: | Credit information (only available in PaymentAttempt events). | +| `plan_id` | *str* | :heavy_check_mark: | Unique identifier for the associated plan. | +| `price_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the associated price | +| `plan` | [Nullable[models.CommerceSubscriptionItem2Plan]](../models/commercesubscriptionitem2plan.md) | :heavy_check_mark: | The associated commerce plan. | +| `plan_period` | [models.CommerceSubscriptionItem2PlanPeriod](../models/commercesubscriptionitem2planperiod.md) | :heavy_check_mark: | The billing period for this subscription. | +| `payment_source_id` | *str* | :heavy_check_mark: | Unique identifier for the payment source. | +| `payment_source` | [OptionalNullable[models.PaymentSource]](../models/paymentsource.md) | :heavy_minus_sign: | The payment source associated with this subscription. | +| `lifetime_paid` | [OptionalNullable[models.LifetimePaid]](../models/lifetimepaid.md) | :heavy_minus_sign: | Total amount paid over the lifetime of this subscription. | +| `amount` | [OptionalNullable[models.CommerceSubscriptionItem2Amount]](../models/commercesubscriptionitem2amount.md) | :heavy_minus_sign: | Current amount for this subscription. | +| `next_invoice` | [OptionalNullable[models.NextInvoice]](../models/nextinvoice.md) | :heavy_minus_sign: | Information about the next invoice. | +| `next_payment` | [OptionalNullable[models.CommerceSubscriptionItem2NextPayment]](../models/commercesubscriptionitem2nextpayment.md) | :heavy_minus_sign: | Information about the next payment. | +| `payer_id` | *str* | :heavy_check_mark: | Unique identifier for the payer. | +| `payer` | [OptionalNullable[models.Payer]](../models/payer.md) | :heavy_minus_sign: | The payer associated with this subscription. | +| `is_free_trial` | *bool* | :heavy_check_mark: | Whether this subscription is currently on a free trial. | +| `period_start` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the current period started. | +| `period_end` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the current period ends. | +| `proration_date` | *str* | :heavy_check_mark: | Date used for proration calculations. | +| `canceled_at` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the subscription was canceled. | +| `past_due_at` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the subscription became past due. | +| `ended_at` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the subscription ended. | +| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the subscription was created. | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the subscription was last updated. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemamount.md b/docs/models/commercesubscriptionitem2amount.md similarity index 97% rename from docs/models/schemascommercesubscriptionitemamount.md rename to docs/models/commercesubscriptionitem2amount.md index 03327224..d5bf2285 100644 --- a/docs/models/schemascommercesubscriptionitemamount.md +++ b/docs/models/commercesubscriptionitem2amount.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemAmount +# CommerceSubscriptionItem2Amount Current amount for this subscription. diff --git a/docs/models/schemascommerceplanannualmonthlyfee.md b/docs/models/commercesubscriptionitem2annualfee.md similarity index 97% rename from docs/models/schemascommerceplanannualmonthlyfee.md rename to docs/models/commercesubscriptionitem2annualfee.md index 5d102134..1b2b664d 100644 --- a/docs/models/schemascommerceplanannualmonthlyfee.md +++ b/docs/models/commercesubscriptionitem2annualfee.md @@ -1,4 +1,4 @@ -# SchemasCommercePlanAnnualMonthlyFee +# CommerceSubscriptionItem2AnnualFee ## Fields diff --git a/docs/models/schemascommercesubscriptionitemannualfee.md b/docs/models/commercesubscriptionitem2annualmonthlyfee.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemannualfee.md rename to docs/models/commercesubscriptionitem2annualmonthlyfee.md index 7027ae7e..3e1b5152 100644 --- a/docs/models/schemascommercesubscriptionitemannualfee.md +++ b/docs/models/commercesubscriptionitem2annualmonthlyfee.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemAnnualFee +# CommerceSubscriptionItem2AnnualMonthlyFee ## Fields diff --git a/docs/models/schemascommercesubscriptionitemcreditamount.md b/docs/models/commercesubscriptionitem2creditamount.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemcreditamount.md rename to docs/models/commercesubscriptionitem2creditamount.md index 43953589..f71979cc 100644 --- a/docs/models/schemascommercesubscriptionitemcreditamount.md +++ b/docs/models/commercesubscriptionitem2creditamount.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemCreditAmount +# CommerceSubscriptionItem2CreditAmount Credit amount. diff --git a/docs/models/commercesubscriptionitem2credits.md b/docs/models/commercesubscriptionitem2credits.md new file mode 100644 index 00000000..6ea6809b --- /dev/null +++ b/docs/models/commercesubscriptionitem2credits.md @@ -0,0 +1,10 @@ +# CommerceSubscriptionItem2Credits + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `proration` | [Nullable[models.CommerceSubscriptionItem2Proration]](../models/commercesubscriptionitem2proration.md) | :heavy_check_mark: | N/A | +| `payer` | [Nullable[models.CommerceSubscriptionItem2Payer]](../models/commercesubscriptionitem2payer.md) | :heavy_check_mark: | N/A | +| `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/commercesubscriptionitem2discounts.md b/docs/models/commercesubscriptionitem2discounts.md new file mode 100644 index 00000000..f537a78c --- /dev/null +++ b/docs/models/commercesubscriptionitem2discounts.md @@ -0,0 +1,9 @@ +# CommerceSubscriptionItem2Discounts + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `proration` | [Nullable[models.CommerceSubscriptionItem2NextInvoiceProration]](../models/commercesubscriptionitem2nextinvoiceproration.md) | :heavy_check_mark: | N/A | +| `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/commercesubscriptionitem2fee.md b/docs/models/commercesubscriptionitem2fee.md new file mode 100644 index 00000000..89b5f24a --- /dev/null +++ b/docs/models/commercesubscriptionitem2fee.md @@ -0,0 +1,11 @@ +# CommerceSubscriptionItem2Fee + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `amount` | *int* | :heavy_check_mark: | The amount in cents. | +| `amount_formatted` | *str* | :heavy_check_mark: | The formatted amount as a string (e.g., "$49.99"). | +| `currency` | *str* | :heavy_check_mark: | The currency code (e.g., "USD"). | +| `currency_symbol` | *str* | :heavy_check_mark: | The currency symbol (e.g., "$"). | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextinvoiceamount.md b/docs/models/commercesubscriptionitem2nextinvoiceamount.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemnextinvoiceamount.md rename to docs/models/commercesubscriptionitem2nextinvoiceamount.md index e576cf06..486f4478 100644 --- a/docs/models/schemascommercesubscriptionitemnextinvoiceamount.md +++ b/docs/models/commercesubscriptionitem2nextinvoiceamount.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemNextInvoiceAmount +# CommerceSubscriptionItem2NextInvoiceAmount Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount. diff --git a/docs/models/schemascommercesubscriptionitemnextinvoiceproration.md b/docs/models/commercesubscriptionitem2nextinvoiceproration.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemnextinvoiceproration.md rename to docs/models/commercesubscriptionitem2nextinvoiceproration.md index ce42dae6..60155f57 100644 --- a/docs/models/schemascommercesubscriptionitemnextinvoiceproration.md +++ b/docs/models/commercesubscriptionitem2nextinvoiceproration.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemNextInvoiceProration +# CommerceSubscriptionItem2NextInvoiceProration ## Fields diff --git a/docs/models/commercesubscriptionitem2nextpayment.md b/docs/models/commercesubscriptionitem2nextpayment.md new file mode 100644 index 00000000..14bd8be1 --- /dev/null +++ b/docs/models/commercesubscriptionitem2nextpayment.md @@ -0,0 +1,13 @@ +# CommerceSubscriptionItem2NextPayment + +Information about the next payment. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `amount` | [OptionalNullable[models.CommerceSubscriptionItem2NextPaymentAmount]](../models/commercesubscriptionitem2nextpaymentamount.md) | :heavy_minus_sign: | Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount. | +| `date_` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) for the next payment date. | +| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | Per-unit total breakdown (for example, seats) for the next payment. | +| `totals` | [OptionalNullable[models.CommerceSubscriptionItem2NextPaymentTotals]](../models/commercesubscriptionitem2nextpaymenttotals.md) | :heavy_minus_sign: | Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpaymentamount.md b/docs/models/commercesubscriptionitem2nextpaymentamount.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemnextpaymentamount.md rename to docs/models/commercesubscriptionitem2nextpaymentamount.md index 8a32881e..bc74d28f 100644 --- a/docs/models/schemascommercesubscriptionitemnextpaymentamount.md +++ b/docs/models/commercesubscriptionitem2nextpaymentamount.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemNextPaymentAmount +# CommerceSubscriptionItem2NextPaymentAmount Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount. diff --git a/docs/models/commercesubscriptionitem2nextpaymentcredits.md b/docs/models/commercesubscriptionitem2nextpaymentcredits.md new file mode 100644 index 00000000..7ae96e7e --- /dev/null +++ b/docs/models/commercesubscriptionitem2nextpaymentcredits.md @@ -0,0 +1,10 @@ +# CommerceSubscriptionItem2NextPaymentCredits + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `proration` | [Nullable[models.CommerceSubscriptionItem2NextPaymentProration]](../models/commercesubscriptionitem2nextpaymentproration.md) | :heavy_check_mark: | N/A | +| `payer` | [Nullable[models.CommerceSubscriptionItem2NextPaymentPayer]](../models/commercesubscriptionitem2nextpaymentpayer.md) | :heavy_check_mark: | N/A | +| `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemdiscounts.md b/docs/models/commercesubscriptionitem2nextpaymentdiscounts.md similarity index 89% rename from docs/models/schemascommercesubscriptionitemdiscounts.md rename to docs/models/commercesubscriptionitem2nextpaymentdiscounts.md index 55890323..c4cadcbf 100644 --- a/docs/models/schemascommercesubscriptionitemdiscounts.md +++ b/docs/models/commercesubscriptionitem2nextpaymentdiscounts.md @@ -1,9 +1,9 @@ -# SchemasCommerceSubscriptionItemDiscounts +# CommerceSubscriptionItem2NextPaymentDiscounts ## Fields | Field | Type | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `proration` | [Nullable[models.SchemasCommerceSubscriptionItemNextInvoiceProration]](../models/schemascommercesubscriptionitemnextinvoiceproration.md) | :heavy_check_mark: | N/A | +| `proration` | [Nullable[models.CommerceSubscriptionItem2NextPaymentTotalsProration]](../models/commercesubscriptionitem2nextpaymenttotalsproration.md) | :heavy_check_mark: | N/A | | `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpaymentpayer.md b/docs/models/commercesubscriptionitem2nextpaymentpayer.md similarity index 95% rename from docs/models/schemascommercesubscriptionitemnextpaymentpayer.md rename to docs/models/commercesubscriptionitem2nextpaymentpayer.md index c1ddedc4..3a272cdb 100644 --- a/docs/models/schemascommercesubscriptionitemnextpaymentpayer.md +++ b/docs/models/commercesubscriptionitem2nextpaymentpayer.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemNextPaymentPayer +# CommerceSubscriptionItem2NextPaymentPayer ## Fields diff --git a/docs/models/schemascommercesubscriptionitemnextpaymentproration.md b/docs/models/commercesubscriptionitem2nextpaymentproration.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemnextpaymentproration.md rename to docs/models/commercesubscriptionitem2nextpaymentproration.md index d9f79478..62fbfb1a 100644 --- a/docs/models/schemascommercesubscriptionitemnextpaymentproration.md +++ b/docs/models/commercesubscriptionitem2nextpaymentproration.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemNextPaymentProration +# CommerceSubscriptionItem2NextPaymentProration ## Fields diff --git a/docs/models/commercesubscriptionitem2nextpaymenttotals.md b/docs/models/commercesubscriptionitem2nextpaymenttotals.md new file mode 100644 index 00000000..b5896080 --- /dev/null +++ b/docs/models/commercesubscriptionitem2nextpaymenttotals.md @@ -0,0 +1,16 @@ +# CommerceSubscriptionItem2NextPaymentTotals + +Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `subtotal` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | N/A | +| `credits` | [OptionalNullable[models.CommerceSubscriptionItem2NextPaymentCredits]](../models/commercesubscriptionitem2nextpaymentcredits.md) | :heavy_minus_sign: | N/A | +| `discounts` | [OptionalNullable[models.CommerceSubscriptionItem2NextPaymentDiscounts]](../models/commercesubscriptionitem2nextpaymentdiscounts.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpaymenttotalsproration.md b/docs/models/commercesubscriptionitem2nextpaymenttotalsproration.md similarity index 96% rename from docs/models/schemascommercesubscriptionitemnextpaymenttotalsproration.md rename to docs/models/commercesubscriptionitem2nextpaymenttotalsproration.md index 4e1633d3..b0e38262 100644 --- a/docs/models/schemascommercesubscriptionitemnextpaymenttotalsproration.md +++ b/docs/models/commercesubscriptionitem2nextpaymenttotalsproration.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemNextPaymentTotalsProration +# CommerceSubscriptionItem2NextPaymentTotalsProration ## Fields diff --git a/docs/models/schemascommercesubscriptionitemobject.md b/docs/models/commercesubscriptionitem2object.md similarity index 63% rename from docs/models/schemascommercesubscriptionitemobject.md rename to docs/models/commercesubscriptionitem2object.md index f2090836..5a598351 100644 --- a/docs/models/schemascommercesubscriptionitemobject.md +++ b/docs/models/commercesubscriptionitem2object.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemObject +# CommerceSubscriptionItem2Object String representing the object's type. Objects of the same type share the same value. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemObject +from clerk_backend_api.models import CommerceSubscriptionItem2Object -value = SchemasCommerceSubscriptionItemObject.COMMERCE_SUBSCRIPTION_ITEM +value = CommerceSubscriptionItem2Object.COMMERCE_SUBSCRIPTION_ITEM ``` diff --git a/docs/models/schemascommercesubscriptionitempayer.md b/docs/models/commercesubscriptionitem2payer.md similarity index 96% rename from docs/models/schemascommercesubscriptionitempayer.md rename to docs/models/commercesubscriptionitem2payer.md index be7e0200..13e61706 100644 --- a/docs/models/schemascommercesubscriptionitempayer.md +++ b/docs/models/commercesubscriptionitem2payer.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemPayer +# CommerceSubscriptionItem2Payer ## Fields diff --git a/docs/models/schemascommercesubscriptionitempayerobject.md b/docs/models/commercesubscriptionitem2payerobject.md similarity index 56% rename from docs/models/schemascommercesubscriptionitempayerobject.md rename to docs/models/commercesubscriptionitem2payerobject.md index 6ccf67f2..64ca645d 100644 --- a/docs/models/schemascommercesubscriptionitempayerobject.md +++ b/docs/models/commercesubscriptionitem2payerobject.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemPayerObject +# CommerceSubscriptionItem2PayerObject String representing the object's type. Objects of the same type share the same value. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemPayerObject +from clerk_backend_api.models import CommerceSubscriptionItem2PayerObject -value = SchemasCommerceSubscriptionItemPayerObject.COMMERCE_PAYER +value = CommerceSubscriptionItem2PayerObject.COMMERCE_PAYER ``` diff --git a/docs/models/schemascommercesubscriptionitempaymentsourceobject.md b/docs/models/commercesubscriptionitem2paymentsourceobject.md similarity index 54% rename from docs/models/schemascommercesubscriptionitempaymentsourceobject.md rename to docs/models/commercesubscriptionitem2paymentsourceobject.md index 3ae7b159..3405e077 100644 --- a/docs/models/schemascommercesubscriptionitempaymentsourceobject.md +++ b/docs/models/commercesubscriptionitem2paymentsourceobject.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemPaymentSourceObject +# CommerceSubscriptionItem2PaymentSourceObject String representing the object's type. Objects of the same type share the same value. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemPaymentSourceObject +from clerk_backend_api.models import CommerceSubscriptionItem2PaymentSourceObject -value = SchemasCommerceSubscriptionItemPaymentSourceObject.COMMERCE_SOURCE +value = CommerceSubscriptionItem2PaymentSourceObject.COMMERCE_SOURCE ``` diff --git a/docs/models/schemascommercesubscriptionitempaymentsourcestatus.md b/docs/models/commercesubscriptionitem2paymentsourcestatus.md similarity index 51% rename from docs/models/schemascommercesubscriptionitempaymentsourcestatus.md rename to docs/models/commercesubscriptionitem2paymentsourcestatus.md index edf81824..193f1033 100644 --- a/docs/models/schemascommercesubscriptionitempaymentsourcestatus.md +++ b/docs/models/commercesubscriptionitem2paymentsourcestatus.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemPaymentSourceStatus +# CommerceSubscriptionItem2PaymentSourceStatus Status of the payment source. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemPaymentSourceStatus +from clerk_backend_api.models import CommerceSubscriptionItem2PaymentSourceStatus -value = SchemasCommerceSubscriptionItemPaymentSourceStatus.ACTIVE +value = CommerceSubscriptionItem2PaymentSourceStatus.ACTIVE ``` diff --git a/docs/models/commercesubscriptionitem2plan.md b/docs/models/commercesubscriptionitem2plan.md new file mode 100644 index 00000000..b53ea667 --- /dev/null +++ b/docs/models/commercesubscriptionitem2plan.md @@ -0,0 +1,38 @@ +# CommerceSubscriptionItem2Plan + +The associated commerce plan. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `object` | [models.CommerceSubscriptionItem2PlanObject](../models/commercesubscriptionitem2planobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the commerce plan. | +| `name` | *str* | :heavy_check_mark: | The name of the commerce plan. | +| `fee` | [Nullable[models.CommerceSubscriptionItem2Fee]](../models/commercesubscriptionitem2fee.md) | :heavy_check_mark: | N/A | +| `annual_monthly_fee` | [Nullable[models.CommerceSubscriptionItem2AnnualMonthlyFee]](../models/commercesubscriptionitem2annualmonthlyfee.md) | :heavy_check_mark: | N/A | +| `annual_fee` | [Nullable[models.CommerceSubscriptionItem2AnnualFee]](../models/commercesubscriptionitem2annualfee.md) | :heavy_check_mark: | N/A | +| `amount` | *int* | :heavy_check_mark: | The amount in cents for the plan. | +| `amount_formatted` | *str* | :heavy_check_mark: | The formatted amount as a string (e.g., "$49.99"). | +| `annual_monthly_amount` | *int* | :heavy_check_mark: | The monthly amount in cents when billed annually. | +| `annual_monthly_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual monthly amount as a string. | +| `annual_amount` | *int* | :heavy_check_mark: | The total annual amount in cents. | +| `annual_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual amount as a string. | +| `currency_symbol` | *str* | :heavy_check_mark: | The currency symbol (e.g., "$"). | +| `currency` | *str* | :heavy_check_mark: | The currency code (e.g., "USD"). | +| `description` | *str* | :heavy_check_mark: | The description of the commerce plan. | +| `product_id` | *str* | :heavy_check_mark: | The ID of the product this plan belongs to. | +| `is_default` | *bool* | :heavy_check_mark: | Whether this is the default plan. | +| `is_recurring` | *bool* | :heavy_check_mark: | Whether this is a recurring plan. | +| `publicly_visible` | *bool* | :heavy_check_mark: | Whether this plan is publicly visible. | +| `has_base_fee` | *bool* | :heavy_check_mark: | Whether this plan has a base fee. | +| `payer_type` | List[*str*] | :heavy_check_mark: | The types of payers that can use this plan. | +| `for_payer_type` | *str* | :heavy_check_mark: | The payer type this plan is designed for. | +| `slug` | *str* | :heavy_check_mark: | The URL-friendly slug for the plan. | +| `avatar_url` | *str* | :heavy_check_mark: | The URL of the plan's avatar image. | +| `period` | *Optional[str]* | :heavy_minus_sign: | The billing period for the plan. | +| `interval` | *Optional[int]* | :heavy_minus_sign: | The billing interval. | +| `features` | List[[models.FeatureResponse2](../models/featureresponse2.md)] | :heavy_check_mark: | The features included in this plan. | +| `free_trial_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether free trial is enabled for this plan. | +| `free_trial_days` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of free trial days for this plan. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemplanobject.md b/docs/models/commercesubscriptionitem2planobject.md similarity index 56% rename from docs/models/schemascommercesubscriptionitemplanobject.md rename to docs/models/commercesubscriptionitem2planobject.md index c6e97c10..8e3b1962 100644 --- a/docs/models/schemascommercesubscriptionitemplanobject.md +++ b/docs/models/commercesubscriptionitem2planobject.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemPlanObject +# CommerceSubscriptionItem2PlanObject String representing the object's type. Objects of the same type share the same value. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemPlanObject +from clerk_backend_api.models import CommerceSubscriptionItem2PlanObject -value = SchemasCommerceSubscriptionItemPlanObject.COMMERCE_PLAN +value = CommerceSubscriptionItem2PlanObject.COMMERCE_PLAN ``` diff --git a/docs/models/schemascommercesubscriptionitemplanperiod.md b/docs/models/commercesubscriptionitem2planperiod.md similarity index 50% rename from docs/models/schemascommercesubscriptionitemplanperiod.md rename to docs/models/commercesubscriptionitem2planperiod.md index 42b3ae81..432f977d 100644 --- a/docs/models/schemascommercesubscriptionitemplanperiod.md +++ b/docs/models/commercesubscriptionitem2planperiod.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemPlanPeriod +# CommerceSubscriptionItem2PlanPeriod The billing period for this subscription. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemPlanPeriod +from clerk_backend_api.models import CommerceSubscriptionItem2PlanPeriod -value = SchemasCommerceSubscriptionItemPlanPeriod.MONTH +value = CommerceSubscriptionItem2PlanPeriod.MONTH ``` diff --git a/docs/models/schemascommercesubscriptionitemproration.md b/docs/models/commercesubscriptionitem2proration.md similarity index 97% rename from docs/models/schemascommercesubscriptionitemproration.md rename to docs/models/commercesubscriptionitem2proration.md index 7e917dc0..e146dba5 100644 --- a/docs/models/schemascommercesubscriptionitemproration.md +++ b/docs/models/commercesubscriptionitem2proration.md @@ -1,4 +1,4 @@ -# SchemasCommerceSubscriptionItemProration +# CommerceSubscriptionItem2Proration ## Fields diff --git a/docs/models/schemascommercesubscriptionitemstatus.md b/docs/models/commercesubscriptionitem2status.md similarity index 67% rename from docs/models/schemascommercesubscriptionitemstatus.md rename to docs/models/commercesubscriptionitem2status.md index 6e35d845..adb77f0d 100644 --- a/docs/models/schemascommercesubscriptionitemstatus.md +++ b/docs/models/commercesubscriptionitem2status.md @@ -1,13 +1,13 @@ -# SchemasCommerceSubscriptionItemStatus +# CommerceSubscriptionItem2Status Current status of the subscription item. ## Example Usage ```python -from clerk_backend_api.models import SchemasCommerceSubscriptionItemStatus +from clerk_backend_api.models import CommerceSubscriptionItem2Status -value = SchemasCommerceSubscriptionItemStatus.ACTIVE +value = CommerceSubscriptionItem2Status.ACTIVE ``` diff --git a/docs/models/commercesubscriptionitem2totals.md b/docs/models/commercesubscriptionitem2totals.md new file mode 100644 index 00000000..5950f4ad --- /dev/null +++ b/docs/models/commercesubscriptionitem2totals.md @@ -0,0 +1,16 @@ +# CommerceSubscriptionItem2Totals + +Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `subtotal` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | +| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | N/A | +| `credits` | [OptionalNullable[models.CommerceSubscriptionItem2Credits]](../models/commercesubscriptionitem2credits.md) | :heavy_minus_sign: | N/A | +| `discounts` | [OptionalNullable[models.CommerceSubscriptionItem2Discounts]](../models/commercesubscriptionitem2discounts.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/commercesubscriptionnextpayment.md b/docs/models/commercesubscriptionnextpayment.md index 27066fa6..99eef3b3 100644 --- a/docs/models/commercesubscriptionnextpayment.md +++ b/docs/models/commercesubscriptionnextpayment.md @@ -7,5 +7,5 @@ | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | `date_` | *int* | :heavy_check_mark: | Unix timestamp (milliseconds) of the next payment date. | | `amount` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `per_unit_totals` | List[[models.SchemasCommercePerUnitTotal](../models/schemascommerceperunittotal.md)] | :heavy_minus_sign: | Per-unit total breakdown (for example, seats) for the next payment. | +| `per_unit_totals` | List[[models.CommercePerUnitTotal2](../models/commerceperunittotal2.md)] | :heavy_minus_sign: | Per-unit total breakdown (for example, seats) for the next payment. | | `totals` | [OptionalNullable[models.CommerceSubscriptionNextPaymentTotals]](../models/commercesubscriptionnextpaymenttotals.md) | :heavy_minus_sign: | Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. | \ No newline at end of file diff --git a/docs/models/commercesubscriptionnextpaymenttotals.md b/docs/models/commercesubscriptionnextpaymenttotals.md index 5ff49cca..5c717a22 100644 --- a/docs/models/commercesubscriptionnextpaymenttotals.md +++ b/docs/models/commercesubscriptionnextpaymenttotals.md @@ -11,6 +11,6 @@ Breakdown of the recurring amount that will be billed at renewal (base fee + per | `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | | `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | | `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `per_unit_totals` | List[[models.SchemasCommercePerUnitTotal](../models/schemascommerceperunittotal.md)] | :heavy_minus_sign: | N/A | +| `per_unit_totals` | List[[models.CommercePerUnitTotal2](../models/commerceperunittotal2.md)] | :heavy_minus_sign: | N/A | | `credits` | [OptionalNullable[models.CommerceSubscriptionNextPaymentCredits]](../models/commercesubscriptionnextpaymentcredits.md) | :heavy_minus_sign: | N/A | | `discounts` | [OptionalNullable[models.CommerceSubscriptionNextPaymentDiscounts]](../models/commercesubscriptionnextpaymentdiscounts.md) | :heavy_minus_sign: | Information about the discounts applied to the payment | \ No newline at end of file diff --git a/docs/models/createorganizationdomainrequestbody.md b/docs/models/createorganizationdomainrequestbody.md index 66443afa..4f21b32d 100644 --- a/docs/models/createorganizationdomainrequestbody.md +++ b/docs/models/createorganizationdomainrequestbody.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the new domain | -| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` | -| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of domain's verification. Defaults to true | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the new domain | +| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` | +| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of domain's verification. Defaults to true | \ No newline at end of file diff --git a/docs/models/createscimdirectoryrequestbody.md b/docs/models/createscimdirectoryrequestbody.md new file mode 100644 index 00000000..fb02290e --- /dev/null +++ b/docs/models/createscimdirectoryrequestbody.md @@ -0,0 +1,11 @@ +# CreateSCIMDirectoryRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `enterprise_connection_id` | *str* | :heavy_check_mark: | The ID of the enterprise connection to associate with this SCIM directory. | +| `name` | *Optional[str]* | :heavy_minus_sign: | A human-friendly name for the SCIM directory. | +| `provider` | *str* | :heavy_check_mark: | The identity provider for this SCIM directory. | +| `group_role_mappings` | List[[models.GroupRoleMappings](../models/grouprolemappings.md)] | :heavy_minus_sign: | Optional SCIM group to organization role mappings to create with the directory. | \ No newline at end of file diff --git a/docs/models/createscimgrouprolemappingrequest.md b/docs/models/createscimgrouprolemappingrequest.md new file mode 100644 index 00000000..0545b089 --- /dev/null +++ b/docs/models/createscimgrouprolemappingrequest.md @@ -0,0 +1,9 @@ +# CreateSCIMGroupRoleMappingRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `request_body` | [models.CreateSCIMGroupRoleMappingRequestBody](../models/createscimgrouprolemappingrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/createscimgrouprolemappingrequestbody.md b/docs/models/createscimgrouprolemappingrequestbody.md new file mode 100644 index 00000000..5d26b04c --- /dev/null +++ b/docs/models/createscimgrouprolemappingrequestbody.md @@ -0,0 +1,10 @@ +# CreateSCIMGroupRoleMappingRequestBody + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `scim_group_id` | *str* | :heavy_check_mark: | The SCIM group ID from the identity provider. | +| `role_id` | *str* | :heavy_check_mark: | The ID of the organization role to assign to members of the SCIM group. | +| `precedence` | *Optional[int]* | :heavy_minus_sign: | The precedence for this mapping. Lower values take priority when a user belongs
to multiple mapped groups. If omitted, the mapping is appended with the
next-highest precedence. | \ No newline at end of file diff --git a/docs/models/credit.md b/docs/models/credit.md index 862e7918..f134f57f 100644 --- a/docs/models/credit.md +++ b/docs/models/credit.md @@ -5,7 +5,7 @@ Credit information (only available in PaymentAttempt events). ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `amount` | [OptionalNullable[models.SchemasCommerceSubscriptionItemCreditAmount]](../models/schemascommercesubscriptionitemcreditamount.md) | :heavy_minus_sign: | Credit amount. | -| `cycle_remaining_percent` | *Optional[float]* | :heavy_minus_sign: | Percentage of the billing cycle remaining. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `amount` | [OptionalNullable[models.CommerceSubscriptionItem2CreditAmount]](../models/commercesubscriptionitem2creditamount.md) | :heavy_minus_sign: | Credit amount. | +| `cycle_remaining_percent` | *Optional[float]* | :heavy_minus_sign: | Percentage of the billing cycle remaining. | \ No newline at end of file diff --git a/docs/models/deletescimdirectoryrequest.md b/docs/models/deletescimdirectoryrequest.md new file mode 100644 index 00000000..adfb92e9 --- /dev/null +++ b/docs/models/deletescimdirectoryrequest.md @@ -0,0 +1,8 @@ +# DeleteSCIMDirectoryRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory to delete | \ No newline at end of file diff --git a/docs/models/deletescimgrouprolemappingrequest.md b/docs/models/deletescimgrouprolemappingrequest.md new file mode 100644 index 00000000..ae62890c --- /dev/null +++ b/docs/models/deletescimgrouprolemappingrequest.md @@ -0,0 +1,9 @@ +# DeleteSCIMGroupRoleMappingRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `mapping_id` | *str* | :heavy_check_mark: | The ID of the SCIM group role mapping to delete. | \ No newline at end of file diff --git a/docs/models/enrollmentmode.md b/docs/models/enrollmentmode.md index 91902752..10af0085 100644 --- a/docs/models/enrollmentmode.md +++ b/docs/models/enrollmentmode.md @@ -17,4 +17,5 @@ value = EnrollmentMode.MANUAL_INVITATION | ---------------------- | ---------------------- | | `MANUAL_INVITATION` | manual_invitation | | `AUTOMATIC_INVITATION` | automatic_invitation | -| `AUTOMATIC_SUGGESTION` | automatic_suggestion | \ No newline at end of file +| `AUTOMATIC_SUGGESTION` | automatic_suggestion | +| `ENTERPRISE_SSO` | enterprise_sso | \ No newline at end of file diff --git a/docs/models/errorclerkerror.md b/docs/models/errorclerkerror.md index 6ee67508..4962f77b 100644 --- a/docs/models/errorclerkerror.md +++ b/docs/models/errorclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ErrorMeta]](../models/errormeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/errormeta.md b/docs/models/errormeta.md deleted file mode 100644 index e498afa4..00000000 --- a/docs/models/errormeta.md +++ /dev/null @@ -1,7 +0,0 @@ -# ErrorMeta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/schemasfeatureresponse.md b/docs/models/featureresponse2.md similarity index 94% rename from docs/models/schemasfeatureresponse.md rename to docs/models/featureresponse2.md index a23741af..ac317bd3 100644 --- a/docs/models/schemasfeatureresponse.md +++ b/docs/models/featureresponse2.md @@ -1,11 +1,11 @@ -# SchemasFeatureResponse +# FeatureResponse2 ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| `object` | [models.SchemasFeatureResponseObject](../models/schemasfeatureresponseobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | +| `object` | [models.FeatureResponse2Object](../models/featureresponse2object.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | | `id` | *str* | :heavy_check_mark: | Unique identifier for the feature. | | `name` | *str* | :heavy_check_mark: | The name of the feature. | | `description` | *str* | :heavy_check_mark: | The description of the feature. | diff --git a/docs/models/schemasfeatureresponseobject.md b/docs/models/featureresponse2object.md similarity index 59% rename from docs/models/schemasfeatureresponseobject.md rename to docs/models/featureresponse2object.md index 62eeef00..c8625716 100644 --- a/docs/models/schemasfeatureresponseobject.md +++ b/docs/models/featureresponse2object.md @@ -1,13 +1,13 @@ -# SchemasFeatureResponseObject +# FeatureResponse2Object String representing the object's type. Objects of the same type share the same value. ## Example Usage ```python -from clerk_backend_api.models import SchemasFeatureResponseObject +from clerk_backend_api.models import FeatureResponse2Object -value = SchemasFeatureResponseObject.FEATURE +value = FeatureResponse2Object.FEATURE ``` diff --git a/docs/models/getscimdirectoryrequest.md b/docs/models/getscimdirectoryrequest.md new file mode 100644 index 00000000..35d4c28a --- /dev/null +++ b/docs/models/getscimdirectoryrequest.md @@ -0,0 +1,8 @@ +# GetSCIMDirectoryRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory to retrieve | \ No newline at end of file diff --git a/docs/models/grouprolemappings.md b/docs/models/grouprolemappings.md new file mode 100644 index 00000000..5291b587 --- /dev/null +++ b/docs/models/grouprolemappings.md @@ -0,0 +1,11 @@ +# GroupRoleMappings + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `scim_group_id` | *str* | :heavy_check_mark: | The SCIM group ID from the identity provider. | +| `scim_group_display_name` | *Optional[str]* | :heavy_minus_sign: | Optional display name for the SCIM group. | +| `role_id` | *str* | :heavy_check_mark: | The organization role ID to assign to members of the SCIM group. | +| `precedence` | *Optional[int]* | :heavy_minus_sign: | The precedence for this mapping. If omitted, precedence is assigned by array order. | \ No newline at end of file diff --git a/docs/models/listallorganizationdomainsrequest.md b/docs/models/listallorganizationdomainsrequest.md index 6191ba43..f7abc465 100644 --- a/docs/models/listallorganizationdomainsrequest.md +++ b/docs/models/listallorganizationdomainsrequest.md @@ -7,7 +7,7 @@ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `organization_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the organization to filter domains by | | | `verified` | [Optional[models.Verified]](../models/verified.md) | :heavy_minus_sign: | Filter by verification status | | -| `enrollment_mode` | List[[models.QueryParamEnrollmentMode](../models/queryparamenrollmentmode.md)] | :heavy_minus_sign: | Filter by enrollment mode | | +| `enrollment_mode` | List[[models.QueryParamEnrollmentMode](../models/queryparamenrollmentmode.md)] | :heavy_minus_sign: | Filter by enrollment mode. Prefix a value with `-` to exclude it instead
(e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. | | | `query` | *Optional[str]* | :heavy_minus_sign: | Search domains by name or organization ID.
If the query starts with "org_", it will search by exact organization ID match.
Otherwise, it performs a case-insensitive partial match on the domain name.

Note: An empty string or whitespace-only value is not allowed and will result in a validation error.
| | | `domains` | List[*str*] | :heavy_minus_sign: | Filter by exact domain names. Accepts multiple values (e.g. domains=example.com&domains=test.org). | | | `order_by` | *Optional[str]* | :heavy_minus_sign: | Allows to return organization domains in a particular order.
At the moment, you can order the returned domains by their `name` or `created_at`.
In order to specify the direction, you can use the `+/-` symbols prepended to the property to order by.
For example, if you want domains to be returned in descending order according to their `created_at` property, you can use `-created_at`.
If you don't use `+` or `-`, then `+` is implied.
Defaults to `-created_at`.
| | diff --git a/docs/models/listorganizationdomainsrequest.md b/docs/models/listorganizationdomainsrequest.md index 6c5aa142..ca65f84d 100644 --- a/docs/models/listorganizationdomainsrequest.md +++ b/docs/models/listorganizationdomainsrequest.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `organization_id` | *str* | :heavy_check_mark: | The organization ID. | | -| `verified` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their verification status. `true` or `false` | | -| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their enrollment mode | | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Applies a limit to the number of results returned.
Can be used for paginating the results together with `offset`. | 20 | -| `offset` | *Optional[int]* | :heavy_minus_sign: | Skip the first `offset` results when paginating.
Needs to be an integer greater or equal to zero.
To be used in conjunction with `limit`. | 10 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `organization_id` | *str* | :heavy_check_mark: | The organization ID. | | +| `verified` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their verification status. `true` or `false` | | +| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their enrollment mode. Accepts `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`.
Prefix a value with `-` to exclude it instead (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. | | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Applies a limit to the number of results returned.
Can be used for paginating the results together with `offset`. | 20 | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Skip the first `offset` results when paginating.
Needs to be an integer greater or equal to zero.
To be used in conjunction with `limit`. | 10 | \ No newline at end of file diff --git a/docs/models/listscimdirectoriesrequest.md b/docs/models/listscimdirectoriesrequest.md new file mode 100644 index 00000000..f7d11489 --- /dev/null +++ b/docs/models/listscimdirectoriesrequest.md @@ -0,0 +1,9 @@ +# ListSCIMDirectoriesRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Applies a limit to the number of results returned.
Can be used for paginating the results together with `offset`. | 20 | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Skip the first `offset` results when paginating.
Needs to be an integer greater or equal to zero.
To be used in conjunction with `limit`. | 10 | \ No newline at end of file diff --git a/docs/models/listscimgrouprolemappingsrequest.md b/docs/models/listscimgrouprolemappingsrequest.md new file mode 100644 index 00000000..4c0e90d3 --- /dev/null +++ b/docs/models/listscimgrouprolemappingsrequest.md @@ -0,0 +1,8 @@ +# ListSCIMGroupRoleMappingsRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | \ No newline at end of file diff --git a/docs/models/mappings.md b/docs/models/mappings.md new file mode 100644 index 00000000..cec1298f --- /dev/null +++ b/docs/models/mappings.md @@ -0,0 +1,9 @@ +# Mappings + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `scim_group_id` | *str* | :heavy_check_mark: | The SCIM group ID from the identity provider. | +| `role_id` | *str* | :heavy_check_mark: | The ID of the organization role to assign to members of the SCIM group. | \ No newline at end of file diff --git a/docs/models/meta.md b/docs/models/meta.md deleted file mode 100644 index 93f98d6a..00000000 --- a/docs/models/meta.md +++ /dev/null @@ -1,7 +0,0 @@ -# Meta - - -## Fields - -| Field | Type | Required | Description | -| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/models/nextinvoice.md b/docs/models/nextinvoice.md index fac74027..1a93887d 100644 --- a/docs/models/nextinvoice.md +++ b/docs/models/nextinvoice.md @@ -5,9 +5,9 @@ Information about the next invoice. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `amount` | [OptionalNullable[models.SchemasCommerceSubscriptionItemNextInvoiceAmount]](../models/schemascommercesubscriptionitemnextinvoiceamount.md) | :heavy_minus_sign: | Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount. | -| `date_` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) for the next payment date. | -| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | Per-unit total breakdown (for example, seats) for the next payment. | -| `totals` | [OptionalNullable[models.SchemasCommerceSubscriptionItemTotals]](../models/schemascommercesubscriptionitemtotals.md) | :heavy_minus_sign: | Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `amount` | [OptionalNullable[models.CommerceSubscriptionItem2NextInvoiceAmount]](../models/commercesubscriptionitem2nextinvoiceamount.md) | :heavy_minus_sign: | Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount. | +| `date_` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) for the next payment date. | +| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | Per-unit total breakdown (for example, seats) for the next payment. | +| `totals` | [OptionalNullable[models.CommerceSubscriptionItem2Totals]](../models/commercesubscriptionitem2totals.md) | :heavy_minus_sign: | Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. | \ No newline at end of file diff --git a/docs/models/one.md b/docs/models/one.md index f13b8626..4d9762cd 100644 --- a/docs/models/one.md +++ b/docs/models/one.md @@ -3,32 +3,34 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| `object` | [models.SAMLConnectionObject](../models/samlconnectionobject.md) | :heavy_check_mark: | N/A | saml_connection | -| `id` | *str* | :heavy_check_mark: | N/A | sc_1234567890 | -| `name` | *str* | :heavy_check_mark: | N/A | My Company SAML Config | -| ~~`domain`~~ | *str* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | mycompany.com | -| `domains` | List[*str*] | :heavy_minus_sign: | N/A | | -| `idp_entity_id` | *Nullable[str]* | :heavy_check_mark: | N/A | idp-entity-id | -| `idp_sso_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://sso.mycompany.com | -| `idp_certificate` | *Nullable[str]* | :heavy_check_mark: | N/A | MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT... | -| `idp_metadata_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | https://sso.mycompany.com/metadata | -| `idp_metadata` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | 1614768000 | -| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp of last update.
| 1622540800 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `object` | [models.SAMLConnectionObject](../models/samlconnectionobject.md) | :heavy_check_mark: | N/A | saml_connection | +| `id` | *str* | :heavy_check_mark: | N/A | sc_1234567890 | +| `name` | *str* | :heavy_check_mark: | N/A | My Company SAML Config | +| ~~`domain`~~ | *str* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | mycompany.com | +| `domains` | List[*str*] | :heavy_minus_sign: | N/A | | +| `idp_entity_id` | *Nullable[str]* | :heavy_check_mark: | N/A | idp-entity-id | +| `idp_sso_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://sso.mycompany.com | +| `idp_certificate` | *Nullable[str]* | :heavy_check_mark: | N/A | MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT... | +| `idp_certificate_issued_at` | *Nullable[int]* | :heavy_check_mark: | Unix timestamp (milliseconds) of the start of the IdP certificate validity window (X.509 NotBefore). Null when no certificate is configured.
| | +| `idp_certificate_expires_at` | *Nullable[int]* | :heavy_check_mark: | Unix timestamp (milliseconds) of the end of the IdP certificate validity window (X.509 NotAfter). Null when no certificate is configured.
| | +| `idp_metadata_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | https://sso.mycompany.com/metadata | +| `idp_metadata` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | 1614768000 | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp of last update.
| 1622540800 | \ No newline at end of file diff --git a/docs/models/payer.md b/docs/models/payer.md index ca71b47e..c8fe317f 100644 --- a/docs/models/payer.md +++ b/docs/models/payer.md @@ -5,18 +5,18 @@ The payer associated with this subscription. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `object` | [models.SchemasCommerceSubscriptionItemPayerObject](../models/schemascommercesubscriptionitempayerobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the payer. | -| `instance_id` | *str* | :heavy_check_mark: | Unique identifier for the Clerk instance. | -| `user_id` | *Optional[str]* | :heavy_minus_sign: | User ID for user-type payers. | -| `first_name` | *str* | :heavy_check_mark: | First name of the payer. | -| `last_name` | *str* | :heavy_check_mark: | Last name of the payer. | -| `email` | *str* | :heavy_check_mark: | Email address of the payer. | -| `organization_id` | *Optional[str]* | :heavy_minus_sign: | Organization ID for org-type payers. | -| `organization_name` | *Optional[str]* | :heavy_minus_sign: | Organization name for org-type payers. | -| `image_url` | *str* | :heavy_check_mark: | URL of the payer's image/avatar. | -| `credits_balance` | [Optional[models.CommerceMoneyResponse]](../models/commercemoneyresponse.md) | :heavy_minus_sign: | N/A | -| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payer was created. | -| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payer was last updated. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `object` | [models.CommerceSubscriptionItem2PayerObject](../models/commercesubscriptionitem2payerobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the payer. | +| `instance_id` | *str* | :heavy_check_mark: | Unique identifier for the Clerk instance. | +| `user_id` | *Optional[str]* | :heavy_minus_sign: | User ID for user-type payers. | +| `first_name` | *str* | :heavy_check_mark: | First name of the payer. | +| `last_name` | *str* | :heavy_check_mark: | Last name of the payer. | +| `email` | *str* | :heavy_check_mark: | Email address of the payer. | +| `organization_id` | *Optional[str]* | :heavy_minus_sign: | Organization ID for org-type payers. | +| `organization_name` | *Optional[str]* | :heavy_minus_sign: | Organization name for org-type payers. | +| `image_url` | *str* | :heavy_check_mark: | URL of the payer's image/avatar. | +| `credits_balance` | [Optional[models.CommerceMoneyResponse]](../models/commercemoneyresponse.md) | :heavy_minus_sign: | N/A | +| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payer was created. | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payer was last updated. | \ No newline at end of file diff --git a/docs/models/paymentsource.md b/docs/models/paymentsource.md index a829e24a..e432b251 100644 --- a/docs/models/paymentsource.md +++ b/docs/models/paymentsource.md @@ -5,22 +5,22 @@ The payment source associated with this subscription. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| `object` | [models.SchemasCommerceSubscriptionItemPaymentSourceObject](../models/schemascommercesubscriptionitempaymentsourceobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the payment source. | -| `payer_id` | *str* | :heavy_check_mark: | Unique identifier for the payer. | -| `payment_method` | [models.PaymentMethod](../models/paymentmethod.md) | :heavy_check_mark: | The payment method type. | -| `is_default` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this is the default payment source for the payer. | -| `gateway` | *str* | :heavy_check_mark: | The payment gateway. | -| `gateway_external_id` | *str* | :heavy_check_mark: | External ID in the payment gateway. | -| `gateway_external_account_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External account ID in the payment gateway. | -| `last4` | *str* | :heavy_check_mark: | Last 4 digits of the card (for card payment sources). | -| `status` | [models.SchemasCommerceSubscriptionItemPaymentSourceStatus](../models/schemascommercesubscriptionitempaymentsourcestatus.md) | :heavy_check_mark: | Status of the payment source. | -| `wallet_type` | *str* | :heavy_check_mark: | Type of wallet (if applicable). | -| `card_type` | *str* | :heavy_check_mark: | Type of card (if applicable). | -| `expiry_year` | *Optional[int]* | :heavy_minus_sign: | Card expiration year (for card payment sources). | -| `expiry_month` | *Optional[int]* | :heavy_minus_sign: | Card expiration month (for card payment sources). | -| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payment source was created. | -| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payment source was last updated. | -| `is_removable` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this payment source can be removed. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `object` | [models.CommerceSubscriptionItem2PaymentSourceObject](../models/commercesubscriptionitem2paymentsourceobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the payment source. | +| `payer_id` | *str* | :heavy_check_mark: | Unique identifier for the payer. | +| `payment_method` | [models.PaymentMethod](../models/paymentmethod.md) | :heavy_check_mark: | The payment method type. | +| `is_default` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this is the default payment source for the payer. | +| `gateway` | *str* | :heavy_check_mark: | The payment gateway. | +| `gateway_external_id` | *str* | :heavy_check_mark: | External ID in the payment gateway. | +| `gateway_external_account_id` | *OptionalNullable[str]* | :heavy_minus_sign: | External account ID in the payment gateway. | +| `last4` | *str* | :heavy_check_mark: | Last 4 digits of the card (for card payment sources). | +| `status` | [models.CommerceSubscriptionItem2PaymentSourceStatus](../models/commercesubscriptionitem2paymentsourcestatus.md) | :heavy_check_mark: | Status of the payment source. | +| `wallet_type` | *str* | :heavy_check_mark: | Type of wallet (if applicable). | +| `card_type` | *str* | :heavy_check_mark: | Type of card (if applicable). | +| `expiry_year` | *Optional[int]* | :heavy_minus_sign: | Card expiration year (for card payment sources). | +| `expiry_month` | *Optional[int]* | :heavy_minus_sign: | Card expiration month (for card payment sources). | +| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payment source was created. | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the payment source was last updated. | +| `is_removable` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this payment source can be removed. | \ No newline at end of file diff --git a/docs/models/queryparamenrollmentmode.md b/docs/models/queryparamenrollmentmode.md index a318c83a..fefab90e 100644 --- a/docs/models/queryparamenrollmentmode.md +++ b/docs/models/queryparamenrollmentmode.md @@ -11,8 +11,13 @@ value = QueryParamEnrollmentMode.MANUAL_INVITATION ## Values -| Name | Value | -| ---------------------- | ---------------------- | -| `MANUAL_INVITATION` | manual_invitation | -| `AUTOMATIC_INVITATION` | automatic_invitation | -| `AUTOMATIC_SUGGESTION` | automatic_suggestion | \ No newline at end of file +| Name | Value | +| ---------------------------- | ---------------------------- | +| `MANUAL_INVITATION` | manual_invitation | +| `AUTOMATIC_INVITATION` | automatic_invitation | +| `AUTOMATIC_SUGGESTION` | automatic_suggestion | +| `ENTERPRISE_SSO` | enterprise_sso | +| `MINUS_MANUAL_INVITATION` | -manual_invitation | +| `MINUS_AUTOMATIC_INVITATION` | -automatic_invitation | +| `MINUS_AUTOMATIC_SUGGESTION` | -automatic_suggestion | +| `MINUS_ENTERPRISE_SSO` | -enterprise_sso | \ No newline at end of file diff --git a/docs/models/replacescimgrouprolemappingsrequest.md b/docs/models/replacescimgrouprolemappingsrequest.md new file mode 100644 index 00000000..6e2b8ef3 --- /dev/null +++ b/docs/models/replacescimgrouprolemappingsrequest.md @@ -0,0 +1,9 @@ +# ReplaceSCIMGroupRoleMappingsRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `request_body` | [models.ReplaceSCIMGroupRoleMappingsRequestBody](../models/replacescimgrouprolemappingsrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/replacescimgrouprolemappingsrequestbody.md b/docs/models/replacescimgrouprolemappingsrequestbody.md new file mode 100644 index 00000000..ba0ce1b3 --- /dev/null +++ b/docs/models/replacescimgrouprolemappingsrequestbody.md @@ -0,0 +1,8 @@ +# ReplaceSCIMGroupRoleMappingsRequestBody + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `mappings` | List[[models.Mappings](../models/mappings.md)] | :heavy_check_mark: | The desired set of mappings. Array order sets precedence (1-indexed). An empty array clears all mappings. | \ No newline at end of file diff --git a/docs/models/revokeoauthapplicationtokenrequest.md b/docs/models/revokeoauthapplicationtokenrequest.md new file mode 100644 index 00000000..1725f837 --- /dev/null +++ b/docs/models/revokeoauthapplicationtokenrequest.md @@ -0,0 +1,9 @@ +# RevokeOAuthApplicationTokenRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `oauth_application_id` | *str* | :heavy_check_mark: | The ID of the OAuth application for which to revoke the token | +| `request_body` | [models.RevokeOAuthApplicationTokenRequestBody](../models/revokeoauthapplicationtokenrequestbody.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/revokeoauthapplicationtokenrequestbody.md b/docs/models/revokeoauthapplicationtokenrequestbody.md new file mode 100644 index 00000000..4259ae94 --- /dev/null +++ b/docs/models/revokeoauthapplicationtokenrequestbody.md @@ -0,0 +1,8 @@ +# RevokeOAuthApplicationTokenRequestBody + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `token` | *str* | :heavy_check_mark: | The opaque OAuth access token or refresh token to revoke. All tokens associated with the same OAuth grant are also revoked. | \ No newline at end of file diff --git a/docs/models/rotatescimdirectoryapikeyrequest.md b/docs/models/rotatescimdirectoryapikeyrequest.md new file mode 100644 index 00000000..34a6fa73 --- /dev/null +++ b/docs/models/rotatescimdirectoryapikeyrequest.md @@ -0,0 +1,8 @@ +# RotateSCIMDirectoryAPIKeyRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory whose API key to rotate | \ No newline at end of file diff --git a/docs/models/schemascommerceperunittotal.md b/docs/models/schemascommerceperunittotal.md deleted file mode 100644 index 12f68cbf..00000000 --- a/docs/models/schemascommerceperunittotal.md +++ /dev/null @@ -1,10 +0,0 @@ -# SchemasCommercePerUnitTotal - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `name` | *str* | :heavy_check_mark: | Name of the billable unit (for example, seats) | -| `block_size` | *int* | :heavy_check_mark: | Number of units included in each pricing block | -| `tiers` | List[[models.SchemasCommercePerUnitTotalTier](../models/schemascommerceperunittotaltier.md)] | :heavy_check_mark: | Computed totals for each pricing tier | \ No newline at end of file diff --git a/docs/models/schemascommerceplan.md b/docs/models/schemascommerceplan.md deleted file mode 100644 index 72d7df31..00000000 --- a/docs/models/schemascommerceplan.md +++ /dev/null @@ -1,36 +0,0 @@ -# SchemasCommercePlan - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `object` | [models.SchemasCommercePlanObject](../models/schemascommerceplanobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the commerce plan. | -| `name` | *str* | :heavy_check_mark: | The name of the commerce plan. | -| `fee` | [Nullable[models.SchemasCommercePlanFee]](../models/schemascommerceplanfee.md) | :heavy_check_mark: | N/A | -| `annual_monthly_fee` | [Nullable[models.SchemasCommercePlanAnnualMonthlyFee]](../models/schemascommerceplanannualmonthlyfee.md) | :heavy_check_mark: | N/A | -| `annual_fee` | [Nullable[models.SchemasCommercePlanAnnualFee]](../models/schemascommerceplanannualfee.md) | :heavy_check_mark: | N/A | -| `amount` | *int* | :heavy_check_mark: | The amount in cents for the plan. | -| `amount_formatted` | *str* | :heavy_check_mark: | The formatted amount as a string (e.g., "$49.99"). | -| `annual_monthly_amount` | *int* | :heavy_check_mark: | The monthly amount in cents when billed annually. | -| `annual_monthly_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual monthly amount as a string. | -| `annual_amount` | *int* | :heavy_check_mark: | The total annual amount in cents. | -| `annual_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual amount as a string. | -| `currency_symbol` | *str* | :heavy_check_mark: | The currency symbol (e.g., "$"). | -| `currency` | *str* | :heavy_check_mark: | The currency code (e.g., "USD"). | -| `description` | *str* | :heavy_check_mark: | The description of the commerce plan. | -| `product_id` | *str* | :heavy_check_mark: | The ID of the product this plan belongs to. | -| `is_default` | *bool* | :heavy_check_mark: | Whether this is the default plan. | -| `is_recurring` | *bool* | :heavy_check_mark: | Whether this is a recurring plan. | -| `publicly_visible` | *bool* | :heavy_check_mark: | Whether this plan is publicly visible. | -| `has_base_fee` | *bool* | :heavy_check_mark: | Whether this plan has a base fee. | -| `payer_type` | List[*str*] | :heavy_check_mark: | The types of payers that can use this plan. | -| `for_payer_type` | *str* | :heavy_check_mark: | The payer type this plan is designed for. | -| `slug` | *str* | :heavy_check_mark: | The URL-friendly slug for the plan. | -| `avatar_url` | *str* | :heavy_check_mark: | The URL of the plan's avatar image. | -| `period` | *Optional[str]* | :heavy_minus_sign: | The billing period for the plan. | -| `interval` | *Optional[int]* | :heavy_minus_sign: | The billing interval. | -| `features` | List[[models.SchemasFeatureResponse](../models/schemasfeatureresponse.md)] | :heavy_check_mark: | The features included in this plan. | -| `free_trial_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether free trial is enabled for this plan. | -| `free_trial_days` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of free trial days for this plan. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitem.md b/docs/models/schemascommercesubscriptionitem.md deleted file mode 100644 index edc5f717..00000000 --- a/docs/models/schemascommercesubscriptionitem.md +++ /dev/null @@ -1,35 +0,0 @@ -# SchemasCommerceSubscriptionItem - -A commerce subscription item. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `object` | [models.SchemasCommerceSubscriptionItemObject](../models/schemascommercesubscriptionitemobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the subscription item. | -| `instance_id` | *str* | :heavy_check_mark: | Unique identifier for the Clerk instance. | -| `status` | [models.SchemasCommerceSubscriptionItemStatus](../models/schemascommercesubscriptionitemstatus.md) | :heavy_check_mark: | Current status of the subscription item. | -| `credit` | [OptionalNullable[models.Credit]](../models/credit.md) | :heavy_minus_sign: | Credit information (only available in PaymentAttempt events). | -| `plan_id` | *str* | :heavy_check_mark: | Unique identifier for the associated plan. | -| `price_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the associated price | -| `plan` | [Nullable[models.SchemasCommerceSubscriptionItemPlan]](../models/schemascommercesubscriptionitemplan.md) | :heavy_check_mark: | The associated commerce plan. | -| `plan_period` | [models.SchemasCommerceSubscriptionItemPlanPeriod](../models/schemascommercesubscriptionitemplanperiod.md) | :heavy_check_mark: | The billing period for this subscription. | -| `payment_source_id` | *str* | :heavy_check_mark: | Unique identifier for the payment source. | -| `payment_source` | [OptionalNullable[models.PaymentSource]](../models/paymentsource.md) | :heavy_minus_sign: | The payment source associated with this subscription. | -| `lifetime_paid` | [OptionalNullable[models.LifetimePaid]](../models/lifetimepaid.md) | :heavy_minus_sign: | Total amount paid over the lifetime of this subscription. | -| `amount` | [OptionalNullable[models.SchemasCommerceSubscriptionItemAmount]](../models/schemascommercesubscriptionitemamount.md) | :heavy_minus_sign: | Current amount for this subscription. | -| `next_invoice` | [OptionalNullable[models.NextInvoice]](../models/nextinvoice.md) | :heavy_minus_sign: | Information about the next invoice. | -| `next_payment` | [OptionalNullable[models.SchemasCommerceSubscriptionItemNextPayment]](../models/schemascommercesubscriptionitemnextpayment.md) | :heavy_minus_sign: | Information about the next payment. | -| `payer_id` | *str* | :heavy_check_mark: | Unique identifier for the payer. | -| `payer` | [OptionalNullable[models.Payer]](../models/payer.md) | :heavy_minus_sign: | The payer associated with this subscription. | -| `is_free_trial` | *bool* | :heavy_check_mark: | Whether this subscription is currently on a free trial. | -| `period_start` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the current period started. | -| `period_end` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the current period ends. | -| `proration_date` | *str* | :heavy_check_mark: | Date used for proration calculations. | -| `canceled_at` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the subscription was canceled. | -| `past_due_at` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the subscription became past due. | -| `ended_at` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) when the subscription ended. | -| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the subscription was created. | -| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (in milliseconds) when the subscription was last updated. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemannualmonthlyfee.md b/docs/models/schemascommercesubscriptionitemannualmonthlyfee.md deleted file mode 100644 index f64e0c44..00000000 --- a/docs/models/schemascommercesubscriptionitemannualmonthlyfee.md +++ /dev/null @@ -1,11 +0,0 @@ -# SchemasCommerceSubscriptionItemAnnualMonthlyFee - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -| `amount` | *int* | :heavy_check_mark: | The amount in cents. | -| `amount_formatted` | *str* | :heavy_check_mark: | The formatted amount as a string (e.g., "$49.99"). | -| `currency` | *str* | :heavy_check_mark: | The currency code (e.g., "USD"). | -| `currency_symbol` | *str* | :heavy_check_mark: | The currency symbol (e.g., "$"). | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemcredits.md b/docs/models/schemascommercesubscriptionitemcredits.md deleted file mode 100644 index b44c3848..00000000 --- a/docs/models/schemascommercesubscriptionitemcredits.md +++ /dev/null @@ -1,10 +0,0 @@ -# SchemasCommerceSubscriptionItemCredits - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `proration` | [Nullable[models.SchemasCommerceSubscriptionItemProration]](../models/schemascommercesubscriptionitemproration.md) | :heavy_check_mark: | N/A | -| `payer` | [Nullable[models.SchemasCommerceSubscriptionItemPayer]](../models/schemascommercesubscriptionitempayer.md) | :heavy_check_mark: | N/A | -| `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpayment.md b/docs/models/schemascommercesubscriptionitemnextpayment.md deleted file mode 100644 index 9a067e3c..00000000 --- a/docs/models/schemascommercesubscriptionitemnextpayment.md +++ /dev/null @@ -1,13 +0,0 @@ -# SchemasCommerceSubscriptionItemNextPayment - -Information about the next payment. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `amount` | [OptionalNullable[models.SchemasCommerceSubscriptionItemNextPaymentAmount]](../models/schemascommercesubscriptionitemnextpaymentamount.md) | :heavy_minus_sign: | Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount. | -| `date_` | *OptionalNullable[int]* | :heavy_minus_sign: | Unix timestamp (in milliseconds) for the next payment date. | -| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | Per-unit total breakdown (for example, seats) for the next payment. | -| `totals` | [OptionalNullable[models.SchemasCommerceSubscriptionItemNextPaymentTotals]](../models/schemascommercesubscriptionitemnextpaymenttotals.md) | :heavy_minus_sign: | Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpaymentcredits.md b/docs/models/schemascommercesubscriptionitemnextpaymentcredits.md deleted file mode 100644 index 2b0b9f9c..00000000 --- a/docs/models/schemascommercesubscriptionitemnextpaymentcredits.md +++ /dev/null @@ -1,10 +0,0 @@ -# SchemasCommerceSubscriptionItemNextPaymentCredits - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `proration` | [Nullable[models.SchemasCommerceSubscriptionItemNextPaymentProration]](../models/schemascommercesubscriptionitemnextpaymentproration.md) | :heavy_check_mark: | N/A | -| `payer` | [Nullable[models.SchemasCommerceSubscriptionItemNextPaymentPayer]](../models/schemascommercesubscriptionitemnextpaymentpayer.md) | :heavy_check_mark: | N/A | -| `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpaymentdiscounts.md b/docs/models/schemascommercesubscriptionitemnextpaymentdiscounts.md deleted file mode 100644 index 3f790bdf..00000000 --- a/docs/models/schemascommercesubscriptionitemnextpaymentdiscounts.md +++ /dev/null @@ -1,9 +0,0 @@ -# SchemasCommerceSubscriptionItemNextPaymentDiscounts - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `proration` | [Nullable[models.SchemasCommerceSubscriptionItemNextPaymentTotalsProration]](../models/schemascommercesubscriptionitemnextpaymenttotalsproration.md) | :heavy_check_mark: | N/A | -| `total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemnextpaymenttotals.md b/docs/models/schemascommercesubscriptionitemnextpaymenttotals.md deleted file mode 100644 index 2623247c..00000000 --- a/docs/models/schemascommercesubscriptionitemnextpaymenttotals.md +++ /dev/null @@ -1,16 +0,0 @@ -# SchemasCommerceSubscriptionItemNextPaymentTotals - -Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | -| `subtotal` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | N/A | -| `credits` | [OptionalNullable[models.SchemasCommerceSubscriptionItemNextPaymentCredits]](../models/schemascommercesubscriptionitemnextpaymentcredits.md) | :heavy_minus_sign: | N/A | -| `discounts` | [OptionalNullable[models.SchemasCommerceSubscriptionItemNextPaymentDiscounts]](../models/schemascommercesubscriptionitemnextpaymentdiscounts.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemplan.md b/docs/models/schemascommercesubscriptionitemplan.md deleted file mode 100644 index fc43e9be..00000000 --- a/docs/models/schemascommercesubscriptionitemplan.md +++ /dev/null @@ -1,38 +0,0 @@ -# SchemasCommerceSubscriptionItemPlan - -The associated commerce plan. - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `object` | [models.SchemasCommerceSubscriptionItemPlanObject](../models/schemascommercesubscriptionitemplanobject.md) | :heavy_check_mark: | String representing the object's type. Objects of the same type share the same value. | -| `id` | *str* | :heavy_check_mark: | Unique identifier for the commerce plan. | -| `name` | *str* | :heavy_check_mark: | The name of the commerce plan. | -| `fee` | [Nullable[models.SchemasCommerceSubscriptionItemFee]](../models/schemascommercesubscriptionitemfee.md) | :heavy_check_mark: | N/A | -| `annual_monthly_fee` | [Nullable[models.SchemasCommerceSubscriptionItemAnnualMonthlyFee]](../models/schemascommercesubscriptionitemannualmonthlyfee.md) | :heavy_check_mark: | N/A | -| `annual_fee` | [Nullable[models.SchemasCommerceSubscriptionItemAnnualFee]](../models/schemascommercesubscriptionitemannualfee.md) | :heavy_check_mark: | N/A | -| `amount` | *int* | :heavy_check_mark: | The amount in cents for the plan. | -| `amount_formatted` | *str* | :heavy_check_mark: | The formatted amount as a string (e.g., "$49.99"). | -| `annual_monthly_amount` | *int* | :heavy_check_mark: | The monthly amount in cents when billed annually. | -| `annual_monthly_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual monthly amount as a string. | -| `annual_amount` | *int* | :heavy_check_mark: | The total annual amount in cents. | -| `annual_amount_formatted` | *str* | :heavy_check_mark: | The formatted annual amount as a string. | -| `currency_symbol` | *str* | :heavy_check_mark: | The currency symbol (e.g., "$"). | -| `currency` | *str* | :heavy_check_mark: | The currency code (e.g., "USD"). | -| `description` | *str* | :heavy_check_mark: | The description of the commerce plan. | -| `product_id` | *str* | :heavy_check_mark: | The ID of the product this plan belongs to. | -| `is_default` | *bool* | :heavy_check_mark: | Whether this is the default plan. | -| `is_recurring` | *bool* | :heavy_check_mark: | Whether this is a recurring plan. | -| `publicly_visible` | *bool* | :heavy_check_mark: | Whether this plan is publicly visible. | -| `has_base_fee` | *bool* | :heavy_check_mark: | Whether this plan has a base fee. | -| `payer_type` | List[*str*] | :heavy_check_mark: | The types of payers that can use this plan. | -| `for_payer_type` | *str* | :heavy_check_mark: | The payer type this plan is designed for. | -| `slug` | *str* | :heavy_check_mark: | The URL-friendly slug for the plan. | -| `avatar_url` | *str* | :heavy_check_mark: | The URL of the plan's avatar image. | -| `period` | *Optional[str]* | :heavy_minus_sign: | The billing period for the plan. | -| `interval` | *Optional[int]* | :heavy_minus_sign: | The billing interval. | -| `features` | List[[models.SchemasFeatureResponse](../models/schemasfeatureresponse.md)] | :heavy_check_mark: | The features included in this plan. | -| `free_trial_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether free trial is enabled for this plan. | -| `free_trial_days` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of free trial days for this plan. | \ No newline at end of file diff --git a/docs/models/schemascommercesubscriptionitemtotals.md b/docs/models/schemascommercesubscriptionitemtotals.md deleted file mode 100644 index d9394b7a..00000000 --- a/docs/models/schemascommercesubscriptionitemtotals.md +++ /dev/null @@ -1,16 +0,0 @@ -# SchemasCommerceSubscriptionItemTotals - -Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed. - - -## Fields - -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -| `subtotal` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `per_unit_totals` | List[[models.CommercePerUnitTotal](../models/commerceperunittotal.md)] | :heavy_minus_sign: | N/A | -| `credits` | [OptionalNullable[models.SchemasCommerceSubscriptionItemCredits]](../models/schemascommercesubscriptionitemcredits.md) | :heavy_minus_sign: | N/A | -| `discounts` | [OptionalNullable[models.SchemasCommerceSubscriptionItemDiscounts]](../models/schemascommercesubscriptionitemdiscounts.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/scimdirectory.md b/docs/models/scimdirectory.md new file mode 100644 index 00000000..7128dd2a --- /dev/null +++ b/docs/models/scimdirectory.md @@ -0,0 +1,22 @@ +# SCIMDirectory + +A SCIM directory configuration for provisioning users via SCIM protocol. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `object` | [models.SCIMDirectoryObject](../models/scimdirectoryobject.md) | :heavy_check_mark: | String representing the object's type. Always "scim_directory". | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the SCIM directory. | +| `name` | *str* | :heavy_check_mark: | A human-friendly name for the SCIM directory. | +| `enterprise_connection_id` | *OptionalNullable[str]* | :heavy_minus_sign: | The ID of the associated enterprise connection. | +| `endpoint_url` | *str* | :heavy_check_mark: | The SCIM endpoint URL for this directory. | +| `provider` | *str* | :heavy_check_mark: | The identity provider for this SCIM directory. | +| `enabled` | *bool* | :heavy_check_mark: | Whether the SCIM directory is enabled. | +| `group_role_mapping_enabled` | *bool* | :heavy_check_mark: | Whether group-to-role mapping is enabled for this SCIM directory. | +| `attribute_mapping` | Dict[str, *str*] | :heavy_check_mark: | Mapping of user attributes to the SCIM attribute paths they are extracted from. | +| `custom_attributes` | List[[models.SCIMDirectoryCustomAttributes](../models/scimdirectorycustomattributes.md)] | :heavy_minus_sign: | Custom attributes to map from the IdP to the user's profile via SCIM provisioning. Requires the custom attributes feature to be enabled for the instance. | +| `api_key` | *OptionalNullable[str]* | :heavy_minus_sign: | The API key for authenticating SCIM requests. Only returned when the directory is created or the key is rotated. | +| `created_at` | *int* | :heavy_check_mark: | Unix timestamp when the SCIM directory was created. | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp when the SCIM directory was last updated. | \ No newline at end of file diff --git a/docs/models/scimdirectorycustomattributes.md b/docs/models/scimdirectorycustomattributes.md new file mode 100644 index 00000000..b88c200d --- /dev/null +++ b/docs/models/scimdirectorycustomattributes.md @@ -0,0 +1,12 @@ +# SCIMDirectoryCustomAttributes + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *Optional[str]* | :heavy_minus_sign: | Display name for the custom attribute | +| `key` | *Optional[str]* | :heavy_minus_sign: | Key used to store the attribute in the user's public/private/unsafe metadata | +| `sso_path` | *Optional[str]* | :heavy_minus_sign: | Path to extract the attribute value from SSO claims (SAML assertions or OIDC claims) | +| `scim_path` | *Optional[str]* | :heavy_minus_sign: | GJSON path to extract the attribute value from SCIM user resources | +| `multi_valued` | *Optional[bool]* | :heavy_minus_sign: | When true, the attribute supports multiple values; values from the IdP are written to public_metadata as an array. Defaults to false. | \ No newline at end of file diff --git a/docs/models/scimdirectorylist.md b/docs/models/scimdirectorylist.md new file mode 100644 index 00000000..fbcd6d88 --- /dev/null +++ b/docs/models/scimdirectorylist.md @@ -0,0 +1,11 @@ +# SCIMDirectoryList + +A list of SCIM directories + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | +| `data` | List[[models.SCIMDirectory](../models/scimdirectory.md)] | :heavy_check_mark: | N/A | +| `total_count` | *int* | :heavy_check_mark: | Total number of SCIM directories. | \ No newline at end of file diff --git a/docs/models/scimdirectoryobject.md b/docs/models/scimdirectoryobject.md new file mode 100644 index 00000000..3229b174 --- /dev/null +++ b/docs/models/scimdirectoryobject.md @@ -0,0 +1,18 @@ +# SCIMDirectoryObject + +String representing the object's type. Always "scim_directory". + +## Example Usage + +```python +from clerk_backend_api.models import SCIMDirectoryObject + +value = SCIMDirectoryObject.SCIM_DIRECTORY +``` + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `SCIM_DIRECTORY` | scim_directory | \ No newline at end of file diff --git a/docs/models/scimgrouprolemapping.md b/docs/models/scimgrouprolemapping.md new file mode 100644 index 00000000..a3456798 --- /dev/null +++ b/docs/models/scimgrouprolemapping.md @@ -0,0 +1,18 @@ +# SCIMGroupRoleMapping + +A mapping from a SCIM group to an organization role. Members of the group are assigned the role; the lowest-precedence match wins when a user belongs to multiple mapped groups. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `object` | [models.SCIMGroupRoleMappingObject](../models/scimgrouprolemappingobject.md) | :heavy_check_mark: | String representing the object's type. Always "scim_group_role_mapping". | +| `id` | *str* | :heavy_check_mark: | Unique identifier for the SCIM group role mapping. | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory this mapping belongs to. | +| `scim_group_id` | *str* | :heavy_check_mark: | The SCIM group ID from the identity provider. | +| `scim_group_display_name` | *str* | :heavy_check_mark: | The display name of the SCIM group, as reported by the identity provider. | +| `role` | [Optional[models.Role]](../models/role.md) | :heavy_minus_sign: | N/A | +| `precedence` | *int* | :heavy_check_mark: | Mapping precedence, starting at 1. Lower values take priority when a user belongs to multiple mapped groups. | +| `created_at` | *int* | :heavy_check_mark: | Unix timestamp (milliseconds) of when the mapping was created. | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp (milliseconds) of when the mapping was last updated. | \ No newline at end of file diff --git a/docs/models/scimgrouprolemappingdeleted.md b/docs/models/scimgrouprolemappingdeleted.md new file mode 100644 index 00000000..344eb542 --- /dev/null +++ b/docs/models/scimgrouprolemappingdeleted.md @@ -0,0 +1,12 @@ +# SCIMGroupRoleMappingDeleted + +A SCIM group role mapping was deleted. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `object` | [models.SCIMGroupRoleMappingDeletedObject](../models/scimgrouprolemappingdeletedobject.md) | :heavy_check_mark: | String representing the object's type. | +| `id` | *str* | :heavy_check_mark: | The ID of the deleted SCIM group role mapping. | +| `deleted` | *Literal[True]* | :heavy_check_mark: | Whether the SCIM group role mapping was successfully deleted. | \ No newline at end of file diff --git a/docs/models/scimgrouprolemappingdeletedobject.md b/docs/models/scimgrouprolemappingdeletedobject.md new file mode 100644 index 00000000..c00f9fd1 --- /dev/null +++ b/docs/models/scimgrouprolemappingdeletedobject.md @@ -0,0 +1,18 @@ +# SCIMGroupRoleMappingDeletedObject + +String representing the object's type. + +## Example Usage + +```python +from clerk_backend_api.models import SCIMGroupRoleMappingDeletedObject + +value = SCIMGroupRoleMappingDeletedObject.SCIM_GROUP_ROLE_MAPPING +``` + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `SCIM_GROUP_ROLE_MAPPING` | scim_group_role_mapping | \ No newline at end of file diff --git a/docs/models/scimgrouprolemappinglist.md b/docs/models/scimgrouprolemappinglist.md new file mode 100644 index 00000000..b3c7f764 --- /dev/null +++ b/docs/models/scimgrouprolemappinglist.md @@ -0,0 +1,11 @@ +# SCIMGroupRoleMappingList + +A list of SCIM group role mappings, ordered by precedence. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `data` | List[[models.SCIMGroupRoleMapping](../models/scimgrouprolemapping.md)] | :heavy_check_mark: | N/A | +| `total_count` | *int* | :heavy_check_mark: | Total number of SCIM group role mappings in the directory. | \ No newline at end of file diff --git a/docs/models/scimgrouprolemappingobject.md b/docs/models/scimgrouprolemappingobject.md new file mode 100644 index 00000000..bed0637a --- /dev/null +++ b/docs/models/scimgrouprolemappingobject.md @@ -0,0 +1,18 @@ +# SCIMGroupRoleMappingObject + +String representing the object's type. Always "scim_group_role_mapping". + +## Example Usage + +```python +from clerk_backend_api.models import SCIMGroupRoleMappingObject + +value = SCIMGroupRoleMappingObject.SCIM_GROUP_ROLE_MAPPING +``` + + +## Values + +| Name | Value | +| ------------------------- | ------------------------- | +| `SCIM_GROUP_ROLE_MAPPING` | scim_group_role_mapping | \ No newline at end of file diff --git a/docs/models/seats.md b/docs/models/seats.md index 3d2d0b38..9cb78db8 100644 --- a/docs/models/seats.md +++ b/docs/models/seats.md @@ -5,7 +5,7 @@ Seat quantity for seat-based billing. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `quantity` | *Nullable[int]* | :heavy_check_mark: | Seat quantity being billed; null means unlimited | -| `tiers` | List[[models.SchemasCommercePerUnitTotalTier](../models/schemascommerceperunittotaltier.md)] | :heavy_minus_sign: | Per-unit cost breakdown by pricing tier | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| `quantity` | *Nullable[int]* | :heavy_check_mark: | Seat quantity being billed; null means unlimited | +| `tiers` | List[[models.CommercePerUnitTotalTier2](../models/commerceperunittotaltier2.md)] | :heavy_minus_sign: | Per-unit cost breakdown by pricing tier | \ No newline at end of file diff --git a/docs/models/totals.md b/docs/models/totals.md index 7b48dffb..837627af 100644 --- a/docs/models/totals.md +++ b/docs/models/totals.md @@ -11,6 +11,6 @@ Totals for this subscription item. | `base_fee` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | | `tax_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | | `grand_total` | [models.CommerceMoneyResponse](../models/commercemoneyresponse.md) | :heavy_check_mark: | N/A | -| `per_unit_totals` | List[[models.SchemasCommercePerUnitTotal](../models/schemascommerceperunittotal.md)] | :heavy_minus_sign: | N/A | +| `per_unit_totals` | List[[models.CommercePerUnitTotal2](../models/commerceperunittotal2.md)] | :heavy_minus_sign: | N/A | | `credits` | [OptionalNullable[models.CommerceSubscriptionItemCredits]](../models/commercesubscriptionitemcredits.md) | :heavy_minus_sign: | N/A | | `discounts` | [OptionalNullable[models.Discounts]](../models/discounts.md) | :heavy_minus_sign: | Information about the discounts applied to the payment | \ No newline at end of file diff --git a/docs/models/two.md b/docs/models/two.md index dfa2ca63..5890cd6e 100644 --- a/docs/models/two.md +++ b/docs/models/two.md @@ -3,32 +3,34 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| `object` | [models.SAMLConnection2Object](../models/samlconnection2object.md) | :heavy_check_mark: | N/A | saml_connection | -| `id` | *str* | :heavy_check_mark: | N/A | sc_1234567890 | -| `name` | *str* | :heavy_check_mark: | N/A | My Company SAML Config | -| ~~`domain`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | mycompany.com | -| `domains` | List[*str*] | :heavy_check_mark: | N/A | | -| `idp_entity_id` | *Nullable[str]* | :heavy_check_mark: | N/A | idp-entity-id | -| `idp_sso_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://sso.mycompany.com | -| `idp_certificate` | *Nullable[str]* | :heavy_check_mark: | N/A | MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT... | -| `idp_metadata_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | https://sso.mycompany.com/metadata | -| `idp_metadata` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | 1614768000 | -| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp of last update.
| 1622540800 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `object` | [models.SAMLConnection2Object](../models/samlconnection2object.md) | :heavy_check_mark: | N/A | saml_connection | +| `id` | *str* | :heavy_check_mark: | N/A | sc_1234567890 | +| `name` | *str* | :heavy_check_mark: | N/A | My Company SAML Config | +| ~~`domain`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | mycompany.com | +| `domains` | List[*str*] | :heavy_check_mark: | N/A | | +| `idp_entity_id` | *Nullable[str]* | :heavy_check_mark: | N/A | idp-entity-id | +| `idp_sso_url` | *Nullable[str]* | :heavy_check_mark: | N/A | https://sso.mycompany.com | +| `idp_certificate` | *Nullable[str]* | :heavy_check_mark: | N/A | MIIDdzCCAl+gAwIBAgIJAKcyBaiiz+DT... | +| `idp_certificate_issued_at` | *Nullable[int]* | :heavy_check_mark: | Unix timestamp (milliseconds) of the start of the IdP certificate validity window (X.509 NotBefore). Null when no certificate is configured.
| | +| `idp_certificate_expires_at` | *Nullable[int]* | :heavy_check_mark: | Unix timestamp (milliseconds) of the end of the IdP certificate validity window (X.509 NotAfter). Null when no certificate is configured.
| | +| `idp_metadata_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | https://sso.mycompany.com/metadata | +| `idp_metadata` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | | 1614768000 | +| `updated_at` | *int* | :heavy_check_mark: | Unix timestamp of last update.
| 1622540800 | \ No newline at end of file diff --git a/docs/models/updateorganizationdomainrequestbody.md b/docs/models/updateorganizationdomainrequestbody.md index 507bfd3b..e3e368a7 100644 --- a/docs/models/updateorganizationdomainrequestbody.md +++ b/docs/models/updateorganizationdomainrequestbody.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| `enrollment_mode` | *OptionalNullable[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` | -| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of the domain's verification | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `enrollment_mode` | *OptionalNullable[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` | +| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of the domain's verification | \ No newline at end of file diff --git a/docs/models/updatescimdirectoryrequest.md b/docs/models/updatescimdirectoryrequest.md new file mode 100644 index 00000000..26038ed9 --- /dev/null +++ b/docs/models/updatescimdirectoryrequest.md @@ -0,0 +1,9 @@ +# UpdateSCIMDirectoryRequest + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory to update | +| `request_body` | [Optional[models.UpdateSCIMDirectoryRequestBody]](../models/updatescimdirectoryrequestbody.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/updatescimdirectoryrequestbody.md b/docs/models/updatescimdirectoryrequestbody.md new file mode 100644 index 00000000..4f8d3dde --- /dev/null +++ b/docs/models/updatescimdirectoryrequestbody.md @@ -0,0 +1,12 @@ +# UpdateSCIMDirectoryRequestBody + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *Optional[str]* | :heavy_minus_sign: | A human-friendly name for the SCIM directory. | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the SCIM directory is enabled. | +| `provider` | *Optional[str]* | :heavy_minus_sign: | The identity provider for this SCIM directory. | +| `attribute_mapping` | Dict[str, *Nullable[str]*] | :heavy_minus_sign: | Attribute-to-SCIM-path entries to merge into the directory's attribute mapping.
Set a key to `null` to remove it from the mapping. | +| `group_role_mapping_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether group-to-role mapping is enabled for this SCIM directory. | \ No newline at end of file diff --git a/docs/models/verificationgoogleonetaperrorclerkerror.md b/docs/models/verificationgoogleonetaperrorclerkerror.md index 8de8eace..5ff62314 100644 --- a/docs/models/verificationgoogleonetaperrorclerkerror.md +++ b/docs/models/verificationgoogleonetaperrorclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ClerkErrorErrorExternalAccountWithVerificationVerificationMeta]](../models/clerkerrorerrorexternalaccountwithverificationverificationmeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/verificationoautherrorclerkerror.md b/docs/models/verificationoautherrorclerkerror.md index d4aceb6b..2ed5085c 100644 --- a/docs/models/verificationoautherrorclerkerror.md +++ b/docs/models/verificationoautherrorclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ClerkErrorErrorExternalAccountWithVerificationMeta]](../models/clerkerrorerrorexternalaccountwithverificationmeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/verificationoautherrorenterpriseaccountclerkerror.md b/docs/models/verificationoautherrorenterpriseaccountclerkerror.md index a4ed5d6a..cb0fd239 100644 --- a/docs/models/verificationoautherrorenterpriseaccountclerkerror.md +++ b/docs/models/verificationoautherrorenterpriseaccountclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ClerkErrorErrorEnterpriseAccountVerificationMeta]](../models/clerkerrorerrorenterpriseaccountverificationmeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/verificationsamlerrorclerkerror.md b/docs/models/verificationsamlerrorclerkerror.md index 26009277..77682e42 100644 --- a/docs/models/verificationsamlerrorclerkerror.md +++ b/docs/models/verificationsamlerrorclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ClerkErrorErrorMeta]](../models/clerkerrorerrormeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/verificationsamlerrorenterpriseaccountclerkerror.md b/docs/models/verificationsamlerrorenterpriseaccountclerkerror.md index 6ae3d8e1..b89f8240 100644 --- a/docs/models/verificationsamlerrorenterpriseaccountclerkerror.md +++ b/docs/models/verificationsamlerrorenterpriseaccountclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ClerkErrorErrorEnterpriseAccountMeta]](../models/clerkerrorerrorenterpriseaccountmeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/models/verificationsamlerrorsamlaccountclerkerror.md b/docs/models/verificationsamlerrorsamlaccountclerkerror.md index 13b5cb7a..df96b967 100644 --- a/docs/models/verificationsamlerrorsamlaccountclerkerror.md +++ b/docs/models/verificationsamlerrorsamlaccountclerkerror.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | -| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | -| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | -| `meta` | [Optional[models.ClerkErrorErrorSAMLAccountMeta]](../models/clerkerrorerrorsamlaccountmeta.md) | :heavy_minus_sign: | N/A | {} | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | +| `message` | *str* | :heavy_check_mark: | N/A | Invalid input | +| `long_message` | *str* | :heavy_check_mark: | N/A | The input provided does not meet the requirements. | +| `code` | *str* | :heavy_check_mark: | N/A | 400_bad_request | +| `meta` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | {} | \ No newline at end of file diff --git a/docs/sdks/billing/README.md b/docs/sdks/billing/README.md index 6a36b486..1f48b292 100644 --- a/docs/sdks/billing/README.md +++ b/docs/sdks/billing/README.md @@ -282,7 +282,7 @@ with Clerk( ### Response -**[models.SchemasCommerceSubscriptionItem](../../models/schemascommercesubscriptionitem.md)** +**[models.CommerceSubscriptionItem2](../../models/commercesubscriptionitem2.md)** ### Errors diff --git a/docs/sdks/oauthapplicationssdk/README.md b/docs/sdks/oauthapplicationssdk/README.md index 42bad19b..fb9af2fd 100644 --- a/docs/sdks/oauthapplicationssdk/README.md +++ b/docs/sdks/oauthapplicationssdk/README.md @@ -11,6 +11,7 @@ * [delete](#delete) - Delete an OAuth application * [upload_logo](#upload_logo) - Upload a logo for the OAuth application * [rotate_secret](#rotate_secret) - Rotate the client secret of the given OAuth application +* [revoke_token](#revoke_token) - Revoke an OAuth application token ## list @@ -322,4 +323,42 @@ with Clerk( | Error Type | Status Code | Content Type | | ------------------ | ------------------ | ------------------ | | models.ClerkErrors | 403, 404 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## revoke_token + +Revoke both OAuth access token and refresh token for the associated grant for the given OAuth application. +The request may specify either token. +JWT access tokens cannot be revoked. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + clerk.oauth_applications.revoke_token(oauth_application_id="", token="") + + # Use the SDK ... + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `oauth_application_id` | *str* | :heavy_check_mark: | The ID of the OAuth application for which to revoke the token | +| `token` | *str* | :heavy_check_mark: | The opaque OAuth access token or refresh token to revoke. All tokens associated with the same OAuth grant are also revoked. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 400, 403, 404, 422 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/organizationdomainssdk/README.md b/docs/sdks/organizationdomainssdk/README.md index b4ce48cf..58bbd574 100644 --- a/docs/sdks/organizationdomainssdk/README.md +++ b/docs/sdks/organizationdomainssdk/README.md @@ -35,13 +35,13 @@ with Clerk( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization where the new domain will be created. | -| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the new domain | -| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` | -| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of domain's verification. Defaults to true | -| `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 | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization where the new domain will be created. | +| `name` | *Optional[str]* | :heavy_minus_sign: | The name of the new domain | +| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` | +| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of domain's verification. Defaults to true | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -78,14 +78,14 @@ with Clerk( ### Parameters -| Parameter | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| `organization_id` | *str* | :heavy_check_mark: | The organization ID. | | -| `verified` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their verification status. `true` or `false` | | -| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their enrollment mode | | -| `limit` | *Optional[int]* | :heavy_minus_sign: | Applies a limit to the number of results returned.
Can be used for paginating the results together with `offset`. | 20 | -| `offset` | *Optional[int]* | :heavy_minus_sign: | Skip the first `offset` results when paginating.
Needs to be an integer greater or equal to zero.
To be used in conjunction with `limit`. | 10 | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `organization_id` | *str* | :heavy_check_mark: | The organization ID. | | +| `verified` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their verification status. `true` or `false` | | +| `enrollment_mode` | *Optional[str]* | :heavy_minus_sign: | Filter domains by their enrollment mode. Accepts `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`.
Prefix a value with `-` to exclude it instead (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. | | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Applies a limit to the number of results returned.
Can be used for paginating the results together with `offset`. | 20 | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Skip the first `offset` results when paginating.
Needs to be an integer greater or equal to zero.
To be used in conjunction with `limit`. | 10 | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response @@ -122,13 +122,13 @@ with Clerk( ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization to which the domain belongs | -| `domain_id` | *str* | :heavy_check_mark: | The ID of the domain | -| `enrollment_mode` | *OptionalNullable[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` | -| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of the domain's verification | -| `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 | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| `organization_id` | *str* | :heavy_check_mark: | The ID of the organization to which the domain belongs | +| `domain_id` | *str* | :heavy_check_mark: | The ID of the domain | +| `enrollment_mode` | *OptionalNullable[str]* | :heavy_minus_sign: | The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` | +| `verified` | *OptionalNullable[bool]* | :heavy_minus_sign: | The status of the domain's verification | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | ### Response @@ -138,7 +138,7 @@ with Clerk( | Error Type | Status Code | Content Type | | ------------------ | ------------------ | ------------------ | -| models.ClerkErrors | 400, 404, 422 | application/json | +| models.ClerkErrors | 400, 403, 404, 422 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## delete @@ -179,7 +179,7 @@ with Clerk( | Error Type | Status Code | Content Type | | ------------------ | ------------------ | ------------------ | -| models.ClerkErrors | 400, 401, 404 | application/json | +| models.ClerkErrors | 400, 401, 403, 404 | application/json | | models.SDKError | 4XX, 5XX | \*/\* | ## verify_ownership @@ -269,7 +269,7 @@ with Clerk( | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `organization_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the organization to filter domains by | | | `verified` | [Optional[models.Verified]](../../models/verified.md) | :heavy_minus_sign: | Filter by verification status | | -| `enrollment_mode` | List[[models.QueryParamEnrollmentMode](../../models/queryparamenrollmentmode.md)] | :heavy_minus_sign: | Filter by enrollment mode | | +| `enrollment_mode` | List[[models.QueryParamEnrollmentMode](../../models/queryparamenrollmentmode.md)] | :heavy_minus_sign: | Filter by enrollment mode. Prefix a value with `-` to exclude it instead
(e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. | | | `query` | *Optional[str]* | :heavy_minus_sign: | Search domains by name or organization ID.
If the query starts with "org_", it will search by exact organization ID match.
Otherwise, it performs a case-insensitive partial match on the domain name.

Note: An empty string or whitespace-only value is not allowed and will result in a validation error.
| | | `domains` | List[*str*] | :heavy_minus_sign: | Filter by exact domain names. Accepts multiple values (e.g. domains=example.com&domains=test.org). | | | `order_by` | *Optional[str]* | :heavy_minus_sign: | Allows to return organization domains in a particular order.
At the moment, you can order the returned domains by their `name` or `created_at`.
In order to specify the direction, you can use the `+/-` symbols prepended to the property to order by.
For example, if you want domains to be returned in descending order according to their `created_at` property, you can use `-created_at`.
If you don't use `+` or `-`, then `+` is implied.
Defaults to `-created_at`.
| | diff --git a/docs/sdks/scimdirectories/README.md b/docs/sdks/scimdirectories/README.md new file mode 100644 index 00000000..5f081e03 --- /dev/null +++ b/docs/sdks/scimdirectories/README.md @@ -0,0 +1,452 @@ +# ScimDirectories + +## Overview + +### Available Operations + +* [list](#list) - List all SCIM directories +* [create](#create) - Create a SCIM directory +* [get](#get) - Retrieve a SCIM directory +* [update](#update) - Update a SCIM directory +* [delete](#delete) - Delete a SCIM directory +* [rotate_api_key](#rotate_api_key) - Rotate a SCIM directory's API key +* [list_group_role_mappings](#list_group_role_mappings) - List SCIM group role mappings +* [create_group_role_mapping](#create_group_role_mapping) - Create a SCIM group role mapping +* [replace_group_role_mappings](#replace_group_role_mappings) - Replace SCIM group role mappings +* [delete_group_role_mapping](#delete_group_role_mapping) - Delete a SCIM group role mapping + +## list + +Returns a list of all SCIM directories for the instance. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.list(limit=20, offset=10) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `limit` | *Optional[int]* | :heavy_minus_sign: | Applies a limit to the number of results returned.
Can be used for paginating the results together with `offset`. | 20 | +| `offset` | *Optional[int]* | :heavy_minus_sign: | Skip the first `offset` results when paginating.
Needs to be an integer greater or equal to zero.
To be used in conjunction with `limit`. | 10 | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | + +### Response + +**[models.SCIMDirectoryList](../../models/scimdirectorylist.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 401, 403 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## create + +Create a new SCIM directory for the instance. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.create(request={ + "enterprise_connection_id": "", + "name": "", + "provider": "", + "group_role_mappings": [ + { + "scim_group_id": "", + "scim_group_display_name": "", + "role_id": "", + "precedence": 919086, + }, + ], + }) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `request` | [models.CreateSCIMDirectoryRequestBody](../../models/createscimdirectoryrequestbody.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 + +**[models.SCIMDirectory](../../models/scimdirectory.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 400, 401, 403, 422 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## get + +Returns the details of a SCIM directory. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.get(scim_directory_id="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory to retrieve | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMDirectory](../../models/scimdirectory.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 401, 403, 404 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## update + +Updates a SCIM directory. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.update(scim_directory_id="", name="", enabled=False, provider="", attribute_mapping={ + "key": "", + "key1": "", + "key2": "", + }, group_role_mapping_enabled=True) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory to update | +| `name` | *Optional[str]* | :heavy_minus_sign: | A human-friendly name for the SCIM directory. | +| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the SCIM directory is enabled. | +| `provider` | *Optional[str]* | :heavy_minus_sign: | The identity provider for this SCIM directory. | +| `attribute_mapping` | Dict[str, *Nullable[str]*] | :heavy_minus_sign: | Attribute-to-SCIM-path entries to merge into the directory's attribute mapping.
Set a key to `null` to remove it from the mapping. | +| `group_role_mapping_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether group-to-role mapping is enabled for this SCIM directory. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMDirectory](../../models/scimdirectory.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| models.ClerkErrors | 400, 401, 403, 404, 422 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## delete + +Deletes a SCIM directory and stops provisioning for it. SCIM requests authenticated +with the directory's API key are rejected afterwards. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.delete(scim_directory_id="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory to delete | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.DeletedObject](../../models/deletedobject.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 401, 403, 404 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## rotate_api_key + +Generates a new API key for the SCIM directory and returns it in the `api_key` field. +This is the only way to obtain the key after creation, so make sure to update it in +your identity provider. The previous key remains valid for a short grace period before +it expires. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.rotate_api_key(scim_directory_id="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory whose API key to rotate | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMDirectory](../../models/scimdirectory.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 401, 403, 404 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## list_group_role_mappings + +Returns the list of SCIM group to organization role mappings for a SCIM directory, ordered by precedence. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.list_group_role_mappings(scim_directory_id="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMGroupRoleMappingList](../../models/scimgrouprolemappinglist.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 401, 403, 404 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## create_group_role_mapping + +Creates a new SCIM group to organization role mapping for a SCIM directory. +Group role mapping must be enabled on the directory. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.create_group_role_mapping(scim_directory_id="", scim_group_id="", role_id="", precedence=722732) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `scim_group_id` | *str* | :heavy_check_mark: | The SCIM group ID from the identity provider. | +| `role_id` | *str* | :heavy_check_mark: | The ID of the organization role to assign to members of the SCIM group. | +| `precedence` | *Optional[int]* | :heavy_minus_sign: | The precedence for this mapping. Lower values take priority when a user belongs
to multiple mapped groups. If omitted, the mapping is appended with the
next-highest precedence. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMGroupRoleMapping](../../models/scimgrouprolemapping.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| models.ClerkErrors | 400, 401, 403, 404, 422 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## replace_group_role_mappings + +Replaces the entire set of SCIM group role mappings for a directory. The position of +each item in the `mappings` array determines its precedence (the first item gets +precedence 1). Passing an empty array removes all mappings. Group role mapping must be +enabled on the directory. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.replace_group_role_mappings(scim_directory_id="", mappings=[]) + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `mappings` | List[[models.Mappings](../../models/mappings.md)] | :heavy_check_mark: | The desired set of mappings. Array order sets precedence (1-indexed). An empty array clears all mappings. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMGroupRoleMappingList](../../models/scimgrouprolemappinglist.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ----------------------- | ----------------------- | ----------------------- | +| models.ClerkErrors | 400, 401, 403, 404, 422 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | + +## delete_group_role_mapping + +Deletes a single SCIM group role mapping. Group role mapping must be enabled on the +directory. + +### Example Usage + + +```python +from clerk_backend_api import Clerk + + +with Clerk( + bearer_auth="", +) as clerk: + + res = clerk.scim_directories.delete_group_role_mapping(scim_directory_id="", mapping_id="") + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `scim_directory_id` | *str* | :heavy_check_mark: | The ID of the SCIM directory. | +| `mapping_id` | *str* | :heavy_check_mark: | The ID of the SCIM group role mapping to delete. | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.SCIMGroupRoleMappingDeleted](../../models/scimgrouprolemappingdeleted.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------ | ------------------ | ------------------ | +| models.ClerkErrors | 400, 401, 403, 404 | application/json | +| models.SDKError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/users/README.md b/docs/sdks/users/README.md index de4f3711..0f430090 100644 --- a/docs/sdks/users/README.md +++ b/docs/sdks/users/README.md @@ -1550,6 +1550,8 @@ with Clerk( Sets the given user's password as no longer compromised. The user will no longer be prompted to reset their password on their next sign-in. +If the user is in reserved-email password quarantine, the quarantine is preserved and the returned user will still have `requires_password_reset` set to `true`. Reserved-email password quarantine can only be cleared by completing a password reset or changing/removing the password. + ### Example Usage diff --git a/poetry.lock b/poetry.lock index e16e1b69..5cf73633 100644 --- a/poetry.lock +++ b/poetry.lock @@ -790,4 +790,4 @@ typing-extensions = ">=4.12.0" [metadata] lock-version = "2.1" python-versions = ">=3.10" -content-hash = "90d6ecab00e90dc5b95cb46f383e3b097d6908efa67c8ffa25ef0a658289a11b" +content-hash = "7d3e97e11d7b8cc3104156dfbe2071607a0c6d6fdb228a820cb285f03724d12e" diff --git a/pyproject.toml b/pyproject.toml index 0677a754..5e4f195e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "clerk-backend-api" -version = "6.0.1" +version = "6.1.0" description = "Python Client SDK for clerk.dev" authors = [{ name = "Clerk" },] readme = "README-PYPI.md" @@ -10,7 +10,7 @@ dependencies = [ "cryptography >=45.0.0,<49.0.0", "httpcore >=1.0.9", "httpx >=0.28.1", - "pydantic >=2.11.2", + "pydantic >=2.11.2,<2.13", "pyjwt (>=2.9.0,<3.0.0)", ] diff --git a/src/clerk_backend_api/_hooks/types.py b/src/clerk_backend_api/_hooks/types.py index 4926429d..ba7b6217 100644 --- a/src/clerk_backend_api/_hooks/types.py +++ b/src/clerk_backend_api/_hooks/types.py @@ -4,7 +4,7 @@ from clerk_backend_api.httpclient import HttpClient from clerk_backend_api.sdkconfiguration import SDKConfiguration import httpx -from typing import Any, Callable, List, Optional, Tuple, Union +from typing import Any, Callable, Dict, List, Optional, Tuple, Union class HookContext: @@ -13,6 +13,8 @@ class HookContext: operation_id: str oauth2_scopes: Optional[List[str]] = None security_source: Optional[Union[Any, Callable[[], Any]]] = None + tags: Optional[List[str]] = None + extensions: Optional[Dict[str, Any]] = None def __init__( self, @@ -21,12 +23,16 @@ def __init__( operation_id: str, oauth2_scopes: Optional[List[str]], security_source: Optional[Union[Any, Callable[[], Any]]], + tags: Optional[List[str]], + extensions: Optional[Dict[str, Any]], ): self.config = config self.base_url = base_url self.operation_id = operation_id self.oauth2_scopes = oauth2_scopes self.security_source = security_source + self.tags = tags + self.extensions = extensions class BeforeRequestContext(HookContext): @@ -37,6 +43,8 @@ def __init__(self, hook_ctx: HookContext): hook_ctx.operation_id, hook_ctx.oauth2_scopes, hook_ctx.security_source, + hook_ctx.tags, + hook_ctx.extensions, ) @@ -48,6 +56,8 @@ def __init__(self, hook_ctx: HookContext): hook_ctx.operation_id, hook_ctx.oauth2_scopes, hook_ctx.security_source, + hook_ctx.tags, + hook_ctx.extensions, ) @@ -59,6 +69,8 @@ def __init__(self, hook_ctx: HookContext): hook_ctx.operation_id, hook_ctx.oauth2_scopes, hook_ctx.security_source, + hook_ctx.tags, + hook_ctx.extensions, ) diff --git a/src/clerk_backend_api/_version.py b/src/clerk_backend_api/_version.py index c5e9e88a..4ff1eb2e 100644 --- a/src/clerk_backend_api/_version.py +++ b/src/clerk_backend_api/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "clerk-backend-api" -__version__: str = "6.0.1" +__version__: str = "6.1.0" __openapi_doc_version__: str = "2026-05-12" -__gen_version__: str = "2.904.2" -__user_agent__: str = "speakeasy-sdk/python 6.0.1 2.904.2 2026-05-12 clerk-backend-api" +__gen_version__: str = "2.917.0" +__user_agent__: str = "speakeasy-sdk/python 6.1.0 2.917.0 2026-05-12 clerk-backend-api" try: if __package__ is not None: diff --git a/src/clerk_backend_api/actortokens.py b/src/clerk_backend_api/actortokens.py index 7752a8e1..61505b20 100644 --- a/src/clerk_backend_api/actortokens.py +++ b/src/clerk_backend_api/actortokens.py @@ -93,6 +93,8 @@ def create( operation_id="CreateActorToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Actor Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -198,6 +200,8 @@ async def create_async( operation_id="CreateActorToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Actor Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -288,6 +292,8 @@ def revoke( operation_id="RevokeActorToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Actor Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -378,6 +384,8 @@ async def revoke_async( operation_id="RevokeActorToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Actor Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/admin_portal_link_tokens.py b/src/clerk_backend_api/admin_portal_link_tokens.py index 7906a34f..1f7ef905 100644 --- a/src/clerk_backend_api/admin_portal_link_tokens.py +++ b/src/clerk_backend_api/admin_portal_link_tokens.py @@ -92,6 +92,8 @@ def create_admin_portal_link_token( operation_id="createAdminPortalLinkToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Admin Portal Link Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -227,6 +229,8 @@ async def create_admin_portal_link_token_async( operation_id="createAdminPortalLinkToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Admin Portal Link Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -358,6 +362,8 @@ def revoke_admin_portal_link_token( operation_id="revokeAdminPortalLinkToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Admin Portal Link Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -489,6 +495,8 @@ async def revoke_admin_portal_link_token_async( operation_id="revokeAdminPortalLinkToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Admin Portal Link Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/agenttasks.py b/src/clerk_backend_api/agenttasks.py index bc3985b6..bcd37c27 100644 --- a/src/clerk_backend_api/agenttasks.py +++ b/src/clerk_backend_api/agenttasks.py @@ -94,6 +94,8 @@ def create( operation_id="CreateAgentTask", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Agent Tasks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -200,6 +202,8 @@ async def create_async( operation_id="CreateAgentTask", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Agent Tasks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -290,6 +294,8 @@ def revoke( operation_id="RevokeAgentTask", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Agent Tasks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -380,6 +386,8 @@ async def revoke_async( operation_id="RevokeAgentTask", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Agent Tasks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/allowlistidentifiers.py b/src/clerk_backend_api/allowlistidentifiers.py index 792a92ea..eb5a6274 100644 --- a/src/clerk_backend_api/allowlistidentifiers.py +++ b/src/clerk_backend_api/allowlistidentifiers.py @@ -89,6 +89,8 @@ def list( operation_id="ListAllowlistIdentifiers", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -190,6 +192,8 @@ async def list_async( operation_id="ListAllowlistIdentifiers", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -294,6 +298,8 @@ def create( operation_id="CreateAllowlistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -398,6 +404,8 @@ async def create_async( operation_id="CreateAllowlistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -488,6 +496,8 @@ def delete( operation_id="DeleteAllowlistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -578,6 +588,8 @@ async def delete_async( operation_id="DeleteAllowlistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/api_keys.py b/src/clerk_backend_api/api_keys.py index 604539ec..2fde56a0 100644 --- a/src/clerk_backend_api/api_keys.py +++ b/src/clerk_backend_api/api_keys.py @@ -102,6 +102,8 @@ def create_api_key( operation_id="createApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -223,6 +225,8 @@ async def create_api_key_async( operation_id="createApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -335,6 +339,8 @@ def get_api_keys( operation_id="getApiKeys", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -445,6 +451,8 @@ async def get_api_keys_async( operation_id="getApiKeys", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -540,6 +548,8 @@ def get_api_key( operation_id="getApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -635,6 +645,8 @@ async def get_api_key_async( operation_id="getApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -754,6 +766,8 @@ def update_api_key( operation_id="updateApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -875,6 +889,8 @@ async def update_api_key_async( operation_id="updateApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -972,6 +988,8 @@ def delete_api_key( operation_id="deleteApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1069,6 +1087,8 @@ async def delete_api_key_async( operation_id="deleteApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1166,6 +1186,8 @@ def get_api_key_secret( operation_id="getApiKeySecret", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1263,6 +1285,8 @@ async def get_api_key_secret_async( operation_id="getApiKeySecret", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1372,6 +1396,8 @@ def revoke_api_key( operation_id="revokeApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1481,6 +1507,8 @@ async def revoke_api_key_async( operation_id="revokeApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1581,6 +1609,8 @@ def verify_api_key( operation_id="verifyApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1681,6 +1711,8 @@ async def verify_api_key_async( operation_id="verifyApiKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["API Keys"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/betafeatures.py b/src/clerk_backend_api/betafeatures.py index ca0b1f38..067e43e8 100644 --- a/src/clerk_backend_api/betafeatures.py +++ b/src/clerk_backend_api/betafeatures.py @@ -93,6 +93,8 @@ def update_instance_settings( operation_id="UpdateInstanceAuthConfig", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Beta Features"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -197,6 +199,8 @@ async def update_instance_settings_async( operation_id="UpdateInstanceAuthConfig", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Beta Features"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -310,6 +314,8 @@ def update_production_instance_domain( operation_id="UpdateProductionInstanceDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Beta Features"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -423,6 +429,8 @@ async def update_production_instance_domain_async( operation_id="UpdateProductionInstanceDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Beta Features"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/billing.py b/src/clerk_backend_api/billing.py index e1fa4dcb..84e86034 100644 --- a/src/clerk_backend_api/billing.py +++ b/src/clerk_backend_api/billing.py @@ -94,6 +94,8 @@ def list_plans( operation_id="GetCommercePlanList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -204,6 +206,8 @@ async def list_plans_async( operation_id="GetCommercePlanList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -314,6 +318,8 @@ def list_prices( operation_id="GetBillingPriceList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -426,6 +432,8 @@ async def list_prices_async( operation_id="GetBillingPriceList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -544,6 +552,8 @@ def create_price( operation_id="CreateBillingPrice", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -660,6 +670,8 @@ async def create_price_async( operation_id="CreateBillingPrice", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -782,6 +794,8 @@ def list_subscription_items( operation_id="GetCommerceSubscriptionItemList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -904,6 +918,8 @@ async def list_subscription_items_async( operation_id="GetCommerceSubscriptionItemList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1002,6 +1018,8 @@ def cancel_subscription_item( operation_id="CancelCommerceSubscriptionItem", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1100,6 +1118,8 @@ async def cancel_subscription_item_async( operation_id="CancelCommerceSubscriptionItem", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1135,7 +1155,7 @@ def extend_subscription_item_free_trial( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.SchemasCommerceSubscriptionItem: + ) -> models.CommerceSubscriptionItem2: r"""Extend free trial for a subscription item Extends the free trial period for a specific subscription item to the specified timestamp. @@ -1211,6 +1231,8 @@ def extend_subscription_item_free_trial( operation_id="ExtendBillingSubscriptionItemFreeTrial", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1219,9 +1241,7 @@ def extend_subscription_item_free_trial( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response( - models.SchemasCommerceSubscriptionItem, http_res - ) + return unmarshal_json_response(models.CommerceSubscriptionItem2, http_res) if utils.match_response( http_res, ["400", "401", "403", "404", "422"], "application/json" ): @@ -1248,7 +1268,7 @@ async def extend_subscription_item_free_trial_async( server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.SchemasCommerceSubscriptionItem: + ) -> models.CommerceSubscriptionItem2: r"""Extend free trial for a subscription item Extends the free trial period for a specific subscription item to the specified timestamp. @@ -1324,6 +1344,8 @@ async def extend_subscription_item_free_trial_async( operation_id="ExtendBillingSubscriptionItemFreeTrial", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1332,9 +1354,7 @@ async def extend_subscription_item_free_trial_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response( - models.SchemasCommerceSubscriptionItem, http_res - ) + return unmarshal_json_response(models.CommerceSubscriptionItem2, http_res) if utils.match_response( http_res, ["400", "401", "403", "404", "422"], "application/json" ): @@ -1437,6 +1457,8 @@ def create_price_transition( operation_id="CreateBillingPriceTransition", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1550,6 +1572,8 @@ async def create_price_transition_async( operation_id="CreateBillingPriceTransition", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1659,6 +1683,8 @@ def list_statements( operation_id="GetBillingStatementList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1766,6 +1792,8 @@ async def list_statements_async( operation_id="GetBillingStatementList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1861,6 +1889,8 @@ def get_statement( operation_id="GetBillingStatement", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1956,6 +1986,8 @@ async def get_statement_async( operation_id="GetBillingStatement", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2066,6 +2098,8 @@ def get_statement_payment_attempts( operation_id="GetBillingStatementPaymentAttempts", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2178,6 +2212,8 @@ async def get_statement_payment_attempts_async( operation_id="GetBillingStatementPaymentAttempts", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/blocklistidentifiers_sdk.py b/src/clerk_backend_api/blocklistidentifiers_sdk.py index 4fc8cffb..98d3d006 100644 --- a/src/clerk_backend_api/blocklistidentifiers_sdk.py +++ b/src/clerk_backend_api/blocklistidentifiers_sdk.py @@ -71,6 +71,8 @@ def list( operation_id="ListBlocklistIdentifiers", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -154,6 +156,8 @@ async def list_async( operation_id="ListBlocklistIdentifiers", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -258,6 +262,8 @@ def create( operation_id="CreateBlocklistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -362,6 +368,8 @@ async def create_async( operation_id="CreateBlocklistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -452,6 +460,8 @@ def delete( operation_id="DeleteBlocklistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -542,6 +552,8 @@ async def delete_async( operation_id="DeleteBlocklistIdentifier", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Allow-list / Block-list"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/clients.py b/src/clerk_backend_api/clients.py index 0e786d6a..77d504a3 100644 --- a/src/clerk_backend_api/clients.py +++ b/src/clerk_backend_api/clients.py @@ -95,6 +95,8 @@ def list( operation_id="GetClientList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Clients"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -203,6 +205,8 @@ async def list_async( operation_id="GetClientList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Clients"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -302,6 +306,8 @@ def verify( operation_id="VerifyClient", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Clients"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -399,6 +405,8 @@ async def verify_async( operation_id="VerifyClient", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Clients"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -489,6 +497,8 @@ def get( operation_id="GetClient", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Clients"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -579,6 +589,8 @@ async def get_async( operation_id="GetClient", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Clients"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/domains_sdk.py b/src/clerk_backend_api/domains_sdk.py index c0b8da93..75928e66 100644 --- a/src/clerk_backend_api/domains_sdk.py +++ b/src/clerk_backend_api/domains_sdk.py @@ -72,6 +72,8 @@ def list( operation_id="ListDomains", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -152,6 +154,8 @@ async def list_async( operation_id="ListDomains", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -247,6 +251,8 @@ def add( operation_id="AddDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -346,6 +352,8 @@ async def add_async( operation_id="AddDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -437,6 +445,8 @@ def delete( operation_id="DeleteDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -528,6 +538,8 @@ async def delete_async( operation_id="DeleteDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -648,6 +660,8 @@ def update( operation_id="UpdateDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -768,6 +782,8 @@ async def update_async( operation_id="UpdateDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/emailaddresses.py b/src/clerk_backend_api/emailaddresses.py index 27801837..2a178d4b 100644 --- a/src/clerk_backend_api/emailaddresses.py +++ b/src/clerk_backend_api/emailaddresses.py @@ -92,6 +92,8 @@ def create( operation_id="CreateEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -198,6 +200,8 @@ async def create_async( operation_id="CreateEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -290,6 +294,8 @@ def get( operation_id="GetEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -382,6 +388,8 @@ async def get_async( operation_id="GetEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -474,6 +482,8 @@ def delete( operation_id="DeleteEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -566,6 +576,8 @@ async def delete_async( operation_id="DeleteEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -673,6 +685,8 @@ def update( operation_id="UpdateEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -780,6 +794,8 @@ async def update_async( operation_id="UpdateEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -875,6 +891,8 @@ def prepare_verification( operation_id="PrepareEmailAddressVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -973,6 +991,8 @@ async def prepare_verification_async( operation_id="PrepareEmailAddressVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1093,6 +1113,8 @@ def attempt_verification( operation_id="AttemptEmailAddressVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1213,6 +1235,8 @@ async def attempt_verification_async( operation_id="AttemptEmailAddressVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1332,6 +1356,8 @@ def replace_for_user( operation_id="ReplaceUserEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1448,6 +1474,8 @@ async def replace_for_user_async( operation_id="ReplaceUserEmailAddress", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email Addresses"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/emailandsmstemplates.py b/src/clerk_backend_api/emailandsmstemplates.py index 9bdf56a3..a4265bb3 100644 --- a/src/clerk_backend_api/emailandsmstemplates.py +++ b/src/clerk_backend_api/emailandsmstemplates.py @@ -120,6 +120,8 @@ def upsert( operation_id="UpsertTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -253,6 +255,8 @@ async def upsert_async( operation_id="UpsertTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/emailsmstemplates.py b/src/clerk_backend_api/emailsmstemplates.py index 158d7c61..dc575e05 100644 --- a/src/clerk_backend_api/emailsmstemplates.py +++ b/src/clerk_backend_api/emailsmstemplates.py @@ -97,6 +97,8 @@ def list( operation_id="GetTemplateList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -205,6 +207,8 @@ async def list_async( operation_id="GetTemplateList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -301,6 +305,8 @@ def get( operation_id="GetTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -397,6 +403,8 @@ async def get_async( operation_id="GetTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -493,6 +501,8 @@ def revert( operation_id="RevertTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -591,6 +601,8 @@ async def revert_async( operation_id="RevertTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -703,6 +715,8 @@ def toggle_template_delivery( operation_id="ToggleTemplateDelivery", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -813,6 +827,8 @@ async def toggle_template_delivery_async( operation_id="ToggleTemplateDelivery", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/enterpriseconnections_sdk.py b/src/clerk_backend_api/enterpriseconnections_sdk.py index 199c5fad..bc283a1b 100644 --- a/src/clerk_backend_api/enterpriseconnections_sdk.py +++ b/src/clerk_backend_api/enterpriseconnections_sdk.py @@ -91,6 +91,8 @@ def list( operation_id="ListEnterpriseConnections", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -194,6 +196,8 @@ async def list_async( operation_id="ListEnterpriseConnections", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -298,6 +302,8 @@ def create( operation_id="CreateEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -404,6 +410,8 @@ async def create_async( operation_id="CreateEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -496,6 +504,8 @@ def get( operation_id="GetEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -586,6 +596,8 @@ async def get_async( operation_id="GetEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -742,6 +754,8 @@ def update( operation_id="UpdateEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -900,6 +914,8 @@ async def update_async( operation_id="UpdateEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -992,6 +1008,8 @@ def delete( operation_id="DeleteEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1082,6 +1100,8 @@ async def delete_async( operation_id="DeleteEnterpriseConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1189,6 +1209,8 @@ def list_test_runs( operation_id="ListEnterpriseConnectionTestRuns", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1300,6 +1322,8 @@ async def list_test_runs_async( operation_id="ListEnterpriseConnectionTestRuns", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1394,6 +1418,8 @@ def create_test_run( operation_id="CreateEnterpriseConnectionTestRun", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1486,6 +1512,8 @@ async def create_test_run_async( operation_id="CreateEnterpriseConnectionTestRun", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Enterprise Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/instancesettings_sdk.py b/src/clerk_backend_api/instancesettings_sdk.py index fbf870bf..2e1e3c66 100644 --- a/src/clerk_backend_api/instancesettings_sdk.py +++ b/src/clerk_backend_api/instancesettings_sdk.py @@ -73,6 +73,8 @@ def get( operation_id="GetInstance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -152,6 +154,8 @@ async def get_async( operation_id="GetInstance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -248,6 +252,8 @@ def update( operation_id="UpdateInstance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -348,6 +354,8 @@ async def update_async( operation_id="UpdateInstance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -452,6 +460,8 @@ def update_restrictions( operation_id="UpdateInstanceRestrictions", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -556,6 +566,8 @@ async def update_restrictions_async( operation_id="UpdateInstanceRestrictions", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -639,6 +651,8 @@ def get_communication( operation_id="GetInstanceCommunication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -718,6 +732,8 @@ async def get_communication_async( operation_id="GetInstanceCommunication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -822,6 +838,8 @@ def update_communication( operation_id="UpdateInstanceCommunication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -930,6 +948,8 @@ async def update_communication_async( operation_id="UpdateInstanceCommunication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1013,6 +1033,8 @@ def get_o_auth_application_settings( operation_id="GetInstanceOAuthApplicationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1092,6 +1114,8 @@ async def get_o_auth_application_settings_async( operation_id="GetInstanceOAuthApplicationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1195,6 +1219,8 @@ def update_o_auth_application_settings( operation_id="UpdateInstanceOAuthApplicationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1302,6 +1328,8 @@ async def update_o_auth_application_settings_async( operation_id="UpdateInstanceOAuthApplicationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1412,6 +1440,8 @@ def change_domain( operation_id="ChangeProductionInstanceDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Beta Features"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1522,6 +1552,8 @@ async def change_domain_async( operation_id="ChangeProductionInstanceDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Beta Features"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1605,6 +1637,8 @@ def get_organization_settings( operation_id="GetInstanceOrganizationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1688,6 +1722,8 @@ async def get_organization_settings_async( operation_id="GetInstanceOrganizationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1794,6 +1830,8 @@ def update_organization_settings( operation_id="UpdateInstanceOrganizationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1902,6 +1940,8 @@ async def update_organization_settings_async( operation_id="UpdateInstanceOrganizationSettings", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1985,6 +2025,8 @@ def get_instance_protect( operation_id="GetInstanceProtect", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2062,6 +2104,8 @@ async def get_instance_protect_async( operation_id="GetInstanceProtect", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2160,6 +2204,8 @@ def update_instance_protect( operation_id="UpdateInstanceProtect", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2262,6 +2308,8 @@ async def update_instance_protect_async( operation_id="UpdateInstanceProtect", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Instance Settings"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/invitations.py b/src/clerk_backend_api/invitations.py index f58a5fd5..76ef3cbc 100644 --- a/src/clerk_backend_api/invitations.py +++ b/src/clerk_backend_api/invitations.py @@ -94,6 +94,8 @@ def create( operation_id="CreateInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -200,6 +202,8 @@ async def create_async( operation_id="CreateInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -315,6 +319,8 @@ def list( operation_id="ListInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -426,6 +432,8 @@ async def list_async( operation_id="ListInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -522,6 +530,8 @@ def bulk_create( operation_id="CreateBulkInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -622,6 +632,8 @@ async def bulk_create_async( operation_id="CreateBulkInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -715,6 +727,8 @@ def revoke( operation_id="RevokeInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -808,6 +822,8 @@ async def revoke_async( operation_id="RevokeInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/jwks_sdk.py b/src/clerk_backend_api/jwks_sdk.py index d2fef3b0..7fbf45a5 100644 --- a/src/clerk_backend_api/jwks_sdk.py +++ b/src/clerk_backend_api/jwks_sdk.py @@ -71,6 +71,8 @@ def get_jwks( operation_id="GetJWKS", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWKS"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -150,6 +152,8 @@ async def get_jwks_async( operation_id="GetJWKS", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWKS"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/jwttemplates.py b/src/clerk_backend_api/jwttemplates.py index 280fdc84..540fdd1a 100644 --- a/src/clerk_backend_api/jwttemplates.py +++ b/src/clerk_backend_api/jwttemplates.py @@ -87,6 +87,8 @@ def list( operation_id="ListJWTTemplates", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -182,6 +184,8 @@ async def list_async( operation_id="ListJWTTemplates", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -282,6 +286,8 @@ def create( operation_id="CreateJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -386,6 +392,8 @@ async def create_async( operation_id="CreateJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -476,6 +484,8 @@ def get( operation_id="GetJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -566,6 +576,8 @@ async def get_async( operation_id="GetJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -688,6 +700,8 @@ def update( operation_id="UpdateJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -810,6 +824,8 @@ async def update_async( operation_id="UpdateJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -898,6 +914,8 @@ def delete( operation_id="DeleteJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -986,6 +1004,8 @@ async def delete_async( operation_id="DeleteJWTTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["JWT Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/m2m.py b/src/clerk_backend_api/m2m.py index f8e76940..28a85783 100644 --- a/src/clerk_backend_api/m2m.py +++ b/src/clerk_backend_api/m2m.py @@ -96,6 +96,8 @@ def create_token( operation_id="createM2MToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -211,6 +213,8 @@ async def create_token_async( operation_id="createM2MToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -327,6 +331,8 @@ def list_tokens( operation_id="getM2MTokens", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -448,6 +454,8 @@ async def list_tokens_async( operation_id="getM2MTokens", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -569,6 +577,8 @@ def revoke_token( operation_id="revokeM2MToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -685,6 +695,8 @@ async def revoke_token_async( operation_id="revokeM2MToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -790,6 +802,8 @@ def verify_token( operation_id="verifyM2MToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -895,6 +909,8 @@ async def verify_token_async( operation_id="verifyM2MToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["M2M Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/machines.py b/src/clerk_backend_api/machines.py index c1476b8b..4d206cdc 100644 --- a/src/clerk_backend_api/machines.py +++ b/src/clerk_backend_api/machines.py @@ -97,6 +97,8 @@ def list( operation_id="ListMachines", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -208,6 +210,8 @@ async def list_async( operation_id="ListMachines", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -310,6 +314,8 @@ def create( operation_id="CreateMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -412,6 +418,8 @@ async def create_async( operation_id="CreateMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -504,6 +512,8 @@ def get( operation_id="GetMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -596,6 +606,8 @@ async def get_async( operation_id="GetMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -704,6 +716,8 @@ def update( operation_id="UpdateMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -812,6 +826,8 @@ async def update_async( operation_id="UpdateMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -904,6 +920,8 @@ def delete( operation_id="DeleteMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -996,6 +1014,8 @@ async def delete_async( operation_id="DeleteMachine", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1088,6 +1108,8 @@ def get_secret_key( operation_id="GetMachineSecretKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1180,6 +1202,8 @@ async def get_secret_key_async( operation_id="GetMachineSecretKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1288,6 +1312,8 @@ def rotate_secret_key( operation_id="RotateMachineSecretKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1396,6 +1422,8 @@ async def rotate_secret_key_async( operation_id="RotateMachineSecretKey", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1501,6 +1529,8 @@ def create_scope( operation_id="CreateMachineScope", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1606,6 +1636,8 @@ async def create_scope_async( operation_id="CreateMachineScope", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1701,6 +1733,8 @@ def delete_scope( operation_id="DeleteMachineScope", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1796,6 +1830,8 @@ async def delete_scope_async( operation_id="DeleteMachineScope", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Machines"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/miscellaneous.py b/src/clerk_backend_api/miscellaneous.py index 1487f739..489edf6b 100644 --- a/src/clerk_backend_api/miscellaneous.py +++ b/src/clerk_backend_api/miscellaneous.py @@ -95,6 +95,8 @@ def get_public_interstitial( operation_id="GetPublicInterstitial", oauth2_scopes=None, security_source=None, + tags=["Miscellaneous"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -199,6 +201,8 @@ async def get_public_interstitial_async( operation_id="GetPublicInterstitial", oauth2_scopes=None, security_source=None, + tags=["Miscellaneous"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/models/__init__.py b/src/clerk_backend_api/models/__init__.py index 4740ead9..04a45770 100644 --- a/src/clerk_backend_api/models/__init__.py +++ b/src/clerk_backend_api/models/__init__.py @@ -123,13 +123,8 @@ ChangeProductionInstanceDomainRequestBody, ChangeProductionInstanceDomainRequestBodyTypedDict, ) - from .clerkerror import ClerkError, ClerkErrorTypedDict, Meta, MetaTypedDict - from .clerkerrors import ( - ClerkErrors, - ClerkErrorsData, - ClerkErrorsMeta, - ClerkErrorsMetaTypedDict, - ) + from .clerkerror import ClerkError, ClerkErrorTypedDict + from .clerkerrors import ClerkErrors, ClerkErrorsData from .client import Client, ClientTypedDict, Object from .cnametarget import CNameTarget, CNameTargetTypedDict from .commercecreditbalanceresponse import ( @@ -162,10 +157,18 @@ CommercePerUnitTotal, CommercePerUnitTotalTypedDict, ) + from .commerceperunittotal_2 import ( + CommercePerUnitTotal2, + CommercePerUnitTotal2TypedDict, + ) from .commerceperunittotaltier import ( CommercePerUnitTotalTier, CommercePerUnitTotalTierTypedDict, ) + from .commerceperunittotaltier_2 import ( + CommercePerUnitTotalTier2, + CommercePerUnitTotalTier2TypedDict, + ) from .commerceplan import ( AnnualFee, AnnualFeeTypedDict, @@ -177,6 +180,17 @@ Fee, FeeTypedDict, ) + from .commerceplan_2 import ( + CommercePlan2, + CommercePlan2AnnualFee, + CommercePlan2AnnualFeeTypedDict, + CommercePlan2AnnualMonthlyFee, + CommercePlan2AnnualMonthlyFeeTypedDict, + CommercePlan2Fee, + CommercePlan2FeeTypedDict, + CommercePlan2Object, + CommercePlan2TypedDict, + ) from .commerceplanunitprice import ( CommercePlanUnitPrice, CommercePlanUnitPriceTypedDict, @@ -262,6 +276,70 @@ Totals, TotalsTypedDict, ) + from .commercesubscriptionitem_2 import ( + CommerceSubscriptionItem2, + CommerceSubscriptionItem2Amount, + CommerceSubscriptionItem2AmountTypedDict, + CommerceSubscriptionItem2AnnualFee, + CommerceSubscriptionItem2AnnualFeeTypedDict, + CommerceSubscriptionItem2AnnualMonthlyFee, + CommerceSubscriptionItem2AnnualMonthlyFeeTypedDict, + CommerceSubscriptionItem2CreditAmount, + CommerceSubscriptionItem2CreditAmountTypedDict, + CommerceSubscriptionItem2Credits, + CommerceSubscriptionItem2CreditsTypedDict, + CommerceSubscriptionItem2Discounts, + CommerceSubscriptionItem2DiscountsTypedDict, + CommerceSubscriptionItem2Fee, + CommerceSubscriptionItem2FeeTypedDict, + CommerceSubscriptionItem2NextInvoiceAmount, + CommerceSubscriptionItem2NextInvoiceAmountTypedDict, + CommerceSubscriptionItem2NextInvoiceProration, + CommerceSubscriptionItem2NextInvoiceProrationTypedDict, + CommerceSubscriptionItem2NextPayment, + CommerceSubscriptionItem2NextPaymentAmount, + CommerceSubscriptionItem2NextPaymentAmountTypedDict, + CommerceSubscriptionItem2NextPaymentCredits, + CommerceSubscriptionItem2NextPaymentCreditsTypedDict, + CommerceSubscriptionItem2NextPaymentDiscounts, + CommerceSubscriptionItem2NextPaymentDiscountsTypedDict, + CommerceSubscriptionItem2NextPaymentPayer, + CommerceSubscriptionItem2NextPaymentPayerTypedDict, + CommerceSubscriptionItem2NextPaymentProration, + CommerceSubscriptionItem2NextPaymentProrationTypedDict, + CommerceSubscriptionItem2NextPaymentTotals, + CommerceSubscriptionItem2NextPaymentTotalsProration, + CommerceSubscriptionItem2NextPaymentTotalsProrationTypedDict, + CommerceSubscriptionItem2NextPaymentTotalsTypedDict, + CommerceSubscriptionItem2NextPaymentTypedDict, + CommerceSubscriptionItem2Object, + CommerceSubscriptionItem2Payer, + CommerceSubscriptionItem2PayerObject, + CommerceSubscriptionItem2PayerTypedDict, + CommerceSubscriptionItem2PaymentSourceObject, + CommerceSubscriptionItem2PaymentSourceStatus, + CommerceSubscriptionItem2Plan, + CommerceSubscriptionItem2PlanObject, + CommerceSubscriptionItem2PlanPeriod, + CommerceSubscriptionItem2PlanTypedDict, + CommerceSubscriptionItem2Proration, + CommerceSubscriptionItem2ProrationTypedDict, + CommerceSubscriptionItem2Status, + CommerceSubscriptionItem2Totals, + CommerceSubscriptionItem2TotalsTypedDict, + CommerceSubscriptionItem2TypedDict, + Credit, + CreditTypedDict, + LifetimePaid, + LifetimePaidTypedDict, + NextInvoice, + NextInvoiceTypedDict, + Payer, + PayerTypedDict, + PaymentMethod, + PaymentSource, + PaymentSourceTypedDict, + ) from .commercesubscriptionnextpayment import ( CommerceSubscriptionNextPayment, CommerceSubscriptionNextPaymentCredits, @@ -481,6 +559,18 @@ RequestBodyAttributeMappingTypedDict, RequestBodyProvider, ) + from .createscimdirectoryop import ( + CreateSCIMDirectoryRequestBody, + CreateSCIMDirectoryRequestBodyTypedDict, + GroupRoleMappings, + GroupRoleMappingsTypedDict, + ) + from .createscimgrouprolemappingop import ( + CreateSCIMGroupRoleMappingRequest, + CreateSCIMGroupRoleMappingRequestBody, + CreateSCIMGroupRoleMappingRequestBodyTypedDict, + CreateSCIMGroupRoleMappingRequestTypedDict, + ) from .createsessionop import ( CreateSessionRequestBody, CreateSessionRequestBodyTypedDict, @@ -609,6 +699,14 @@ DeleteSAMLConnectionRequest, DeleteSAMLConnectionRequestTypedDict, ) + from .deletescimdirectoryop import ( + DeleteSCIMDirectoryRequest, + DeleteSCIMDirectoryRequestTypedDict, + ) + from .deletescimgrouprolemappingop import ( + DeleteSCIMGroupRoleMappingRequest, + DeleteSCIMGroupRoleMappingRequestTypedDict, + ) from .deletetotpop import ( DeleteTOTPRequest, DeleteTOTPRequestTypedDict, @@ -635,8 +733,6 @@ from .emailaddress import ( Admin, AdminTypedDict, - ClerkErrorErrorMeta, - ClerkErrorErrorMetaTypedDict, EmailAddress, EmailAddressObject, EmailAddressTypedDict, @@ -645,8 +741,6 @@ Error, ErrorClerkError, ErrorClerkErrorTypedDict, - ErrorMeta, - ErrorMetaTypedDict, ErrorTypedDict, FromOAuth, FromOAuthTypedDict, @@ -686,10 +780,6 @@ VerificationTypedDict, ) from .enterpriseaccount import ( - ClerkErrorErrorEnterpriseAccountMeta, - ClerkErrorErrorEnterpriseAccountMetaTypedDict, - ClerkErrorErrorEnterpriseAccountVerificationMeta, - ClerkErrorErrorEnterpriseAccountVerificationMetaTypedDict, EnterpriseAccount, EnterpriseAccountConnection, EnterpriseAccountConnection1, @@ -772,10 +862,6 @@ ExtendFreeTrialRequestTypedDict, ) from .externalaccountwithverification import ( - ClerkErrorErrorExternalAccountWithVerificationMeta, - ClerkErrorErrorExternalAccountWithVerificationMetaTypedDict, - ClerkErrorErrorExternalAccountWithVerificationVerificationMeta, - ClerkErrorErrorExternalAccountWithVerificationVerificationMetaTypedDict, ExternalAccountWithVerification, ExternalAccountWithVerificationObject, ExternalAccountWithVerificationTypedDict, @@ -804,6 +890,11 @@ FeatureResponseObject, FeatureResponseTypedDict, ) + from .featureresponse_2 import ( + FeatureResponse2, + FeatureResponse2Object, + FeatureResponse2TypedDict, + ) from .getapikeyop import ( GetAPIKeyAPIKeysErrors, GetAPIKeyAPIKeysErrorsTypedDict, @@ -958,6 +1049,10 @@ GetSAMLConnectionRequest, GetSAMLConnectionRequestTypedDict, ) + from .getscimdirectoryop import ( + GetSCIMDirectoryRequest, + GetSCIMDirectoryRequestTypedDict, + ) from .getsessionlistop import ( GetSessionListRequest, GetSessionListRequestTypedDict, @@ -1114,6 +1209,14 @@ ListSAMLConnectionsRequest, ListSAMLConnectionsRequestTypedDict, ) + from .listscimdirectoriesop import ( + ListSCIMDirectoriesRequest, + ListSCIMDirectoriesRequestTypedDict, + ) + from .listscimgrouprolemappingsop import ( + ListSCIMGroupRoleMappingsRequest, + ListSCIMGroupRoleMappingsRequestTypedDict, + ) from .listwaitlistentriesop import ( ListWaitlistEntriesQueryParamStatus, ListWaitlistEntriesRequest, @@ -1353,6 +1456,14 @@ ReplaceRoleSetRequestBodyTypedDict, ReplaceRoleSetRequestTypedDict, ) + from .replacescimgrouprolemappingsop import ( + Mappings, + MappingsTypedDict, + ReplaceSCIMGroupRoleMappingsRequest, + ReplaceSCIMGroupRoleMappingsRequestBody, + ReplaceSCIMGroupRoleMappingsRequestBodyTypedDict, + ReplaceSCIMGroupRoleMappingsRequestTypedDict, + ) from .replaceuseremailaddressop import ( IdentificationStatus, ReplaceUserEmailAddressRequest, @@ -1450,6 +1561,12 @@ RevokeM2MTokenResponseBody, RevokeM2MTokenResponseBodyTypedDict, ) + from .revokeoauthapplicationtokenop import ( + RevokeOAuthApplicationTokenRequest, + RevokeOAuthApplicationTokenRequestBody, + RevokeOAuthApplicationTokenRequestBodyTypedDict, + RevokeOAuthApplicationTokenRequestTypedDict, + ) from .revokeorganizationinvitationop import ( RevokeOrganizationInvitationRequest, RevokeOrganizationInvitationRequestBody, @@ -1490,9 +1607,11 @@ RotateOAuthApplicationSecretRequest, RotateOAuthApplicationSecretRequestTypedDict, ) + from .rotatescimdirectoryapikeyop import ( + RotateSCIMDirectoryAPIKeyRequest, + RotateSCIMDirectoryAPIKeyRequestTypedDict, + ) from .samlaccount import ( - ClerkErrorErrorSAMLAccountMeta, - ClerkErrorErrorSAMLAccountMetaTypedDict, SAMLAccount, SAMLAccountConnection, SAMLAccountConnection1, @@ -1536,93 +1655,27 @@ SAMLConnectionAttributeMappingTypedDict, ) from .samlconnections import SAMLConnections, SAMLConnectionsTypedDict - from .schemas_commerceperunittotal import ( - SchemasCommercePerUnitTotal, - SchemasCommercePerUnitTotalTypedDict, - ) - from .schemas_commerceperunittotaltier import ( - SchemasCommercePerUnitTotalTier, - SchemasCommercePerUnitTotalTierTypedDict, - ) - from .schemas_commerceplan import ( - SchemasCommercePlan, - SchemasCommercePlanAnnualFee, - SchemasCommercePlanAnnualFeeTypedDict, - SchemasCommercePlanAnnualMonthlyFee, - SchemasCommercePlanAnnualMonthlyFeeTypedDict, - SchemasCommercePlanFee, - SchemasCommercePlanFeeTypedDict, - SchemasCommercePlanObject, - SchemasCommercePlanTypedDict, - ) - from .schemas_commercesubscriptionitem import ( - Credit, - CreditTypedDict, - LifetimePaid, - LifetimePaidTypedDict, - NextInvoice, - NextInvoiceTypedDict, - Payer, - PayerTypedDict, - PaymentMethod, - PaymentSource, - PaymentSourceTypedDict, - SchemasCommerceSubscriptionItem, - SchemasCommerceSubscriptionItemAmount, - SchemasCommerceSubscriptionItemAmountTypedDict, - SchemasCommerceSubscriptionItemAnnualFee, - SchemasCommerceSubscriptionItemAnnualFeeTypedDict, - SchemasCommerceSubscriptionItemAnnualMonthlyFee, - SchemasCommerceSubscriptionItemAnnualMonthlyFeeTypedDict, - SchemasCommerceSubscriptionItemCreditAmount, - SchemasCommerceSubscriptionItemCreditAmountTypedDict, - SchemasCommerceSubscriptionItemCredits, - SchemasCommerceSubscriptionItemCreditsTypedDict, - SchemasCommerceSubscriptionItemDiscounts, - SchemasCommerceSubscriptionItemDiscountsTypedDict, - SchemasCommerceSubscriptionItemFee, - SchemasCommerceSubscriptionItemFeeTypedDict, - SchemasCommerceSubscriptionItemNextInvoiceAmount, - SchemasCommerceSubscriptionItemNextInvoiceAmountTypedDict, - SchemasCommerceSubscriptionItemNextInvoiceProration, - SchemasCommerceSubscriptionItemNextInvoiceProrationTypedDict, - SchemasCommerceSubscriptionItemNextPayment, - SchemasCommerceSubscriptionItemNextPaymentAmount, - SchemasCommerceSubscriptionItemNextPaymentAmountTypedDict, - SchemasCommerceSubscriptionItemNextPaymentCredits, - SchemasCommerceSubscriptionItemNextPaymentCreditsTypedDict, - SchemasCommerceSubscriptionItemNextPaymentDiscounts, - SchemasCommerceSubscriptionItemNextPaymentDiscountsTypedDict, - SchemasCommerceSubscriptionItemNextPaymentPayer, - SchemasCommerceSubscriptionItemNextPaymentPayerTypedDict, - SchemasCommerceSubscriptionItemNextPaymentProration, - SchemasCommerceSubscriptionItemNextPaymentProrationTypedDict, - SchemasCommerceSubscriptionItemNextPaymentTotals, - SchemasCommerceSubscriptionItemNextPaymentTotalsProration, - SchemasCommerceSubscriptionItemNextPaymentTotalsProrationTypedDict, - SchemasCommerceSubscriptionItemNextPaymentTotalsTypedDict, - SchemasCommerceSubscriptionItemNextPaymentTypedDict, - SchemasCommerceSubscriptionItemObject, - SchemasCommerceSubscriptionItemPayer, - SchemasCommerceSubscriptionItemPayerObject, - SchemasCommerceSubscriptionItemPayerTypedDict, - SchemasCommerceSubscriptionItemPaymentSourceObject, - SchemasCommerceSubscriptionItemPaymentSourceStatus, - SchemasCommerceSubscriptionItemPlan, - SchemasCommerceSubscriptionItemPlanObject, - SchemasCommerceSubscriptionItemPlanPeriod, - SchemasCommerceSubscriptionItemPlanTypedDict, - SchemasCommerceSubscriptionItemProration, - SchemasCommerceSubscriptionItemProrationTypedDict, - SchemasCommerceSubscriptionItemStatus, - SchemasCommerceSubscriptionItemTotals, - SchemasCommerceSubscriptionItemTotalsTypedDict, - SchemasCommerceSubscriptionItemTypedDict, - ) - from .schemas_featureresponse import ( - SchemasFeatureResponse, - SchemasFeatureResponseObject, - SchemasFeatureResponseTypedDict, + from .scimdirectory import ( + SCIMDirectory, + SCIMDirectoryCustomAttributes, + SCIMDirectoryCustomAttributesTypedDict, + SCIMDirectoryObject, + SCIMDirectoryTypedDict, + ) + from .scimdirectory_list import SCIMDirectoryList, SCIMDirectoryListTypedDict + from .scimgrouprolemapping import ( + SCIMGroupRoleMapping, + SCIMGroupRoleMappingObject, + SCIMGroupRoleMappingTypedDict, + ) + from .scimgrouprolemapping_deleted import ( + SCIMGroupRoleMappingDeleted, + SCIMGroupRoleMappingDeletedObject, + SCIMGroupRoleMappingDeletedTypedDict, + ) + from .scimgrouprolemapping_list import ( + SCIMGroupRoleMappingList, + SCIMGroupRoleMappingListTypedDict, ) from .sdkerror import SDKError from .security import Security, SecurityTypedDict @@ -1850,6 +1903,12 @@ UpdateSAMLConnectionRequestBodyTypedDict, UpdateSAMLConnectionRequestTypedDict, ) + from .updatescimdirectoryop import ( + UpdateSCIMDirectoryRequest, + UpdateSCIMDirectoryRequestBody, + UpdateSCIMDirectoryRequestBodyTypedDict, + UpdateSCIMDirectoryRequestTypedDict, + ) from .updatesignupop import ( UpdateSignUpRequest, UpdateSignUpRequestBody, @@ -2118,23 +2177,9 @@ "ClaimsTypedDict", "ClerkBaseError", "ClerkError", - "ClerkErrorErrorEnterpriseAccountMeta", - "ClerkErrorErrorEnterpriseAccountMetaTypedDict", - "ClerkErrorErrorEnterpriseAccountVerificationMeta", - "ClerkErrorErrorEnterpriseAccountVerificationMetaTypedDict", - "ClerkErrorErrorExternalAccountWithVerificationMeta", - "ClerkErrorErrorExternalAccountWithVerificationMetaTypedDict", - "ClerkErrorErrorExternalAccountWithVerificationVerificationMeta", - "ClerkErrorErrorExternalAccountWithVerificationVerificationMetaTypedDict", - "ClerkErrorErrorMeta", - "ClerkErrorErrorMetaTypedDict", - "ClerkErrorErrorSAMLAccountMeta", - "ClerkErrorErrorSAMLAccountMetaTypedDict", "ClerkErrorTypedDict", "ClerkErrors", "ClerkErrorsData", - "ClerkErrorsMeta", - "ClerkErrorsMetaTypedDict", "Client", "ClientTypedDict", "CodeType", @@ -2152,10 +2197,23 @@ "CommercePaymentMethodResponseStatus", "CommercePaymentMethodResponseTypedDict", "CommercePerUnitTotal", + "CommercePerUnitTotal2", + "CommercePerUnitTotal2TypedDict", "CommercePerUnitTotalTier", + "CommercePerUnitTotalTier2", + "CommercePerUnitTotalTier2TypedDict", "CommercePerUnitTotalTierTypedDict", "CommercePerUnitTotalTypedDict", "CommercePlan", + "CommercePlan2", + "CommercePlan2AnnualFee", + "CommercePlan2AnnualFeeTypedDict", + "CommercePlan2AnnualMonthlyFee", + "CommercePlan2AnnualMonthlyFeeTypedDict", + "CommercePlan2Fee", + "CommercePlan2FeeTypedDict", + "CommercePlan2Object", + "CommercePlan2TypedDict", "CommercePlanObject", "CommercePlanTypedDict", "CommercePlanUnitPrice", @@ -2171,6 +2229,57 @@ "CommerceSubscriptionCreditResponse", "CommerceSubscriptionCreditResponseTypedDict", "CommerceSubscriptionItem", + "CommerceSubscriptionItem2", + "CommerceSubscriptionItem2Amount", + "CommerceSubscriptionItem2AmountTypedDict", + "CommerceSubscriptionItem2AnnualFee", + "CommerceSubscriptionItem2AnnualFeeTypedDict", + "CommerceSubscriptionItem2AnnualMonthlyFee", + "CommerceSubscriptionItem2AnnualMonthlyFeeTypedDict", + "CommerceSubscriptionItem2CreditAmount", + "CommerceSubscriptionItem2CreditAmountTypedDict", + "CommerceSubscriptionItem2Credits", + "CommerceSubscriptionItem2CreditsTypedDict", + "CommerceSubscriptionItem2Discounts", + "CommerceSubscriptionItem2DiscountsTypedDict", + "CommerceSubscriptionItem2Fee", + "CommerceSubscriptionItem2FeeTypedDict", + "CommerceSubscriptionItem2NextInvoiceAmount", + "CommerceSubscriptionItem2NextInvoiceAmountTypedDict", + "CommerceSubscriptionItem2NextInvoiceProration", + "CommerceSubscriptionItem2NextInvoiceProrationTypedDict", + "CommerceSubscriptionItem2NextPayment", + "CommerceSubscriptionItem2NextPaymentAmount", + "CommerceSubscriptionItem2NextPaymentAmountTypedDict", + "CommerceSubscriptionItem2NextPaymentCredits", + "CommerceSubscriptionItem2NextPaymentCreditsTypedDict", + "CommerceSubscriptionItem2NextPaymentDiscounts", + "CommerceSubscriptionItem2NextPaymentDiscountsTypedDict", + "CommerceSubscriptionItem2NextPaymentPayer", + "CommerceSubscriptionItem2NextPaymentPayerTypedDict", + "CommerceSubscriptionItem2NextPaymentProration", + "CommerceSubscriptionItem2NextPaymentProrationTypedDict", + "CommerceSubscriptionItem2NextPaymentTotals", + "CommerceSubscriptionItem2NextPaymentTotalsProration", + "CommerceSubscriptionItem2NextPaymentTotalsProrationTypedDict", + "CommerceSubscriptionItem2NextPaymentTotalsTypedDict", + "CommerceSubscriptionItem2NextPaymentTypedDict", + "CommerceSubscriptionItem2Object", + "CommerceSubscriptionItem2Payer", + "CommerceSubscriptionItem2PayerObject", + "CommerceSubscriptionItem2PayerTypedDict", + "CommerceSubscriptionItem2PaymentSourceObject", + "CommerceSubscriptionItem2PaymentSourceStatus", + "CommerceSubscriptionItem2Plan", + "CommerceSubscriptionItem2PlanObject", + "CommerceSubscriptionItem2PlanPeriod", + "CommerceSubscriptionItem2PlanTypedDict", + "CommerceSubscriptionItem2Proration", + "CommerceSubscriptionItem2ProrationTypedDict", + "CommerceSubscriptionItem2Status", + "CommerceSubscriptionItem2Totals", + "CommerceSubscriptionItem2TotalsTypedDict", + "CommerceSubscriptionItem2TypedDict", "CommerceSubscriptionItemAmount", "CommerceSubscriptionItemAmountTypedDict", "CommerceSubscriptionItemAnnualFee", @@ -2350,6 +2459,12 @@ "CreateSAMLConnectionRequestBodyAttributeMappingTypedDict", "CreateSAMLConnectionRequestBodyProvider", "CreateSAMLConnectionRequestBodyTypedDict", + "CreateSCIMDirectoryRequestBody", + "CreateSCIMDirectoryRequestBodyTypedDict", + "CreateSCIMGroupRoleMappingRequest", + "CreateSCIMGroupRoleMappingRequestBody", + "CreateSCIMGroupRoleMappingRequestBodyTypedDict", + "CreateSCIMGroupRoleMappingRequestTypedDict", "CreateSessionRequestBody", "CreateSessionRequestBodyTypedDict", "CreateSessionTokenFromTemplateObject", @@ -2439,6 +2554,10 @@ "DeleteRedirectURLRequestTypedDict", "DeleteSAMLConnectionRequest", "DeleteSAMLConnectionRequestTypedDict", + "DeleteSCIMDirectoryRequest", + "DeleteSCIMDirectoryRequestTypedDict", + "DeleteSCIMGroupRoleMappingRequest", + "DeleteSCIMGroupRoleMappingRequestTypedDict", "DeleteTOTPRequest", "DeleteTOTPRequestTypedDict", "DeleteTOTPResponseBody", @@ -2500,8 +2619,6 @@ "Error", "ErrorClerkError", "ErrorClerkErrorTypedDict", - "ErrorMeta", - "ErrorMetaTypedDict", "ErrorTypedDict", "Errors", "ErrorsTypedDict", @@ -2517,6 +2634,9 @@ "ExternalAccountWithVerificationVerification", "ExternalAccountWithVerificationVerificationTypedDict", "FeatureResponse", + "FeatureResponse2", + "FeatureResponse2Object", + "FeatureResponse2TypedDict", "FeatureResponseObject", "FeatureResponseTypedDict", "Fee", @@ -2634,6 +2754,8 @@ "GetRoleSetRequestTypedDict", "GetSAMLConnectionRequest", "GetSAMLConnectionRequestTypedDict", + "GetSCIMDirectoryRequest", + "GetSCIMDirectoryRequestTypedDict", "GetSessionListRequest", "GetSessionListRequestTypedDict", "GetSessionRequest", @@ -2656,6 +2778,8 @@ "GetUsersCountRequestTypedDict", "GoogleOneTap", "GoogleOneTapTypedDict", + "GroupRoleMappings", + "GroupRoleMappingsTypedDict", "Groups", "GroupsTypedDict", "IdentificationLink", @@ -2745,6 +2869,10 @@ "ListRoleSetsRequestTypedDict", "ListSAMLConnectionsRequest", "ListSAMLConnectionsRequestTypedDict", + "ListSCIMDirectoriesRequest", + "ListSCIMDirectoriesRequestTypedDict", + "ListSCIMGroupRoleMappingsRequest", + "ListSCIMGroupRoleMappingsRequestTypedDict", "ListWaitlistEntriesQueryParamStatus", "ListWaitlistEntriesRequest", "ListWaitlistEntriesRequestTypedDict", @@ -2777,12 +2905,12 @@ "MachineWithoutScopedMachines", "MachineWithoutScopedMachinesObject", "MachineWithoutScopedMachinesTypedDict", + "Mappings", + "MappingsTypedDict", "MergeOrganizationMetadataRequest", "MergeOrganizationMetadataRequestBody", "MergeOrganizationMetadataRequestBodyTypedDict", "MergeOrganizationMetadataRequestTypedDict", - "Meta", - "MetaTypedDict", "NextAction", "NextInvoice", "NextInvoiceTypedDict", @@ -2951,6 +3079,10 @@ "ReplaceRoleSetRequestBody", "ReplaceRoleSetRequestBodyTypedDict", "ReplaceRoleSetRequestTypedDict", + "ReplaceSCIMGroupRoleMappingsRequest", + "ReplaceSCIMGroupRoleMappingsRequestBody", + "ReplaceSCIMGroupRoleMappingsRequestBodyTypedDict", + "ReplaceSCIMGroupRoleMappingsRequestTypedDict", "ReplaceUserEmailAddressRequest", "ReplaceUserEmailAddressRequestBody", "ReplaceUserEmailAddressRequestBodyTypedDict", @@ -3041,6 +3173,10 @@ "RevokeM2MTokenRequestTypedDict", "RevokeM2MTokenResponseBody", "RevokeM2MTokenResponseBodyTypedDict", + "RevokeOAuthApplicationTokenRequest", + "RevokeOAuthApplicationTokenRequestBody", + "RevokeOAuthApplicationTokenRequestBodyTypedDict", + "RevokeOAuthApplicationTokenRequestTypedDict", "RevokeOrganizationInvitationRequest", "RevokeOrganizationInvitationRequestBody", "RevokeOrganizationInvitationRequestBodyTypedDict", @@ -3073,6 +3209,8 @@ "RotateMachineSecretKeyRequestTypedDict", "RotateOAuthApplicationSecretRequest", "RotateOAuthApplicationSecretRequestTypedDict", + "RotateSCIMDirectoryAPIKeyRequest", + "RotateSCIMDirectoryAPIKeyRequestTypedDict", "SAMLAccount", "SAMLAccountConnection", "SAMLAccountConnection1", @@ -3094,76 +3232,24 @@ "SAMLConnectionTypedDict", "SAMLConnections", "SAMLConnectionsTypedDict", + "SCIMDirectory", + "SCIMDirectoryCustomAttributes", + "SCIMDirectoryCustomAttributesTypedDict", + "SCIMDirectoryList", + "SCIMDirectoryListTypedDict", + "SCIMDirectoryObject", + "SCIMDirectoryTypedDict", + "SCIMGroupRoleMapping", + "SCIMGroupRoleMappingDeleted", + "SCIMGroupRoleMappingDeletedObject", + "SCIMGroupRoleMappingDeletedTypedDict", + "SCIMGroupRoleMappingList", + "SCIMGroupRoleMappingListTypedDict", + "SCIMGroupRoleMappingObject", + "SCIMGroupRoleMappingTypedDict", "SDKError", "Saml", "SamlTypedDict", - "SchemasCommercePerUnitTotal", - "SchemasCommercePerUnitTotalTier", - "SchemasCommercePerUnitTotalTierTypedDict", - "SchemasCommercePerUnitTotalTypedDict", - "SchemasCommercePlan", - "SchemasCommercePlanAnnualFee", - "SchemasCommercePlanAnnualFeeTypedDict", - "SchemasCommercePlanAnnualMonthlyFee", - "SchemasCommercePlanAnnualMonthlyFeeTypedDict", - "SchemasCommercePlanFee", - "SchemasCommercePlanFeeTypedDict", - "SchemasCommercePlanObject", - "SchemasCommercePlanTypedDict", - "SchemasCommerceSubscriptionItem", - "SchemasCommerceSubscriptionItemAmount", - "SchemasCommerceSubscriptionItemAmountTypedDict", - "SchemasCommerceSubscriptionItemAnnualFee", - "SchemasCommerceSubscriptionItemAnnualFeeTypedDict", - "SchemasCommerceSubscriptionItemAnnualMonthlyFee", - "SchemasCommerceSubscriptionItemAnnualMonthlyFeeTypedDict", - "SchemasCommerceSubscriptionItemCreditAmount", - "SchemasCommerceSubscriptionItemCreditAmountTypedDict", - "SchemasCommerceSubscriptionItemCredits", - "SchemasCommerceSubscriptionItemCreditsTypedDict", - "SchemasCommerceSubscriptionItemDiscounts", - "SchemasCommerceSubscriptionItemDiscountsTypedDict", - "SchemasCommerceSubscriptionItemFee", - "SchemasCommerceSubscriptionItemFeeTypedDict", - "SchemasCommerceSubscriptionItemNextInvoiceAmount", - "SchemasCommerceSubscriptionItemNextInvoiceAmountTypedDict", - "SchemasCommerceSubscriptionItemNextInvoiceProration", - "SchemasCommerceSubscriptionItemNextInvoiceProrationTypedDict", - "SchemasCommerceSubscriptionItemNextPayment", - "SchemasCommerceSubscriptionItemNextPaymentAmount", - "SchemasCommerceSubscriptionItemNextPaymentAmountTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentCredits", - "SchemasCommerceSubscriptionItemNextPaymentCreditsTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentDiscounts", - "SchemasCommerceSubscriptionItemNextPaymentDiscountsTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentPayer", - "SchemasCommerceSubscriptionItemNextPaymentPayerTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentProration", - "SchemasCommerceSubscriptionItemNextPaymentProrationTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentTotals", - "SchemasCommerceSubscriptionItemNextPaymentTotalsProration", - "SchemasCommerceSubscriptionItemNextPaymentTotalsProrationTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentTotalsTypedDict", - "SchemasCommerceSubscriptionItemNextPaymentTypedDict", - "SchemasCommerceSubscriptionItemObject", - "SchemasCommerceSubscriptionItemPayer", - "SchemasCommerceSubscriptionItemPayerObject", - "SchemasCommerceSubscriptionItemPayerTypedDict", - "SchemasCommerceSubscriptionItemPaymentSourceObject", - "SchemasCommerceSubscriptionItemPaymentSourceStatus", - "SchemasCommerceSubscriptionItemPlan", - "SchemasCommerceSubscriptionItemPlanObject", - "SchemasCommerceSubscriptionItemPlanPeriod", - "SchemasCommerceSubscriptionItemPlanTypedDict", - "SchemasCommerceSubscriptionItemProration", - "SchemasCommerceSubscriptionItemProrationTypedDict", - "SchemasCommerceSubscriptionItemStatus", - "SchemasCommerceSubscriptionItemTotals", - "SchemasCommerceSubscriptionItemTotalsTypedDict", - "SchemasCommerceSubscriptionItemTypedDict", - "SchemasFeatureResponse", - "SchemasFeatureResponseObject", - "SchemasFeatureResponseTypedDict", "Scim", "ScimTypedDict", "Seats", @@ -3343,6 +3429,10 @@ "UpdateSAMLConnectionRequestBody", "UpdateSAMLConnectionRequestBodyTypedDict", "UpdateSAMLConnectionRequestTypedDict", + "UpdateSCIMDirectoryRequest", + "UpdateSCIMDirectoryRequestBody", + "UpdateSCIMDirectoryRequestBodyTypedDict", + "UpdateSCIMDirectoryRequestTypedDict", "UpdateSignUpRequest", "UpdateSignUpRequestBody", "UpdateSignUpRequestBodyTypedDict", @@ -3659,12 +3749,8 @@ "ChangeProductionInstanceDomainRequestBodyTypedDict": ".changeproductioninstancedomainop", "ClerkError": ".clerkerror", "ClerkErrorTypedDict": ".clerkerror", - "Meta": ".clerkerror", - "MetaTypedDict": ".clerkerror", "ClerkErrors": ".clerkerrors", "ClerkErrorsData": ".clerkerrors", - "ClerkErrorsMeta": ".clerkerrors", - "ClerkErrorsMetaTypedDict": ".clerkerrors", "Client": ".client", "ClientTypedDict": ".client", "Object": ".client", @@ -3688,8 +3774,12 @@ "PaymentType": ".commercepaymentmethodresponse", "CommercePerUnitTotal": ".commerceperunittotal", "CommercePerUnitTotalTypedDict": ".commerceperunittotal", + "CommercePerUnitTotal2": ".commerceperunittotal_2", + "CommercePerUnitTotal2TypedDict": ".commerceperunittotal_2", "CommercePerUnitTotalTier": ".commerceperunittotaltier", "CommercePerUnitTotalTierTypedDict": ".commerceperunittotaltier", + "CommercePerUnitTotalTier2": ".commerceperunittotaltier_2", + "CommercePerUnitTotalTier2TypedDict": ".commerceperunittotaltier_2", "AnnualFee": ".commerceplan", "AnnualFeeTypedDict": ".commerceplan", "AnnualMonthlyFee": ".commerceplan", @@ -3699,6 +3789,15 @@ "CommercePlanTypedDict": ".commerceplan", "Fee": ".commerceplan", "FeeTypedDict": ".commerceplan", + "CommercePlan2": ".commerceplan_2", + "CommercePlan2AnnualFee": ".commerceplan_2", + "CommercePlan2AnnualFeeTypedDict": ".commerceplan_2", + "CommercePlan2AnnualMonthlyFee": ".commerceplan_2", + "CommercePlan2AnnualMonthlyFeeTypedDict": ".commerceplan_2", + "CommercePlan2Fee": ".commerceplan_2", + "CommercePlan2FeeTypedDict": ".commerceplan_2", + "CommercePlan2Object": ".commerceplan_2", + "CommercePlan2TypedDict": ".commerceplan_2", "CommercePlanUnitPrice": ".commerceplanunitprice", "CommercePlanUnitPriceTypedDict": ".commerceplanunitprice", "CommercePlanUnitPriceTier": ".commerceplanunitpricetier", @@ -3770,6 +3869,68 @@ "SeatsTypedDict": ".commercesubscriptionitem", "Totals": ".commercesubscriptionitem", "TotalsTypedDict": ".commercesubscriptionitem", + "CommerceSubscriptionItem2": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Amount": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2AmountTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2AnnualFee": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2AnnualFeeTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2AnnualMonthlyFee": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2AnnualMonthlyFeeTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2CreditAmount": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2CreditAmountTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Credits": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2CreditsTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Discounts": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2DiscountsTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Fee": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2FeeTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextInvoiceAmount": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextInvoiceAmountTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextInvoiceProration": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextInvoiceProrationTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPayment": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentAmount": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentAmountTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentCredits": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentCreditsTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentDiscounts": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentDiscountsTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentPayer": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentPayerTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentProration": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentProrationTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentTotals": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentTotalsProration": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentTotalsProrationTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentTotalsTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2NextPaymentTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Object": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Payer": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PayerObject": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PayerTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PaymentSourceObject": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PaymentSourceStatus": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Plan": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PlanObject": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PlanPeriod": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2PlanTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Proration": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2ProrationTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Status": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2Totals": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2TotalsTypedDict": ".commercesubscriptionitem_2", + "CommerceSubscriptionItem2TypedDict": ".commercesubscriptionitem_2", + "Credit": ".commercesubscriptionitem_2", + "CreditTypedDict": ".commercesubscriptionitem_2", + "LifetimePaid": ".commercesubscriptionitem_2", + "LifetimePaidTypedDict": ".commercesubscriptionitem_2", + "NextInvoice": ".commercesubscriptionitem_2", + "NextInvoiceTypedDict": ".commercesubscriptionitem_2", + "Payer": ".commercesubscriptionitem_2", + "PayerTypedDict": ".commercesubscriptionitem_2", + "PaymentMethod": ".commercesubscriptionitem_2", + "PaymentSource": ".commercesubscriptionitem_2", + "PaymentSourceTypedDict": ".commercesubscriptionitem_2", "CommerceSubscriptionNextPayment": ".commercesubscriptionnextpayment", "CommerceSubscriptionNextPaymentCredits": ".commercesubscriptionnextpayment", "CommerceSubscriptionNextPaymentCreditsTypedDict": ".commercesubscriptionnextpayment", @@ -3929,6 +4090,14 @@ "RequestBodyAttributeMapping": ".createsamlconnectionop", "RequestBodyAttributeMappingTypedDict": ".createsamlconnectionop", "RequestBodyProvider": ".createsamlconnectionop", + "CreateSCIMDirectoryRequestBody": ".createscimdirectoryop", + "CreateSCIMDirectoryRequestBodyTypedDict": ".createscimdirectoryop", + "GroupRoleMappings": ".createscimdirectoryop", + "GroupRoleMappingsTypedDict": ".createscimdirectoryop", + "CreateSCIMGroupRoleMappingRequest": ".createscimgrouprolemappingop", + "CreateSCIMGroupRoleMappingRequestBody": ".createscimgrouprolemappingop", + "CreateSCIMGroupRoleMappingRequestBodyTypedDict": ".createscimgrouprolemappingop", + "CreateSCIMGroupRoleMappingRequestTypedDict": ".createscimgrouprolemappingop", "CreateSessionRequestBody": ".createsessionop", "CreateSessionRequestBodyTypedDict": ".createsessionop", "CreateSessionTokenFromTemplateObject": ".createsessiontokenfromtemplateop", @@ -4010,6 +4179,10 @@ "DeleteRedirectURLRequestTypedDict": ".deleteredirecturlop", "DeleteSAMLConnectionRequest": ".deletesamlconnectionop", "DeleteSAMLConnectionRequestTypedDict": ".deletesamlconnectionop", + "DeleteSCIMDirectoryRequest": ".deletescimdirectoryop", + "DeleteSCIMDirectoryRequestTypedDict": ".deletescimdirectoryop", + "DeleteSCIMGroupRoleMappingRequest": ".deletescimgrouprolemappingop", + "DeleteSCIMGroupRoleMappingRequestTypedDict": ".deletescimgrouprolemappingop", "DeleteTOTPRequest": ".deletetotpop", "DeleteTOTPRequestTypedDict": ".deletetotpop", "DeleteTOTPResponseBody": ".deletetotpop", @@ -4031,8 +4204,6 @@ "DomainsTypedDict": ".domains", "Admin": ".emailaddress", "AdminTypedDict": ".emailaddress", - "ClerkErrorErrorMeta": ".emailaddress", - "ClerkErrorErrorMetaTypedDict": ".emailaddress", "EmailAddress": ".emailaddress", "EmailAddressObject": ".emailaddress", "EmailAddressTypedDict": ".emailaddress", @@ -4041,8 +4212,6 @@ "Error": ".emailaddress", "ErrorClerkError": ".emailaddress", "ErrorClerkErrorTypedDict": ".emailaddress", - "ErrorMeta": ".emailaddress", - "ErrorMetaTypedDict": ".emailaddress", "ErrorTypedDict": ".emailaddress", "FromOAuth": ".emailaddress", "FromOAuthTypedDict": ".emailaddress", @@ -4080,10 +4249,6 @@ "VerificationTicketVerificationStatus": ".emailaddress", "VerificationTicketVerificationStrategy": ".emailaddress", "VerificationTypedDict": ".emailaddress", - "ClerkErrorErrorEnterpriseAccountMeta": ".enterpriseaccount", - "ClerkErrorErrorEnterpriseAccountMetaTypedDict": ".enterpriseaccount", - "ClerkErrorErrorEnterpriseAccountVerificationMeta": ".enterpriseaccount", - "ClerkErrorErrorEnterpriseAccountVerificationMetaTypedDict": ".enterpriseaccount", "EnterpriseAccount": ".enterpriseaccount", "EnterpriseAccountConnection": ".enterpriseaccount", "EnterpriseAccountConnection1": ".enterpriseaccount", @@ -4150,10 +4315,6 @@ "ExtendBillingSubscriptionItemFreeTrialRequestTypedDict": ".extendbillingsubscriptionitemfreetrialop", "ExtendFreeTrialRequest": ".extendfreetrialrequest", "ExtendFreeTrialRequestTypedDict": ".extendfreetrialrequest", - "ClerkErrorErrorExternalAccountWithVerificationMeta": ".externalaccountwithverification", - "ClerkErrorErrorExternalAccountWithVerificationMetaTypedDict": ".externalaccountwithverification", - "ClerkErrorErrorExternalAccountWithVerificationVerificationMeta": ".externalaccountwithverification", - "ClerkErrorErrorExternalAccountWithVerificationVerificationMetaTypedDict": ".externalaccountwithverification", "ExternalAccountWithVerification": ".externalaccountwithverification", "ExternalAccountWithVerificationObject": ".externalaccountwithverification", "ExternalAccountWithVerificationTypedDict": ".externalaccountwithverification", @@ -4179,6 +4340,9 @@ "FeatureResponse": ".featureresponse", "FeatureResponseObject": ".featureresponse", "FeatureResponseTypedDict": ".featureresponse", + "FeatureResponse2": ".featureresponse_2", + "FeatureResponse2Object": ".featureresponse_2", + "FeatureResponse2TypedDict": ".featureresponse_2", "GetAPIKeyAPIKeysErrors": ".getapikeyop", "GetAPIKeyAPIKeysErrorsTypedDict": ".getapikeyop", "GetAPIKeyAPIKeysResponseBody": ".getapikeyop", @@ -4294,6 +4458,8 @@ "GetRoleSetRequestTypedDict": ".getrolesetop", "GetSAMLConnectionRequest": ".getsamlconnectionop", "GetSAMLConnectionRequestTypedDict": ".getsamlconnectionop", + "GetSCIMDirectoryRequest": ".getscimdirectoryop", + "GetSCIMDirectoryRequestTypedDict": ".getscimdirectoryop", "GetSessionListRequest": ".getsessionlistop", "GetSessionListRequestTypedDict": ".getsessionlistop", "QueryParamStatus": ".getsessionlistop", @@ -4401,6 +4567,10 @@ "ListRoleSetsRequestTypedDict": ".listrolesetsop", "ListSAMLConnectionsRequest": ".listsamlconnectionsop", "ListSAMLConnectionsRequestTypedDict": ".listsamlconnectionsop", + "ListSCIMDirectoriesRequest": ".listscimdirectoriesop", + "ListSCIMDirectoriesRequestTypedDict": ".listscimdirectoriesop", + "ListSCIMGroupRoleMappingsRequest": ".listscimgrouprolemappingsop", + "ListSCIMGroupRoleMappingsRequestTypedDict": ".listscimgrouprolemappingsop", "ListWaitlistEntriesQueryParamStatus": ".listwaitlistentriesop", "ListWaitlistEntriesRequest": ".listwaitlistentriesop", "ListWaitlistEntriesRequestTypedDict": ".listwaitlistentriesop", @@ -4578,6 +4748,12 @@ "ReplaceRoleSetRequestBody": ".replacerolesetop", "ReplaceRoleSetRequestBodyTypedDict": ".replacerolesetop", "ReplaceRoleSetRequestTypedDict": ".replacerolesetop", + "Mappings": ".replacescimgrouprolemappingsop", + "MappingsTypedDict": ".replacescimgrouprolemappingsop", + "ReplaceSCIMGroupRoleMappingsRequest": ".replacescimgrouprolemappingsop", + "ReplaceSCIMGroupRoleMappingsRequestBody": ".replacescimgrouprolemappingsop", + "ReplaceSCIMGroupRoleMappingsRequestBodyTypedDict": ".replacescimgrouprolemappingsop", + "ReplaceSCIMGroupRoleMappingsRequestTypedDict": ".replacescimgrouprolemappingsop", "IdentificationStatus": ".replaceuseremailaddressop", "ReplaceUserEmailAddressRequest": ".replaceuseremailaddressop", "ReplaceUserEmailAddressRequestBody": ".replaceuseremailaddressop", @@ -4655,6 +4831,10 @@ "RevokeM2MTokenRequestTypedDict": ".revokem2mtokenop", "RevokeM2MTokenResponseBody": ".revokem2mtokenop", "RevokeM2MTokenResponseBodyTypedDict": ".revokem2mtokenop", + "RevokeOAuthApplicationTokenRequest": ".revokeoauthapplicationtokenop", + "RevokeOAuthApplicationTokenRequestBody": ".revokeoauthapplicationtokenop", + "RevokeOAuthApplicationTokenRequestBodyTypedDict": ".revokeoauthapplicationtokenop", + "RevokeOAuthApplicationTokenRequestTypedDict": ".revokeoauthapplicationtokenop", "RevokeOrganizationInvitationRequest": ".revokeorganizationinvitationop", "RevokeOrganizationInvitationRequestBody": ".revokeorganizationinvitationop", "RevokeOrganizationInvitationRequestBodyTypedDict": ".revokeorganizationinvitationop", @@ -4692,8 +4872,8 @@ "RotateMachineSecretKeyRequestTypedDict": ".rotatemachinesecretkeyop", "RotateOAuthApplicationSecretRequest": ".rotateoauthapplicationsecretop", "RotateOAuthApplicationSecretRequestTypedDict": ".rotateoauthapplicationsecretop", - "ClerkErrorErrorSAMLAccountMeta": ".samlaccount", - "ClerkErrorErrorSAMLAccountMetaTypedDict": ".samlaccount", + "RotateSCIMDirectoryAPIKeyRequest": ".rotatescimdirectoryapikeyop", + "RotateSCIMDirectoryAPIKeyRequestTypedDict": ".rotatescimdirectoryapikeyop", "SAMLAccount": ".samlaccount", "SAMLAccountConnection": ".samlaccount", "SAMLAccountConnection1": ".samlaccount", @@ -4733,84 +4913,21 @@ "SAMLConnectionAttributeMappingTypedDict": ".samlconnectionattributemapping", "SAMLConnections": ".samlconnections", "SAMLConnectionsTypedDict": ".samlconnections", - "SchemasCommercePerUnitTotal": ".schemas_commerceperunittotal", - "SchemasCommercePerUnitTotalTypedDict": ".schemas_commerceperunittotal", - "SchemasCommercePerUnitTotalTier": ".schemas_commerceperunittotaltier", - "SchemasCommercePerUnitTotalTierTypedDict": ".schemas_commerceperunittotaltier", - "SchemasCommercePlan": ".schemas_commerceplan", - "SchemasCommercePlanAnnualFee": ".schemas_commerceplan", - "SchemasCommercePlanAnnualFeeTypedDict": ".schemas_commerceplan", - "SchemasCommercePlanAnnualMonthlyFee": ".schemas_commerceplan", - "SchemasCommercePlanAnnualMonthlyFeeTypedDict": ".schemas_commerceplan", - "SchemasCommercePlanFee": ".schemas_commerceplan", - "SchemasCommercePlanFeeTypedDict": ".schemas_commerceplan", - "SchemasCommercePlanObject": ".schemas_commerceplan", - "SchemasCommercePlanTypedDict": ".schemas_commerceplan", - "Credit": ".schemas_commercesubscriptionitem", - "CreditTypedDict": ".schemas_commercesubscriptionitem", - "LifetimePaid": ".schemas_commercesubscriptionitem", - "LifetimePaidTypedDict": ".schemas_commercesubscriptionitem", - "NextInvoice": ".schemas_commercesubscriptionitem", - "NextInvoiceTypedDict": ".schemas_commercesubscriptionitem", - "Payer": ".schemas_commercesubscriptionitem", - "PayerTypedDict": ".schemas_commercesubscriptionitem", - "PaymentMethod": ".schemas_commercesubscriptionitem", - "PaymentSource": ".schemas_commercesubscriptionitem", - "PaymentSourceTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItem": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemAmount": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemAmountTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemAnnualFee": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemAnnualFeeTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemAnnualMonthlyFee": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemAnnualMonthlyFeeTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemCreditAmount": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemCreditAmountTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemCredits": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemCreditsTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemDiscounts": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemDiscountsTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemFee": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemFeeTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextInvoiceAmount": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextInvoiceAmountTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextInvoiceProration": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextInvoiceProrationTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPayment": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentAmount": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentAmountTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentCredits": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentCreditsTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentDiscounts": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentDiscountsTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentPayer": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentPayerTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentProration": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentProrationTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentTotals": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentTotalsProration": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentTotalsProrationTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentTotalsTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemNextPaymentTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemObject": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPayer": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPayerObject": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPayerTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPaymentSourceObject": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPaymentSourceStatus": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPlan": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPlanObject": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPlanPeriod": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemPlanTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemProration": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemProrationTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemStatus": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemTotals": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemTotalsTypedDict": ".schemas_commercesubscriptionitem", - "SchemasCommerceSubscriptionItemTypedDict": ".schemas_commercesubscriptionitem", - "SchemasFeatureResponse": ".schemas_featureresponse", - "SchemasFeatureResponseObject": ".schemas_featureresponse", - "SchemasFeatureResponseTypedDict": ".schemas_featureresponse", + "SCIMDirectory": ".scimdirectory", + "SCIMDirectoryCustomAttributes": ".scimdirectory", + "SCIMDirectoryCustomAttributesTypedDict": ".scimdirectory", + "SCIMDirectoryObject": ".scimdirectory", + "SCIMDirectoryTypedDict": ".scimdirectory", + "SCIMDirectoryList": ".scimdirectory_list", + "SCIMDirectoryListTypedDict": ".scimdirectory_list", + "SCIMGroupRoleMapping": ".scimgrouprolemapping", + "SCIMGroupRoleMappingObject": ".scimgrouprolemapping", + "SCIMGroupRoleMappingTypedDict": ".scimgrouprolemapping", + "SCIMGroupRoleMappingDeleted": ".scimgrouprolemapping_deleted", + "SCIMGroupRoleMappingDeletedObject": ".scimgrouprolemapping_deleted", + "SCIMGroupRoleMappingDeletedTypedDict": ".scimgrouprolemapping_deleted", + "SCIMGroupRoleMappingList": ".scimgrouprolemapping_list", + "SCIMGroupRoleMappingListTypedDict": ".scimgrouprolemapping_list", "SDKError": ".sdkerror", "Security": ".security", "SecurityTypedDict": ".security", @@ -4983,6 +5100,10 @@ "UpdateSAMLConnectionRequestBody": ".updatesamlconnectionop", "UpdateSAMLConnectionRequestBodyTypedDict": ".updatesamlconnectionop", "UpdateSAMLConnectionRequestTypedDict": ".updatesamlconnectionop", + "UpdateSCIMDirectoryRequest": ".updatescimdirectoryop", + "UpdateSCIMDirectoryRequestBody": ".updatescimdirectoryop", + "UpdateSCIMDirectoryRequestBodyTypedDict": ".updatescimdirectoryop", + "UpdateSCIMDirectoryRequestTypedDict": ".updatescimdirectoryop", "UpdateSignUpRequest": ".updatesignupop", "UpdateSignUpRequestBody": ".updatesignupop", "UpdateSignUpRequestBodyTypedDict": ".updatesignupop", diff --git a/src/clerk_backend_api/models/billingpaymentattempt.py b/src/clerk_backend_api/models/billingpaymentattempt.py index 5873f11d..2a1c8ac3 100644 --- a/src/clerk_backend_api/models/billingpaymentattempt.py +++ b/src/clerk_backend_api/models/billingpaymentattempt.py @@ -7,9 +7,9 @@ CommercePaymentMethodResponse, CommercePaymentMethodResponseTypedDict, ) -from .schemas_commerceperunittotal import ( - SchemasCommercePerUnitTotal, - SchemasCommercePerUnitTotalTypedDict, +from .commerceperunittotal_2 import ( + CommercePerUnitTotal2, + CommercePerUnitTotal2TypedDict, ) from clerk_backend_api.types import ( BaseModel, @@ -167,7 +167,7 @@ class BillingPaymentAttemptTotalsTypedDict(TypedDict): base_fee: CommerceMoneyResponseTypedDict tax_total: CommerceMoneyResponseTypedDict grand_total: CommerceMoneyResponseTypedDict - per_unit_totals: NotRequired[List[SchemasCommercePerUnitTotalTypedDict]] + per_unit_totals: NotRequired[List[CommercePerUnitTotal2TypedDict]] credits: NotRequired[Nullable[BillingPaymentAttemptCreditsTypedDict]] discounts: NotRequired[Nullable[BillingPaymentAttemptDiscountsTypedDict]] r"""Information about the discounts applied to the payment""" @@ -184,7 +184,7 @@ class BillingPaymentAttemptTotals(BaseModel): grand_total: CommerceMoneyResponse - per_unit_totals: Optional[List[SchemasCommercePerUnitTotal]] = None + per_unit_totals: Optional[List[CommercePerUnitTotal2]] = None credits: OptionalNullable[BillingPaymentAttemptCredits] = UNSET diff --git a/src/clerk_backend_api/models/clerkerror.py b/src/clerk_backend_api/models/clerkerror.py index dd3c123e..0a7859f3 100644 --- a/src/clerk_backend_api/models/clerkerror.py +++ b/src/clerk_backend_api/models/clerkerror.py @@ -3,23 +3,15 @@ from __future__ import annotations from clerk_backend_api.types import BaseModel, UNSET_SENTINEL from pydantic import model_serializer -from typing import Optional +from typing import Any, Dict, Optional from typing_extensions import NotRequired, TypedDict -class MetaTypedDict(TypedDict): - pass - - -class Meta(BaseModel): - pass - - class ClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[MetaTypedDict] + meta: NotRequired[Dict[str, Any]] class ClerkError(BaseModel): @@ -29,7 +21,7 @@ class ClerkError(BaseModel): code: str - meta: Optional[Meta] = None + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/clerk_backend_api/models/clerkerrors.py b/src/clerk_backend_api/models/clerkerrors.py index 7658c12b..10d2accf 100644 --- a/src/clerk_backend_api/models/clerkerrors.py +++ b/src/clerk_backend_api/models/clerkerrors.py @@ -6,21 +6,12 @@ from clerk_backend_api.types import BaseModel from dataclasses import dataclass, field import httpx -from typing import List, Optional -from typing_extensions import TypedDict - - -class ClerkErrorsMetaTypedDict(TypedDict): - pass - - -class ClerkErrorsMeta(BaseModel): - pass +from typing import Any, Dict, List, Optional class ClerkErrorsData(BaseModel): errors: List[ClerkError] - meta: Optional[ClerkErrorsMeta] = None + meta: Optional[Dict[str, Any]] = None @dataclass(unsafe_hash=True) diff --git a/src/clerk_backend_api/models/commercecreditledgerresponse.py b/src/clerk_backend_api/models/commercecreditledgerresponse.py index 1efd3525..5d767050 100644 --- a/src/clerk_backend_api/models/commercecreditledgerresponse.py +++ b/src/clerk_backend_api/models/commercecreditledgerresponse.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations +from .commercemoneyresponse import CommerceMoneyResponse, CommerceMoneyResponseTypedDict from clerk_backend_api.types import ( BaseModel, Nullable, @@ -22,10 +23,7 @@ class CommerceCreditLedgerResponseTypedDict(TypedDict): r"""Unique identifier for the ledger entry.""" payer_id: str r"""The ID of the payer whose balance was adjusted.""" - amount: int - r"""The signed credit amount. Positive for increases, negative for decreases.""" - currency: str - r"""The currency code of the credit adjustment.""" + amount: CommerceMoneyResponseTypedDict source_type: str r"""The type of source that originated the adjustment (e.g. \"grant\").""" source_id: str @@ -48,11 +46,7 @@ class CommerceCreditLedgerResponse(BaseModel): payer_id: str r"""The ID of the payer whose balance was adjusted.""" - amount: int - r"""The signed credit amount. Positive for increases, negative for decreases.""" - - currency: str - r"""The currency code of the credit adjustment.""" + amount: CommerceMoneyResponse source_type: str r"""The type of source that originated the adjustment (e.g. \"grant\").""" diff --git a/src/clerk_backend_api/models/schemas_commerceperunittotal.py b/src/clerk_backend_api/models/commerceperunittotal_2.py similarity index 64% rename from src/clerk_backend_api/models/schemas_commerceperunittotal.py rename to src/clerk_backend_api/models/commerceperunittotal_2.py index 0d05388a..7651c48e 100644 --- a/src/clerk_backend_api/models/schemas_commerceperunittotal.py +++ b/src/clerk_backend_api/models/commerceperunittotal_2.py @@ -1,30 +1,30 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .schemas_commerceperunittotaltier import ( - SchemasCommercePerUnitTotalTier, - SchemasCommercePerUnitTotalTierTypedDict, +from .commerceperunittotaltier_2 import ( + CommercePerUnitTotalTier2, + CommercePerUnitTotalTier2TypedDict, ) from clerk_backend_api.types import BaseModel from typing import List from typing_extensions import TypedDict -class SchemasCommercePerUnitTotalTypedDict(TypedDict): +class CommercePerUnitTotal2TypedDict(TypedDict): name: str r"""Name of the billable unit (for example, seats)""" block_size: int r"""Number of units included in each pricing block""" - tiers: List[SchemasCommercePerUnitTotalTierTypedDict] + tiers: List[CommercePerUnitTotalTier2TypedDict] r"""Computed totals for each pricing tier""" -class SchemasCommercePerUnitTotal(BaseModel): +class CommercePerUnitTotal2(BaseModel): name: str r"""Name of the billable unit (for example, seats)""" block_size: int r"""Number of units included in each pricing block""" - tiers: List[SchemasCommercePerUnitTotalTier] + tiers: List[CommercePerUnitTotalTier2] r"""Computed totals for each pricing tier""" diff --git a/src/clerk_backend_api/models/schemas_commerceperunittotaltier.py b/src/clerk_backend_api/models/commerceperunittotaltier_2.py similarity index 93% rename from src/clerk_backend_api/models/schemas_commerceperunittotaltier.py rename to src/clerk_backend_api/models/commerceperunittotaltier_2.py index a0cb1ebe..17f44027 100644 --- a/src/clerk_backend_api/models/schemas_commerceperunittotaltier.py +++ b/src/clerk_backend_api/models/commerceperunittotaltier_2.py @@ -13,14 +13,14 @@ from typing_extensions import NotRequired, TypedDict -class SchemasCommercePerUnitTotalTierTypedDict(TypedDict): +class CommercePerUnitTotalTier2TypedDict(TypedDict): fee_per_block: CommerceMoneyResponseTypedDict total: CommerceMoneyResponseTypedDict quantity: NotRequired[Nullable[int]] r"""Units billed in this tier; null means unlimited""" -class SchemasCommercePerUnitTotalTier(BaseModel): +class CommercePerUnitTotalTier2(BaseModel): fee_per_block: CommerceMoneyResponse total: CommerceMoneyResponse diff --git a/src/clerk_backend_api/models/schemas_commerceplan.py b/src/clerk_backend_api/models/commerceplan_2.py similarity index 86% rename from src/clerk_backend_api/models/schemas_commerceplan.py rename to src/clerk_backend_api/models/commerceplan_2.py index 40f92d2d..5779aba5 100644 --- a/src/clerk_backend_api/models/schemas_commerceplan.py +++ b/src/clerk_backend_api/models/commerceplan_2.py @@ -1,10 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations -from .schemas_featureresponse import ( - SchemasFeatureResponse, - SchemasFeatureResponseTypedDict, -) +from .featureresponse_2 import FeatureResponse2, FeatureResponse2TypedDict from clerk_backend_api.types import ( BaseModel, Nullable, @@ -18,13 +15,13 @@ from typing_extensions import NotRequired, TypedDict -class SchemasCommercePlanObject(str, Enum): +class CommercePlan2Object(str, Enum): r"""String representing the object's type. Objects of the same type share the same value.""" COMMERCE_PLAN = "commerce_plan" -class SchemasCommercePlanFeeTypedDict(TypedDict): +class CommercePlan2FeeTypedDict(TypedDict): amount: int r"""The amount in cents.""" amount_formatted: str @@ -35,7 +32,7 @@ class SchemasCommercePlanFeeTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommercePlanFee(BaseModel): +class CommercePlan2Fee(BaseModel): amount: int r"""The amount in cents.""" @@ -49,7 +46,7 @@ class SchemasCommercePlanFee(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommercePlanAnnualMonthlyFeeTypedDict(TypedDict): +class CommercePlan2AnnualMonthlyFeeTypedDict(TypedDict): amount: int r"""The amount in cents.""" amount_formatted: str @@ -60,7 +57,7 @@ class SchemasCommercePlanAnnualMonthlyFeeTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommercePlanAnnualMonthlyFee(BaseModel): +class CommercePlan2AnnualMonthlyFee(BaseModel): amount: int r"""The amount in cents.""" @@ -74,7 +71,7 @@ class SchemasCommercePlanAnnualMonthlyFee(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommercePlanAnnualFeeTypedDict(TypedDict): +class CommercePlan2AnnualFeeTypedDict(TypedDict): amount: int r"""The amount in cents.""" amount_formatted: str @@ -85,7 +82,7 @@ class SchemasCommercePlanAnnualFeeTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommercePlanAnnualFee(BaseModel): +class CommercePlan2AnnualFee(BaseModel): amount: int r"""The amount in cents.""" @@ -99,16 +96,16 @@ class SchemasCommercePlanAnnualFee(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommercePlanTypedDict(TypedDict): - object: SchemasCommercePlanObject +class CommercePlan2TypedDict(TypedDict): + object: CommercePlan2Object r"""String representing the object's type. Objects of the same type share the same value.""" id: str r"""Unique identifier for the commerce plan.""" name: str r"""The name of the commerce plan.""" - fee: Nullable[SchemasCommercePlanFeeTypedDict] - annual_monthly_fee: Nullable[SchemasCommercePlanAnnualMonthlyFeeTypedDict] - annual_fee: Nullable[SchemasCommercePlanAnnualFeeTypedDict] + fee: Nullable[CommercePlan2FeeTypedDict] + annual_monthly_fee: Nullable[CommercePlan2AnnualMonthlyFeeTypedDict] + annual_fee: Nullable[CommercePlan2AnnualFeeTypedDict] amount: int r"""The amount in cents for the plan.""" amount_formatted: str @@ -145,7 +142,7 @@ class SchemasCommercePlanTypedDict(TypedDict): r"""The URL-friendly slug for the plan.""" avatar_url: str r"""The URL of the plan's avatar image.""" - features: List[SchemasFeatureResponseTypedDict] + features: List[FeatureResponse2TypedDict] r"""The features included in this plan.""" period: NotRequired[str] r"""The billing period for the plan.""" @@ -157,8 +154,8 @@ class SchemasCommercePlanTypedDict(TypedDict): r"""Number of free trial days for this plan.""" -class SchemasCommercePlan(BaseModel): - object: SchemasCommercePlanObject +class CommercePlan2(BaseModel): + object: CommercePlan2Object r"""String representing the object's type. Objects of the same type share the same value.""" id: str @@ -167,11 +164,11 @@ class SchemasCommercePlan(BaseModel): name: str r"""The name of the commerce plan.""" - fee: Nullable[SchemasCommercePlanFee] + fee: Nullable[CommercePlan2Fee] - annual_monthly_fee: Nullable[SchemasCommercePlanAnnualMonthlyFee] + annual_monthly_fee: Nullable[CommercePlan2AnnualMonthlyFee] - annual_fee: Nullable[SchemasCommercePlanAnnualFee] + annual_fee: Nullable[CommercePlan2AnnualFee] amount: int r"""The amount in cents for the plan.""" @@ -227,7 +224,7 @@ class SchemasCommercePlan(BaseModel): avatar_url: str r"""The URL of the plan's avatar image.""" - features: List[SchemasFeatureResponse] + features: List[FeatureResponse2] r"""The features included in this plan.""" period: Optional[str] = None diff --git a/src/clerk_backend_api/models/commercepricetransitiondetails.py b/src/clerk_backend_api/models/commercepricetransitiondetails.py index 7b27c7ca..db106ace 100644 --- a/src/clerk_backend_api/models/commercepricetransitiondetails.py +++ b/src/clerk_backend_api/models/commercepricetransitiondetails.py @@ -2,7 +2,7 @@ from __future__ import annotations from .billingpriceresponse import BillingPriceResponse, BillingPriceResponseTypedDict -from .schemas_commerceplan import SchemasCommercePlan, SchemasCommercePlanTypedDict +from .commerceplan_2 import CommercePlan2, CommercePlan2TypedDict from clerk_backend_api.types import ( BaseModel, Nullable, @@ -60,7 +60,7 @@ class PreviousSubscriptionItemStatus(str, Enum): class CommercePriceTransitionDetailsTypedDict(TypedDict): - previous_plan: SchemasCommercePlanTypedDict + previous_plan: CommercePlan2TypedDict previous_price: BillingPriceResponseTypedDict effective_at: int r"""Unix timestamp (milliseconds) when the new price takes effect.""" @@ -79,7 +79,7 @@ class CommercePriceTransitionDetailsTypedDict(TypedDict): class CommercePriceTransitionDetails(BaseModel): - previous_plan: SchemasCommercePlan + previous_plan: CommercePlan2 previous_price: BillingPriceResponse diff --git a/src/clerk_backend_api/models/commercepricetransitionresponse.py b/src/clerk_backend_api/models/commercepricetransitionresponse.py index 1d732f5d..f34327d8 100644 --- a/src/clerk_backend_api/models/commercepricetransitionresponse.py +++ b/src/clerk_backend_api/models/commercepricetransitionresponse.py @@ -5,9 +5,9 @@ CommercePriceTransitionDetails, CommercePriceTransitionDetailsTypedDict, ) -from .schemas_commercesubscriptionitem import ( - SchemasCommerceSubscriptionItem, - SchemasCommerceSubscriptionItemTypedDict, +from .commercesubscriptionitem_2 import ( + CommerceSubscriptionItem2, + CommerceSubscriptionItem2TypedDict, ) from clerk_backend_api.types import BaseModel from enum import Enum @@ -25,7 +25,7 @@ class CommercePriceTransitionResponseTypedDict(TypedDict): object: CommercePriceTransitionResponseObject r"""String representing the object's type. Objects of the same type share the same value.""" - subscription_item: SchemasCommerceSubscriptionItemTypedDict + subscription_item: CommerceSubscriptionItem2TypedDict transition: CommercePriceTransitionDetailsTypedDict @@ -35,6 +35,6 @@ class CommercePriceTransitionResponse(BaseModel): object: CommercePriceTransitionResponseObject r"""String representing the object's type. Objects of the same type share the same value.""" - subscription_item: SchemasCommerceSubscriptionItem + subscription_item: CommerceSubscriptionItem2 transition: CommercePriceTransitionDetails diff --git a/src/clerk_backend_api/models/commercesubscriptionitem.py b/src/clerk_backend_api/models/commercesubscriptionitem.py index 9e93ed03..cd765e9d 100644 --- a/src/clerk_backend_api/models/commercesubscriptionitem.py +++ b/src/clerk_backend_api/models/commercesubscriptionitem.py @@ -8,20 +8,20 @@ CommercePaymentMethodResponseTypedDict, ) from .commerceperunittotal import CommercePerUnitTotal, CommercePerUnitTotalTypedDict +from .commerceperunittotal_2 import ( + CommercePerUnitTotal2, + CommercePerUnitTotal2TypedDict, +) +from .commerceperunittotaltier_2 import ( + CommercePerUnitTotalTier2, + CommercePerUnitTotalTier2TypedDict, +) from .commerceplanunitprice import CommercePlanUnitPrice, CommercePlanUnitPriceTypedDict from .commercesubscriptioncreditresponse import ( CommerceSubscriptionCreditResponse, CommerceSubscriptionCreditResponseTypedDict, ) from .featureresponse import FeatureResponse, FeatureResponseTypedDict -from .schemas_commerceperunittotal import ( - SchemasCommercePerUnitTotal, - SchemasCommercePerUnitTotalTypedDict, -) -from .schemas_commerceperunittotaltier import ( - SchemasCommercePerUnitTotalTier, - SchemasCommercePerUnitTotalTierTypedDict, -) from clerk_backend_api.types import ( BaseModel, Nullable, @@ -582,7 +582,7 @@ class SeatsTypedDict(TypedDict): quantity: Nullable[int] r"""Seat quantity being billed; null means unlimited""" - tiers: NotRequired[List[SchemasCommercePerUnitTotalTierTypedDict]] + tiers: NotRequired[List[CommercePerUnitTotalTier2TypedDict]] r"""Per-unit cost breakdown by pricing tier""" @@ -592,7 +592,7 @@ class Seats(BaseModel): quantity: Nullable[int] r"""Seat quantity being billed; null means unlimited""" - tiers: Optional[List[SchemasCommercePerUnitTotalTier]] = None + tiers: Optional[List[CommercePerUnitTotalTier2]] = None r"""Per-unit cost breakdown by pricing tier""" @model_serializer(mode="wrap") @@ -742,7 +742,7 @@ class TotalsTypedDict(TypedDict): base_fee: CommerceMoneyResponseTypedDict tax_total: CommerceMoneyResponseTypedDict grand_total: CommerceMoneyResponseTypedDict - per_unit_totals: NotRequired[List[SchemasCommercePerUnitTotalTypedDict]] + per_unit_totals: NotRequired[List[CommercePerUnitTotal2TypedDict]] credits: NotRequired[Nullable[CommerceSubscriptionItemCreditsTypedDict]] discounts: NotRequired[Nullable[DiscountsTypedDict]] r"""Information about the discounts applied to the payment""" @@ -759,7 +759,7 @@ class Totals(BaseModel): grand_total: CommerceMoneyResponse - per_unit_totals: Optional[List[SchemasCommercePerUnitTotal]] = None + per_unit_totals: Optional[List[CommercePerUnitTotal2]] = None credits: OptionalNullable[CommerceSubscriptionItemCredits] = UNSET diff --git a/src/clerk_backend_api/models/schemas_commercesubscriptionitem.py b/src/clerk_backend_api/models/commercesubscriptionitem_2.py similarity index 82% rename from src/clerk_backend_api/models/schemas_commercesubscriptionitem.py rename to src/clerk_backend_api/models/commercesubscriptionitem_2.py index 83d1ad9e..709a97cf 100644 --- a/src/clerk_backend_api/models/schemas_commercesubscriptionitem.py +++ b/src/clerk_backend_api/models/commercesubscriptionitem_2.py @@ -3,10 +3,7 @@ from __future__ import annotations from .commercemoneyresponse import CommerceMoneyResponse, CommerceMoneyResponseTypedDict from .commerceperunittotal import CommercePerUnitTotal, CommercePerUnitTotalTypedDict -from .schemas_featureresponse import ( - SchemasFeatureResponse, - SchemasFeatureResponseTypedDict, -) +from .featureresponse_2 import FeatureResponse2, FeatureResponse2TypedDict from clerk_backend_api.types import ( BaseModel, Nullable, @@ -21,13 +18,13 @@ from typing_extensions import Annotated, NotRequired, TypedDict -class SchemasCommerceSubscriptionItemObject(str, Enum): +class CommerceSubscriptionItem2Object(str, Enum): r"""String representing the object's type. Objects of the same type share the same value.""" COMMERCE_SUBSCRIPTION_ITEM = "commerce_subscription_item" -class SchemasCommerceSubscriptionItemStatus(str, Enum): +class CommerceSubscriptionItem2Status(str, Enum): r"""Current status of the subscription item.""" ACTIVE = "active" @@ -38,7 +35,7 @@ class SchemasCommerceSubscriptionItemStatus(str, Enum): ABANDONED = "abandoned" -class SchemasCommerceSubscriptionItemCreditAmountTypedDict(TypedDict): +class CommerceSubscriptionItem2CreditAmountTypedDict(TypedDict): r"""Credit amount.""" amount: int @@ -51,7 +48,7 @@ class SchemasCommerceSubscriptionItemCreditAmountTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemCreditAmount(BaseModel): +class CommerceSubscriptionItem2CreditAmount(BaseModel): r"""Credit amount.""" amount: int @@ -70,7 +67,7 @@ class SchemasCommerceSubscriptionItemCreditAmount(BaseModel): class CreditTypedDict(TypedDict): r"""Credit information (only available in PaymentAttempt events).""" - amount: NotRequired[Nullable[SchemasCommerceSubscriptionItemCreditAmountTypedDict]] + amount: NotRequired[Nullable[CommerceSubscriptionItem2CreditAmountTypedDict]] r"""Credit amount.""" cycle_remaining_percent: NotRequired[float] r"""Percentage of the billing cycle remaining.""" @@ -79,7 +76,7 @@ class CreditTypedDict(TypedDict): class Credit(BaseModel): r"""Credit information (only available in PaymentAttempt events).""" - amount: OptionalNullable[SchemasCommerceSubscriptionItemCreditAmount] = UNSET + amount: OptionalNullable[CommerceSubscriptionItem2CreditAmount] = UNSET r"""Credit amount.""" cycle_remaining_percent: Optional[float] = None @@ -111,13 +108,13 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemPlanObject(str, Enum): +class CommerceSubscriptionItem2PlanObject(str, Enum): r"""String representing the object's type. Objects of the same type share the same value.""" COMMERCE_PLAN = "commerce_plan" -class SchemasCommerceSubscriptionItemFeeTypedDict(TypedDict): +class CommerceSubscriptionItem2FeeTypedDict(TypedDict): amount: int r"""The amount in cents.""" amount_formatted: str @@ -128,7 +125,7 @@ class SchemasCommerceSubscriptionItemFeeTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemFee(BaseModel): +class CommerceSubscriptionItem2Fee(BaseModel): amount: int r"""The amount in cents.""" @@ -142,7 +139,7 @@ class SchemasCommerceSubscriptionItemFee(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemAnnualMonthlyFeeTypedDict(TypedDict): +class CommerceSubscriptionItem2AnnualMonthlyFeeTypedDict(TypedDict): amount: int r"""The amount in cents.""" amount_formatted: str @@ -153,7 +150,7 @@ class SchemasCommerceSubscriptionItemAnnualMonthlyFeeTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemAnnualMonthlyFee(BaseModel): +class CommerceSubscriptionItem2AnnualMonthlyFee(BaseModel): amount: int r"""The amount in cents.""" @@ -167,7 +164,7 @@ class SchemasCommerceSubscriptionItemAnnualMonthlyFee(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemAnnualFeeTypedDict(TypedDict): +class CommerceSubscriptionItem2AnnualFeeTypedDict(TypedDict): amount: int r"""The amount in cents.""" amount_formatted: str @@ -178,7 +175,7 @@ class SchemasCommerceSubscriptionItemAnnualFeeTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemAnnualFee(BaseModel): +class CommerceSubscriptionItem2AnnualFee(BaseModel): amount: int r"""The amount in cents.""" @@ -192,20 +189,18 @@ class SchemasCommerceSubscriptionItemAnnualFee(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemPlanTypedDict(TypedDict): +class CommerceSubscriptionItem2PlanTypedDict(TypedDict): r"""The associated commerce plan.""" - object: SchemasCommerceSubscriptionItemPlanObject + object: CommerceSubscriptionItem2PlanObject r"""String representing the object's type. Objects of the same type share the same value.""" id: str r"""Unique identifier for the commerce plan.""" name: str r"""The name of the commerce plan.""" - fee: Nullable[SchemasCommerceSubscriptionItemFeeTypedDict] - annual_monthly_fee: Nullable[ - SchemasCommerceSubscriptionItemAnnualMonthlyFeeTypedDict - ] - annual_fee: Nullable[SchemasCommerceSubscriptionItemAnnualFeeTypedDict] + fee: Nullable[CommerceSubscriptionItem2FeeTypedDict] + annual_monthly_fee: Nullable[CommerceSubscriptionItem2AnnualMonthlyFeeTypedDict] + annual_fee: Nullable[CommerceSubscriptionItem2AnnualFeeTypedDict] amount: int r"""The amount in cents for the plan.""" amount_formatted: str @@ -242,7 +237,7 @@ class SchemasCommerceSubscriptionItemPlanTypedDict(TypedDict): r"""The URL-friendly slug for the plan.""" avatar_url: str r"""The URL of the plan's avatar image.""" - features: List[SchemasFeatureResponseTypedDict] + features: List[FeatureResponse2TypedDict] r"""The features included in this plan.""" period: NotRequired[str] r"""The billing period for the plan.""" @@ -254,10 +249,10 @@ class SchemasCommerceSubscriptionItemPlanTypedDict(TypedDict): r"""Number of free trial days for this plan.""" -class SchemasCommerceSubscriptionItemPlan(BaseModel): +class CommerceSubscriptionItem2Plan(BaseModel): r"""The associated commerce plan.""" - object: SchemasCommerceSubscriptionItemPlanObject + object: CommerceSubscriptionItem2PlanObject r"""String representing the object's type. Objects of the same type share the same value.""" id: str @@ -266,11 +261,11 @@ class SchemasCommerceSubscriptionItemPlan(BaseModel): name: str r"""The name of the commerce plan.""" - fee: Nullable[SchemasCommerceSubscriptionItemFee] + fee: Nullable[CommerceSubscriptionItem2Fee] - annual_monthly_fee: Nullable[SchemasCommerceSubscriptionItemAnnualMonthlyFee] + annual_monthly_fee: Nullable[CommerceSubscriptionItem2AnnualMonthlyFee] - annual_fee: Nullable[SchemasCommerceSubscriptionItemAnnualFee] + annual_fee: Nullable[CommerceSubscriptionItem2AnnualFee] amount: int r"""The amount in cents for the plan.""" @@ -326,7 +321,7 @@ class SchemasCommerceSubscriptionItemPlan(BaseModel): avatar_url: str r"""The URL of the plan's avatar image.""" - features: List[SchemasFeatureResponse] + features: List[FeatureResponse2] r"""The features included in this plan.""" period: Optional[str] = None @@ -371,14 +366,14 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemPlanPeriod(str, Enum): +class CommerceSubscriptionItem2PlanPeriod(str, Enum): r"""The billing period for this subscription.""" MONTH = "month" ANNUAL = "annual" -class SchemasCommerceSubscriptionItemPaymentSourceObject(str, Enum): +class CommerceSubscriptionItem2PaymentSourceObject(str, Enum): r"""String representing the object's type. Objects of the same type share the same value.""" COMMERCE_SOURCE = "commerce_source" @@ -392,7 +387,7 @@ class PaymentMethod(str, Enum): GOOGLE_PAY = "google_pay" -class SchemasCommerceSubscriptionItemPaymentSourceStatus(str, Enum): +class CommerceSubscriptionItem2PaymentSourceStatus(str, Enum): r"""Status of the payment source.""" ACTIVE = "active" @@ -402,7 +397,7 @@ class SchemasCommerceSubscriptionItemPaymentSourceStatus(str, Enum): class PaymentSourceTypedDict(TypedDict): r"""The payment source associated with this subscription.""" - object: SchemasCommerceSubscriptionItemPaymentSourceObject + object: CommerceSubscriptionItem2PaymentSourceObject r"""String representing the object's type. Objects of the same type share the same value.""" id: str r"""Unique identifier for the payment source.""" @@ -416,7 +411,7 @@ class PaymentSourceTypedDict(TypedDict): r"""External ID in the payment gateway.""" last4: str r"""Last 4 digits of the card (for card payment sources).""" - status: SchemasCommerceSubscriptionItemPaymentSourceStatus + status: CommerceSubscriptionItem2PaymentSourceStatus r"""Status of the payment source.""" wallet_type: str r"""Type of wallet (if applicable).""" @@ -441,7 +436,7 @@ class PaymentSourceTypedDict(TypedDict): class PaymentSource(BaseModel): r"""The payment source associated with this subscription.""" - object: SchemasCommerceSubscriptionItemPaymentSourceObject + object: CommerceSubscriptionItem2PaymentSourceObject r"""String representing the object's type. Objects of the same type share the same value.""" id: str @@ -462,7 +457,7 @@ class PaymentSource(BaseModel): last4: str r"""Last 4 digits of the card (for card payment sources).""" - status: SchemasCommerceSubscriptionItemPaymentSourceStatus + status: CommerceSubscriptionItem2PaymentSourceStatus r"""Status of the payment source.""" wallet_type: str @@ -557,7 +552,7 @@ class LifetimePaid(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemAmountTypedDict(TypedDict): +class CommerceSubscriptionItem2AmountTypedDict(TypedDict): r"""Current amount for this subscription.""" amount: int @@ -570,7 +565,7 @@ class SchemasCommerceSubscriptionItemAmountTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemAmount(BaseModel): +class CommerceSubscriptionItem2Amount(BaseModel): r"""Current amount for this subscription.""" amount: int @@ -586,7 +581,7 @@ class SchemasCommerceSubscriptionItemAmount(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemNextInvoiceAmountTypedDict(TypedDict): +class CommerceSubscriptionItem2NextInvoiceAmountTypedDict(TypedDict): r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" amount: int @@ -599,7 +594,7 @@ class SchemasCommerceSubscriptionItemNextInvoiceAmountTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemNextInvoiceAmount(BaseModel): +class CommerceSubscriptionItem2NextInvoiceAmount(BaseModel): r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" amount: int @@ -615,14 +610,14 @@ class SchemasCommerceSubscriptionItemNextInvoiceAmount(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemProrationTypedDict(TypedDict): +class CommerceSubscriptionItem2ProrationTypedDict(TypedDict): amount: CommerceMoneyResponseTypedDict cycle_days_remaining: int cycle_days_total: int cycle_remaining_percent: float -class SchemasCommerceSubscriptionItemProration(BaseModel): +class CommerceSubscriptionItem2Proration(BaseModel): amount: CommerceMoneyResponse cycle_days_remaining: int @@ -632,27 +627,27 @@ class SchemasCommerceSubscriptionItemProration(BaseModel): cycle_remaining_percent: float -class SchemasCommerceSubscriptionItemPayerTypedDict(TypedDict): +class CommerceSubscriptionItem2PayerTypedDict(TypedDict): remaining_balance: CommerceMoneyResponseTypedDict applied_amount: CommerceMoneyResponseTypedDict -class SchemasCommerceSubscriptionItemPayer(BaseModel): +class CommerceSubscriptionItem2Payer(BaseModel): remaining_balance: CommerceMoneyResponse applied_amount: CommerceMoneyResponse -class SchemasCommerceSubscriptionItemCreditsTypedDict(TypedDict): - proration: Nullable[SchemasCommerceSubscriptionItemProrationTypedDict] - payer: Nullable[SchemasCommerceSubscriptionItemPayerTypedDict] +class CommerceSubscriptionItem2CreditsTypedDict(TypedDict): + proration: Nullable[CommerceSubscriptionItem2ProrationTypedDict] + payer: Nullable[CommerceSubscriptionItem2PayerTypedDict] total: CommerceMoneyResponseTypedDict -class SchemasCommerceSubscriptionItemCredits(BaseModel): - proration: Nullable[SchemasCommerceSubscriptionItemProration] +class CommerceSubscriptionItem2Credits(BaseModel): + proration: Nullable[CommerceSubscriptionItem2Proration] - payer: Nullable[SchemasCommerceSubscriptionItemPayer] + payer: Nullable[CommerceSubscriptionItem2Payer] total: CommerceMoneyResponse @@ -671,14 +666,14 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemNextInvoiceProrationTypedDict(TypedDict): +class CommerceSubscriptionItem2NextInvoiceProrationTypedDict(TypedDict): amount: CommerceMoneyResponseTypedDict cycle_days_passed: int cycle_days_total: int cycle_passed_percent: float -class SchemasCommerceSubscriptionItemNextInvoiceProration(BaseModel): +class CommerceSubscriptionItem2NextInvoiceProration(BaseModel): amount: CommerceMoneyResponse cycle_days_passed: int @@ -688,13 +683,13 @@ class SchemasCommerceSubscriptionItemNextInvoiceProration(BaseModel): cycle_passed_percent: float -class SchemasCommerceSubscriptionItemDiscountsTypedDict(TypedDict): - proration: Nullable[SchemasCommerceSubscriptionItemNextInvoiceProrationTypedDict] +class CommerceSubscriptionItem2DiscountsTypedDict(TypedDict): + proration: Nullable[CommerceSubscriptionItem2NextInvoiceProrationTypedDict] total: CommerceMoneyResponseTypedDict -class SchemasCommerceSubscriptionItemDiscounts(BaseModel): - proration: Nullable[SchemasCommerceSubscriptionItemNextInvoiceProration] +class CommerceSubscriptionItem2Discounts(BaseModel): + proration: Nullable[CommerceSubscriptionItem2NextInvoiceProration] total: CommerceMoneyResponse @@ -713,7 +708,7 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemTotalsTypedDict(TypedDict): +class CommerceSubscriptionItem2TotalsTypedDict(TypedDict): r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" subtotal: CommerceMoneyResponseTypedDict @@ -721,11 +716,11 @@ class SchemasCommerceSubscriptionItemTotalsTypedDict(TypedDict): tax_total: CommerceMoneyResponseTypedDict grand_total: CommerceMoneyResponseTypedDict per_unit_totals: NotRequired[List[CommercePerUnitTotalTypedDict]] - credits: NotRequired[Nullable[SchemasCommerceSubscriptionItemCreditsTypedDict]] - discounts: NotRequired[Nullable[SchemasCommerceSubscriptionItemDiscountsTypedDict]] + credits: NotRequired[Nullable[CommerceSubscriptionItem2CreditsTypedDict]] + discounts: NotRequired[Nullable[CommerceSubscriptionItem2DiscountsTypedDict]] -class SchemasCommerceSubscriptionItemTotals(BaseModel): +class CommerceSubscriptionItem2Totals(BaseModel): r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" subtotal: CommerceMoneyResponse @@ -738,9 +733,9 @@ class SchemasCommerceSubscriptionItemTotals(BaseModel): per_unit_totals: Optional[List[CommercePerUnitTotal]] = None - credits: OptionalNullable[SchemasCommerceSubscriptionItemCredits] = UNSET + credits: OptionalNullable[CommerceSubscriptionItem2Credits] = UNSET - discounts: OptionalNullable[SchemasCommerceSubscriptionItemDiscounts] = UNSET + discounts: OptionalNullable[CommerceSubscriptionItem2Discounts] = UNSET @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -771,22 +766,20 @@ def serialize_model(self, handler): class NextInvoiceTypedDict(TypedDict): r"""Information about the next invoice.""" - amount: NotRequired[ - Nullable[SchemasCommerceSubscriptionItemNextInvoiceAmountTypedDict] - ] + amount: NotRequired[Nullable[CommerceSubscriptionItem2NextInvoiceAmountTypedDict]] r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" date_: NotRequired[Nullable[int]] r"""Unix timestamp (in milliseconds) for the next payment date.""" per_unit_totals: NotRequired[List[CommercePerUnitTotalTypedDict]] r"""Per-unit total breakdown (for example, seats) for the next payment.""" - totals: NotRequired[Nullable[SchemasCommerceSubscriptionItemTotalsTypedDict]] + totals: NotRequired[Nullable[CommerceSubscriptionItem2TotalsTypedDict]] r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" class NextInvoice(BaseModel): r"""Information about the next invoice.""" - amount: OptionalNullable[SchemasCommerceSubscriptionItemNextInvoiceAmount] = UNSET + amount: OptionalNullable[CommerceSubscriptionItem2NextInvoiceAmount] = UNSET r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" date_: Annotated[OptionalNullable[int], pydantic.Field(alias="date")] = UNSET @@ -795,7 +788,7 @@ class NextInvoice(BaseModel): per_unit_totals: Optional[List[CommercePerUnitTotal]] = None r"""Per-unit total breakdown (for example, seats) for the next payment.""" - totals: OptionalNullable[SchemasCommerceSubscriptionItemTotals] = UNSET + totals: OptionalNullable[CommerceSubscriptionItem2Totals] = UNSET r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" @model_serializer(mode="wrap") @@ -824,7 +817,7 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemNextPaymentAmountTypedDict(TypedDict): +class CommerceSubscriptionItem2NextPaymentAmountTypedDict(TypedDict): r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" amount: int @@ -837,7 +830,7 @@ class SchemasCommerceSubscriptionItemNextPaymentAmountTypedDict(TypedDict): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemNextPaymentAmount(BaseModel): +class CommerceSubscriptionItem2NextPaymentAmount(BaseModel): r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" amount: int @@ -853,14 +846,14 @@ class SchemasCommerceSubscriptionItemNextPaymentAmount(BaseModel): r"""The currency symbol (e.g., \"$\").""" -class SchemasCommerceSubscriptionItemNextPaymentProrationTypedDict(TypedDict): +class CommerceSubscriptionItem2NextPaymentProrationTypedDict(TypedDict): amount: CommerceMoneyResponseTypedDict cycle_days_remaining: int cycle_days_total: int cycle_remaining_percent: float -class SchemasCommerceSubscriptionItemNextPaymentProration(BaseModel): +class CommerceSubscriptionItem2NextPaymentProration(BaseModel): amount: CommerceMoneyResponse cycle_days_remaining: int @@ -870,27 +863,27 @@ class SchemasCommerceSubscriptionItemNextPaymentProration(BaseModel): cycle_remaining_percent: float -class SchemasCommerceSubscriptionItemNextPaymentPayerTypedDict(TypedDict): +class CommerceSubscriptionItem2NextPaymentPayerTypedDict(TypedDict): remaining_balance: CommerceMoneyResponseTypedDict applied_amount: CommerceMoneyResponseTypedDict -class SchemasCommerceSubscriptionItemNextPaymentPayer(BaseModel): +class CommerceSubscriptionItem2NextPaymentPayer(BaseModel): remaining_balance: CommerceMoneyResponse applied_amount: CommerceMoneyResponse -class SchemasCommerceSubscriptionItemNextPaymentCreditsTypedDict(TypedDict): - proration: Nullable[SchemasCommerceSubscriptionItemNextPaymentProrationTypedDict] - payer: Nullable[SchemasCommerceSubscriptionItemNextPaymentPayerTypedDict] +class CommerceSubscriptionItem2NextPaymentCreditsTypedDict(TypedDict): + proration: Nullable[CommerceSubscriptionItem2NextPaymentProrationTypedDict] + payer: Nullable[CommerceSubscriptionItem2NextPaymentPayerTypedDict] total: CommerceMoneyResponseTypedDict -class SchemasCommerceSubscriptionItemNextPaymentCredits(BaseModel): - proration: Nullable[SchemasCommerceSubscriptionItemNextPaymentProration] +class CommerceSubscriptionItem2NextPaymentCredits(BaseModel): + proration: Nullable[CommerceSubscriptionItem2NextPaymentProration] - payer: Nullable[SchemasCommerceSubscriptionItemNextPaymentPayer] + payer: Nullable[CommerceSubscriptionItem2NextPaymentPayer] total: CommerceMoneyResponse @@ -909,14 +902,14 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemNextPaymentTotalsProrationTypedDict(TypedDict): +class CommerceSubscriptionItem2NextPaymentTotalsProrationTypedDict(TypedDict): amount: CommerceMoneyResponseTypedDict cycle_days_passed: int cycle_days_total: int cycle_passed_percent: float -class SchemasCommerceSubscriptionItemNextPaymentTotalsProration(BaseModel): +class CommerceSubscriptionItem2NextPaymentTotalsProration(BaseModel): amount: CommerceMoneyResponse cycle_days_passed: int @@ -926,15 +919,13 @@ class SchemasCommerceSubscriptionItemNextPaymentTotalsProration(BaseModel): cycle_passed_percent: float -class SchemasCommerceSubscriptionItemNextPaymentDiscountsTypedDict(TypedDict): - proration: Nullable[ - SchemasCommerceSubscriptionItemNextPaymentTotalsProrationTypedDict - ] +class CommerceSubscriptionItem2NextPaymentDiscountsTypedDict(TypedDict): + proration: Nullable[CommerceSubscriptionItem2NextPaymentTotalsProrationTypedDict] total: CommerceMoneyResponseTypedDict -class SchemasCommerceSubscriptionItemNextPaymentDiscounts(BaseModel): - proration: Nullable[SchemasCommerceSubscriptionItemNextPaymentTotalsProration] +class CommerceSubscriptionItem2NextPaymentDiscounts(BaseModel): + proration: Nullable[CommerceSubscriptionItem2NextPaymentTotalsProration] total: CommerceMoneyResponse @@ -953,7 +944,7 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemNextPaymentTotalsTypedDict(TypedDict): +class CommerceSubscriptionItem2NextPaymentTotalsTypedDict(TypedDict): r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" subtotal: CommerceMoneyResponseTypedDict @@ -961,15 +952,13 @@ class SchemasCommerceSubscriptionItemNextPaymentTotalsTypedDict(TypedDict): tax_total: CommerceMoneyResponseTypedDict grand_total: CommerceMoneyResponseTypedDict per_unit_totals: NotRequired[List[CommercePerUnitTotalTypedDict]] - credits: NotRequired[ - Nullable[SchemasCommerceSubscriptionItemNextPaymentCreditsTypedDict] - ] + credits: NotRequired[Nullable[CommerceSubscriptionItem2NextPaymentCreditsTypedDict]] discounts: NotRequired[ - Nullable[SchemasCommerceSubscriptionItemNextPaymentDiscountsTypedDict] + Nullable[CommerceSubscriptionItem2NextPaymentDiscountsTypedDict] ] -class SchemasCommerceSubscriptionItemNextPaymentTotals(BaseModel): +class CommerceSubscriptionItem2NextPaymentTotals(BaseModel): r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" subtotal: CommerceMoneyResponse @@ -982,11 +971,9 @@ class SchemasCommerceSubscriptionItemNextPaymentTotals(BaseModel): per_unit_totals: Optional[List[CommercePerUnitTotal]] = None - credits: OptionalNullable[SchemasCommerceSubscriptionItemNextPaymentCredits] = UNSET + credits: OptionalNullable[CommerceSubscriptionItem2NextPaymentCredits] = UNSET - discounts: OptionalNullable[SchemasCommerceSubscriptionItemNextPaymentDiscounts] = ( - UNSET - ) + discounts: OptionalNullable[CommerceSubscriptionItem2NextPaymentDiscounts] = UNSET @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -1014,27 +1001,23 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemNextPaymentTypedDict(TypedDict): +class CommerceSubscriptionItem2NextPaymentTypedDict(TypedDict): r"""Information about the next payment.""" - amount: NotRequired[ - Nullable[SchemasCommerceSubscriptionItemNextPaymentAmountTypedDict] - ] + amount: NotRequired[Nullable[CommerceSubscriptionItem2NextPaymentAmountTypedDict]] r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" date_: NotRequired[Nullable[int]] r"""Unix timestamp (in milliseconds) for the next payment date.""" per_unit_totals: NotRequired[List[CommercePerUnitTotalTypedDict]] r"""Per-unit total breakdown (for example, seats) for the next payment.""" - totals: NotRequired[ - Nullable[SchemasCommerceSubscriptionItemNextPaymentTotalsTypedDict] - ] + totals: NotRequired[Nullable[CommerceSubscriptionItem2NextPaymentTotalsTypedDict]] r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" -class SchemasCommerceSubscriptionItemNextPayment(BaseModel): +class CommerceSubscriptionItem2NextPayment(BaseModel): r"""Information about the next payment.""" - amount: OptionalNullable[SchemasCommerceSubscriptionItemNextPaymentAmount] = UNSET + amount: OptionalNullable[CommerceSubscriptionItem2NextPaymentAmount] = UNSET r"""Base plan fee for the next payment. Does not include per-unit (e.g. seat) charges; see `totals.grand_total` for the full amount.""" date_: Annotated[OptionalNullable[int], pydantic.Field(alias="date")] = UNSET @@ -1043,7 +1026,7 @@ class SchemasCommerceSubscriptionItemNextPayment(BaseModel): per_unit_totals: Optional[List[CommercePerUnitTotal]] = None r"""Per-unit total breakdown (for example, seats) for the next payment.""" - totals: OptionalNullable[SchemasCommerceSubscriptionItemNextPaymentTotals] = UNSET + totals: OptionalNullable[CommerceSubscriptionItem2NextPaymentTotals] = UNSET r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" @model_serializer(mode="wrap") @@ -1072,7 +1055,7 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemPayerObject(str, Enum): +class CommerceSubscriptionItem2PayerObject(str, Enum): r"""String representing the object's type. Objects of the same type share the same value.""" COMMERCE_PAYER = "commerce_payer" @@ -1081,7 +1064,7 @@ class SchemasCommerceSubscriptionItemPayerObject(str, Enum): class PayerTypedDict(TypedDict): r"""The payer associated with this subscription.""" - object: SchemasCommerceSubscriptionItemPayerObject + object: CommerceSubscriptionItem2PayerObject r"""String representing the object's type. Objects of the same type share the same value.""" id: str r"""Unique identifier for the payer.""" @@ -1111,7 +1094,7 @@ class PayerTypedDict(TypedDict): class Payer(BaseModel): r"""The payer associated with this subscription.""" - object: SchemasCommerceSubscriptionItemPayerObject + object: CommerceSubscriptionItem2PayerObject r"""String representing the object's type. Objects of the same type share the same value.""" id: str @@ -1168,22 +1151,22 @@ def serialize_model(self, handler): return m -class SchemasCommerceSubscriptionItemTypedDict(TypedDict): +class CommerceSubscriptionItem2TypedDict(TypedDict): r"""A commerce subscription item.""" - object: SchemasCommerceSubscriptionItemObject + object: CommerceSubscriptionItem2Object r"""String representing the object's type. Objects of the same type share the same value.""" id: str r"""Unique identifier for the subscription item.""" instance_id: str r"""Unique identifier for the Clerk instance.""" - status: SchemasCommerceSubscriptionItemStatus + status: CommerceSubscriptionItem2Status r"""Current status of the subscription item.""" plan_id: str r"""Unique identifier for the associated plan.""" - plan: Nullable[SchemasCommerceSubscriptionItemPlanTypedDict] + plan: Nullable[CommerceSubscriptionItem2PlanTypedDict] r"""The associated commerce plan.""" - plan_period: SchemasCommerceSubscriptionItemPlanPeriod + plan_period: CommerceSubscriptionItem2PlanPeriod r"""The billing period for this subscription.""" payment_source_id: str r"""Unique identifier for the payment source.""" @@ -1205,13 +1188,11 @@ class SchemasCommerceSubscriptionItemTypedDict(TypedDict): r"""The payment source associated with this subscription.""" lifetime_paid: NotRequired[Nullable[LifetimePaidTypedDict]] r"""Total amount paid over the lifetime of this subscription.""" - amount: NotRequired[Nullable[SchemasCommerceSubscriptionItemAmountTypedDict]] + amount: NotRequired[Nullable[CommerceSubscriptionItem2AmountTypedDict]] r"""Current amount for this subscription.""" next_invoice: NotRequired[Nullable[NextInvoiceTypedDict]] r"""Information about the next invoice.""" - next_payment: NotRequired[ - Nullable[SchemasCommerceSubscriptionItemNextPaymentTypedDict] - ] + next_payment: NotRequired[Nullable[CommerceSubscriptionItem2NextPaymentTypedDict]] r"""Information about the next payment.""" payer: NotRequired[Nullable[PayerTypedDict]] r"""The payer associated with this subscription.""" @@ -1227,10 +1208,10 @@ class SchemasCommerceSubscriptionItemTypedDict(TypedDict): r"""Unix timestamp (in milliseconds) when the subscription ended.""" -class SchemasCommerceSubscriptionItem(BaseModel): +class CommerceSubscriptionItem2(BaseModel): r"""A commerce subscription item.""" - object: SchemasCommerceSubscriptionItemObject + object: CommerceSubscriptionItem2Object r"""String representing the object's type. Objects of the same type share the same value.""" id: str @@ -1239,16 +1220,16 @@ class SchemasCommerceSubscriptionItem(BaseModel): instance_id: str r"""Unique identifier for the Clerk instance.""" - status: SchemasCommerceSubscriptionItemStatus + status: CommerceSubscriptionItem2Status r"""Current status of the subscription item.""" plan_id: str r"""Unique identifier for the associated plan.""" - plan: Nullable[SchemasCommerceSubscriptionItemPlan] + plan: Nullable[CommerceSubscriptionItem2Plan] r"""The associated commerce plan.""" - plan_period: SchemasCommerceSubscriptionItemPlanPeriod + plan_period: CommerceSubscriptionItem2PlanPeriod r"""The billing period for this subscription.""" payment_source_id: str @@ -1281,13 +1262,13 @@ class SchemasCommerceSubscriptionItem(BaseModel): lifetime_paid: OptionalNullable[LifetimePaid] = UNSET r"""Total amount paid over the lifetime of this subscription.""" - amount: OptionalNullable[SchemasCommerceSubscriptionItemAmount] = UNSET + amount: OptionalNullable[CommerceSubscriptionItem2Amount] = UNSET r"""Current amount for this subscription.""" next_invoice: OptionalNullable[NextInvoice] = UNSET r"""Information about the next invoice.""" - next_payment: OptionalNullable[SchemasCommerceSubscriptionItemNextPayment] = UNSET + next_payment: OptionalNullable[CommerceSubscriptionItem2NextPayment] = UNSET r"""Information about the next payment.""" payer: OptionalNullable[Payer] = UNSET @@ -1371,6 +1352,6 @@ def serialize_model(self, handler): except NameError: pass try: - SchemasCommerceSubscriptionItemNextPayment.model_rebuild() + CommerceSubscriptionItem2NextPayment.model_rebuild() except NameError: pass diff --git a/src/clerk_backend_api/models/commercesubscriptionnextpayment.py b/src/clerk_backend_api/models/commercesubscriptionnextpayment.py index 34be14bc..38140f0c 100644 --- a/src/clerk_backend_api/models/commercesubscriptionnextpayment.py +++ b/src/clerk_backend_api/models/commercesubscriptionnextpayment.py @@ -2,9 +2,9 @@ from __future__ import annotations from .commercemoneyresponse import CommerceMoneyResponse, CommerceMoneyResponseTypedDict -from .schemas_commerceperunittotal import ( - SchemasCommercePerUnitTotal, - SchemasCommercePerUnitTotalTypedDict, +from .commerceperunittotal_2 import ( + CommercePerUnitTotal2, + CommercePerUnitTotal2TypedDict, ) from clerk_backend_api.types import ( BaseModel, @@ -140,7 +140,7 @@ class CommerceSubscriptionNextPaymentTotalsTypedDict(TypedDict): base_fee: CommerceMoneyResponseTypedDict tax_total: CommerceMoneyResponseTypedDict grand_total: CommerceMoneyResponseTypedDict - per_unit_totals: NotRequired[List[SchemasCommercePerUnitTotalTypedDict]] + per_unit_totals: NotRequired[List[CommercePerUnitTotal2TypedDict]] credits: NotRequired[Nullable[CommerceSubscriptionNextPaymentCreditsTypedDict]] discounts: NotRequired[Nullable[CommerceSubscriptionNextPaymentDiscountsTypedDict]] r"""Information about the discounts applied to the payment""" @@ -157,7 +157,7 @@ class CommerceSubscriptionNextPaymentTotals(BaseModel): grand_total: CommerceMoneyResponse - per_unit_totals: Optional[List[SchemasCommercePerUnitTotal]] = None + per_unit_totals: Optional[List[CommercePerUnitTotal2]] = None credits: OptionalNullable[CommerceSubscriptionNextPaymentCredits] = UNSET @@ -194,7 +194,7 @@ class CommerceSubscriptionNextPaymentTypedDict(TypedDict): date_: int r"""Unix timestamp (milliseconds) of the next payment date.""" amount: CommerceMoneyResponseTypedDict - per_unit_totals: NotRequired[List[SchemasCommercePerUnitTotalTypedDict]] + per_unit_totals: NotRequired[List[CommercePerUnitTotal2TypedDict]] r"""Per-unit total breakdown (for example, seats) for the next payment.""" totals: NotRequired[Nullable[CommerceSubscriptionNextPaymentTotalsTypedDict]] r"""Breakdown of the recurring amount that will be billed at renewal (base fee + per-unit charges). Tax and credits are not previewed.""" @@ -206,7 +206,7 @@ class CommerceSubscriptionNextPayment(BaseModel): amount: CommerceMoneyResponse - per_unit_totals: Optional[List[SchemasCommercePerUnitTotal]] = None + per_unit_totals: Optional[List[CommercePerUnitTotal2]] = None r"""Per-unit total breakdown (for example, seats) for the next payment.""" totals: OptionalNullable[CommerceSubscriptionNextPaymentTotals] = UNSET diff --git a/src/clerk_backend_api/models/createorganizationdomainop.py b/src/clerk_backend_api/models/createorganizationdomainop.py index 57241543..dc20a32d 100644 --- a/src/clerk_backend_api/models/createorganizationdomainop.py +++ b/src/clerk_backend_api/models/createorganizationdomainop.py @@ -18,7 +18,7 @@ class CreateOrganizationDomainRequestBodyTypedDict(TypedDict): name: NotRequired[str] r"""The name of the new domain""" enrollment_mode: NotRequired[str] - r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation`""" + r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`""" verified: NotRequired[Nullable[bool]] r"""The status of domain's verification. Defaults to true""" @@ -28,7 +28,7 @@ class CreateOrganizationDomainRequestBody(BaseModel): r"""The name of the new domain""" enrollment_mode: Optional[str] = None - r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation`""" + r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`""" verified: OptionalNullable[bool] = UNSET r"""The status of domain's verification. Defaults to true""" diff --git a/src/clerk_backend_api/models/createscimdirectoryop.py b/src/clerk_backend_api/models/createscimdirectoryop.py new file mode 100644 index 00000000..1aaba828 --- /dev/null +++ b/src/clerk_backend_api/models/createscimdirectoryop.py @@ -0,0 +1,89 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel, UNSET_SENTINEL +from pydantic import model_serializer +from typing import List, Optional +from typing_extensions import NotRequired, TypedDict + + +class GroupRoleMappingsTypedDict(TypedDict): + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + role_id: str + r"""The organization role ID to assign to members of the SCIM group.""" + scim_group_display_name: NotRequired[str] + r"""Optional display name for the SCIM group.""" + precedence: NotRequired[int] + r"""The precedence for this mapping. If omitted, precedence is assigned by array order.""" + + +class GroupRoleMappings(BaseModel): + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + + role_id: str + r"""The organization role ID to assign to members of the SCIM group.""" + + scim_group_display_name: Optional[str] = None + r"""Optional display name for the SCIM group.""" + + precedence: Optional[int] = None + r"""The precedence for this mapping. If omitted, precedence is assigned by array order.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["scim_group_display_name", "precedence"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateSCIMDirectoryRequestBodyTypedDict(TypedDict): + enterprise_connection_id: str + r"""The ID of the enterprise connection to associate with this SCIM directory.""" + provider: str + r"""The identity provider for this SCIM directory.""" + name: NotRequired[str] + r"""A human-friendly name for the SCIM directory.""" + group_role_mappings: NotRequired[List[GroupRoleMappingsTypedDict]] + r"""Optional SCIM group to organization role mappings to create with the directory.""" + + +class CreateSCIMDirectoryRequestBody(BaseModel): + enterprise_connection_id: str + r"""The ID of the enterprise connection to associate with this SCIM directory.""" + + provider: str + r"""The identity provider for this SCIM directory.""" + + name: Optional[str] = None + r"""A human-friendly name for the SCIM directory.""" + + group_role_mappings: Optional[List[GroupRoleMappings]] = None + r"""Optional SCIM group to organization role mappings to create with the directory.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["name", "group_role_mappings"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/clerk_backend_api/models/createscimgrouprolemappingop.py b/src/clerk_backend_api/models/createscimgrouprolemappingop.py new file mode 100644 index 00000000..e09fd3cd --- /dev/null +++ b/src/clerk_backend_api/models/createscimgrouprolemappingop.py @@ -0,0 +1,68 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel, UNSET_SENTINEL +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata, RequestMetadata +from pydantic import model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class CreateSCIMGroupRoleMappingRequestBodyTypedDict(TypedDict): + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + role_id: str + r"""The ID of the organization role to assign to members of the SCIM group.""" + precedence: NotRequired[int] + r"""The precedence for this mapping. Lower values take priority when a user belongs + to multiple mapped groups. If omitted, the mapping is appended with the + next-highest precedence. + """ + + +class CreateSCIMGroupRoleMappingRequestBody(BaseModel): + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + + role_id: str + r"""The ID of the organization role to assign to members of the SCIM group.""" + + precedence: Optional[int] = None + r"""The precedence for this mapping. Lower values take priority when a user belongs + to multiple mapped groups. If omitted, the mapping is appended with the + next-highest precedence. + """ + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["precedence"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class CreateSCIMGroupRoleMappingRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory.""" + request_body: CreateSCIMGroupRoleMappingRequestBodyTypedDict + + +class CreateSCIMGroupRoleMappingRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory.""" + + request_body: Annotated[ + CreateSCIMGroupRoleMappingRequestBody, + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] diff --git a/src/clerk_backend_api/models/deletescimdirectoryop.py b/src/clerk_backend_api/models/deletescimdirectoryop.py new file mode 100644 index 00000000..cf4ffa57 --- /dev/null +++ b/src/clerk_backend_api/models/deletescimdirectoryop.py @@ -0,0 +1,18 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class DeleteSCIMDirectoryRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory to delete""" + + +class DeleteSCIMDirectoryRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory to delete""" diff --git a/src/clerk_backend_api/models/deletescimgrouprolemappingop.py b/src/clerk_backend_api/models/deletescimgrouprolemappingop.py new file mode 100644 index 00000000..e36932ac --- /dev/null +++ b/src/clerk_backend_api/models/deletescimgrouprolemappingop.py @@ -0,0 +1,25 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class DeleteSCIMGroupRoleMappingRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory.""" + mapping_id: str + r"""The ID of the SCIM group role mapping to delete.""" + + +class DeleteSCIMGroupRoleMappingRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory.""" + + mapping_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM group role mapping to delete.""" diff --git a/src/clerk_backend_api/models/emailaddress.py b/src/clerk_backend_api/models/emailaddress.py index 7aba58d2..a407db7d 100644 --- a/src/clerk_backend_api/models/emailaddress.py +++ b/src/clerk_backend_api/models/emailaddress.py @@ -13,7 +13,7 @@ from clerk_backend_api.utils import get_discriminator from enum import Enum from pydantic import Discriminator, Tag, field_serializer, model_serializer -from typing import List, Optional, Union +from typing import Any, Dict, List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -159,19 +159,11 @@ class VerificationSamlVerificationStrategy(str, Enum): SAML = "saml" -class ClerkErrorErrorMetaTypedDict(TypedDict): - pass - - -class ClerkErrorErrorMeta(BaseModel): - pass - - class VerificationSamlErrorClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[ClerkErrorErrorMetaTypedDict] + meta: NotRequired[Dict[str, Any]] class VerificationSamlErrorClerkError(BaseModel): @@ -181,57 +173,7 @@ class VerificationSamlErrorClerkError(BaseModel): code: str - meta: Optional[ClerkErrorErrorMeta] = None - - @model_serializer(mode="wrap") - def serialize_model(self, handler): - optional_fields = set(["meta"]) - serialized = handler(self) - m = {} - - for n, f in type(self).model_fields.items(): - k = f.alias or n - val = serialized.get(k, serialized.get(n)) - - if val != UNSET_SENTINEL: - if val is not None or k not in optional_fields: - m[k] = val - - return m - - -class VerificationFromOauthVerificationObject(str, Enum): - VERIFICATION_FROM_OAUTH = "verification_from_oauth" - - -class VerificationFromOauthVerificationStatus(str, Enum): - UNVERIFIED = "unverified" - VERIFIED = "verified" - - -class ErrorMetaTypedDict(TypedDict): - pass - - -class ErrorMeta(BaseModel): - pass - - -class ErrorClerkErrorTypedDict(TypedDict): - message: str - long_message: str - code: str - meta: NotRequired[ErrorMetaTypedDict] - - -class ErrorClerkError(BaseModel): - message: str - - long_message: str - - code: str - - meta: Optional[ErrorMeta] = None + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -397,6 +339,48 @@ def serialize_model(self, handler): return m +class VerificationFromOauthVerificationObject(str, Enum): + VERIFICATION_FROM_OAUTH = "verification_from_oauth" + + +class VerificationFromOauthVerificationStatus(str, Enum): + UNVERIFIED = "unverified" + VERIFIED = "verified" + + +class ErrorClerkErrorTypedDict(TypedDict): + message: str + long_message: str + code: str + meta: NotRequired[Dict[str, Any]] + + +class ErrorClerkError(BaseModel): + message: str + + long_message: str + + code: str + + meta: Optional[Dict[str, Any]] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["meta"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + ErrorTypedDict = ErrorClerkErrorTypedDict diff --git a/src/clerk_backend_api/models/enterpriseaccount.py b/src/clerk_backend_api/models/enterpriseaccount.py index 5e042648..00702cd8 100644 --- a/src/clerk_backend_api/models/enterpriseaccount.py +++ b/src/clerk_backend_api/models/enterpriseaccount.py @@ -44,19 +44,11 @@ class VerificationOauthVerificationEnterpriseAccountStatus( TRANSFERABLE = "transferable" -class ClerkErrorErrorEnterpriseAccountVerificationMetaTypedDict(TypedDict): - pass - - -class ClerkErrorErrorEnterpriseAccountVerificationMeta(BaseModel): - pass - - class VerificationOauthErrorEnterpriseAccountClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[ClerkErrorErrorEnterpriseAccountVerificationMetaTypedDict] + meta: NotRequired[Dict[str, Any]] class VerificationOauthErrorEnterpriseAccountClerkError(BaseModel): @@ -66,7 +58,7 @@ class VerificationOauthErrorEnterpriseAccountClerkError(BaseModel): code: str - meta: Optional[ClerkErrorErrorEnterpriseAccountVerificationMeta] = None + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -185,19 +177,11 @@ class VerificationSamlVerificationEnterpriseAccountStrategy(str, Enum): SAML = "saml" -class ClerkErrorErrorEnterpriseAccountMetaTypedDict(TypedDict): - pass - - -class ClerkErrorErrorEnterpriseAccountMeta(BaseModel): - pass - - class VerificationSamlErrorEnterpriseAccountClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[ClerkErrorErrorEnterpriseAccountMetaTypedDict] + meta: NotRequired[Dict[str, Any]] class VerificationSamlErrorEnterpriseAccountClerkError(BaseModel): @@ -207,7 +191,7 @@ class VerificationSamlErrorEnterpriseAccountClerkError(BaseModel): code: str - meta: Optional[ClerkErrorErrorEnterpriseAccountMeta] = None + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/clerk_backend_api/models/externalaccountwithverification.py b/src/clerk_backend_api/models/externalaccountwithverification.py index 59d85ad7..87be398e 100644 --- a/src/clerk_backend_api/models/externalaccountwithverification.py +++ b/src/clerk_backend_api/models/externalaccountwithverification.py @@ -38,23 +38,11 @@ class VerificationGoogleOneTapVerificationStrategy(str, Enum): GOOGLE_ONE_TAP = "google_one_tap" -class ClerkErrorErrorExternalAccountWithVerificationVerificationMetaTypedDict( - TypedDict -): - pass - - -class ClerkErrorErrorExternalAccountWithVerificationVerificationMeta(BaseModel): - pass - - class VerificationGoogleOneTapErrorClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[ - ClerkErrorErrorExternalAccountWithVerificationVerificationMetaTypedDict - ] + meta: NotRequired[Dict[str, Any]] class VerificationGoogleOneTapErrorClerkError(BaseModel): @@ -64,9 +52,7 @@ class VerificationGoogleOneTapErrorClerkError(BaseModel): code: str - meta: Optional[ClerkErrorErrorExternalAccountWithVerificationVerificationMeta] = ( - None - ) + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): @@ -156,19 +142,11 @@ class VerificationOauthVerificationStatus(str, Enum, metaclass=utils.OpenEnumMet TRANSFERABLE = "transferable" -class ClerkErrorErrorExternalAccountWithVerificationMetaTypedDict(TypedDict): - pass - - -class ClerkErrorErrorExternalAccountWithVerificationMeta(BaseModel): - pass - - class VerificationOauthErrorClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[ClerkErrorErrorExternalAccountWithVerificationMetaTypedDict] + meta: NotRequired[Dict[str, Any]] class VerificationOauthErrorClerkError(BaseModel): @@ -178,7 +156,7 @@ class VerificationOauthErrorClerkError(BaseModel): code: str - meta: Optional[ClerkErrorErrorExternalAccountWithVerificationMeta] = None + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/clerk_backend_api/models/schemas_featureresponse.py b/src/clerk_backend_api/models/featureresponse_2.py similarity index 84% rename from src/clerk_backend_api/models/schemas_featureresponse.py rename to src/clerk_backend_api/models/featureresponse_2.py index badd8447..d547a106 100644 --- a/src/clerk_backend_api/models/schemas_featureresponse.py +++ b/src/clerk_backend_api/models/featureresponse_2.py @@ -6,14 +6,14 @@ from typing_extensions import TypedDict -class SchemasFeatureResponseObject(str, Enum): +class FeatureResponse2Object(str, Enum): r"""String representing the object's type. Objects of the same type share the same value.""" FEATURE = "feature" -class SchemasFeatureResponseTypedDict(TypedDict): - object: SchemasFeatureResponseObject +class FeatureResponse2TypedDict(TypedDict): + object: FeatureResponse2Object r"""String representing the object's type. Objects of the same type share the same value.""" id: str r"""Unique identifier for the feature.""" @@ -27,8 +27,8 @@ class SchemasFeatureResponseTypedDict(TypedDict): r"""The URL of the feature's avatar image.""" -class SchemasFeatureResponse(BaseModel): - object: SchemasFeatureResponseObject +class FeatureResponse2(BaseModel): + object: FeatureResponse2Object r"""String representing the object's type. Objects of the same type share the same value.""" id: str diff --git a/src/clerk_backend_api/models/getscimdirectoryop.py b/src/clerk_backend_api/models/getscimdirectoryop.py new file mode 100644 index 00000000..a0ffd4b4 --- /dev/null +++ b/src/clerk_backend_api/models/getscimdirectoryop.py @@ -0,0 +1,18 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class GetSCIMDirectoryRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory to retrieve""" + + +class GetSCIMDirectoryRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory to retrieve""" diff --git a/src/clerk_backend_api/models/listallorganizationdomainsop.py b/src/clerk_backend_api/models/listallorganizationdomainsop.py index 8b28daa9..4defa044 100644 --- a/src/clerk_backend_api/models/listallorganizationdomainsop.py +++ b/src/clerk_backend_api/models/listallorganizationdomainsop.py @@ -20,6 +20,11 @@ class QueryParamEnrollmentMode(str, Enum): MANUAL_INVITATION = "manual_invitation" AUTOMATIC_INVITATION = "automatic_invitation" AUTOMATIC_SUGGESTION = "automatic_suggestion" + ENTERPRISE_SSO = "enterprise_sso" + MINUS_MANUAL_INVITATION = "-manual_invitation" + MINUS_AUTOMATIC_INVITATION = "-automatic_invitation" + MINUS_AUTOMATIC_SUGGESTION = "-automatic_suggestion" + MINUS_ENTERPRISE_SSO = "-enterprise_sso" class ListAllOrganizationDomainsRequestTypedDict(TypedDict): @@ -28,7 +33,9 @@ class ListAllOrganizationDomainsRequestTypedDict(TypedDict): verified: NotRequired[Verified] r"""Filter by verification status""" enrollment_mode: NotRequired[List[QueryParamEnrollmentMode]] - r"""Filter by enrollment mode""" + r"""Filter by enrollment mode. Prefix a value with `-` to exclude it instead + (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. + """ query: NotRequired[str] r"""Search domains by name or organization ID. If the query starts with \"org_\", it will search by exact organization ID match. @@ -76,7 +83,9 @@ class ListAllOrganizationDomainsRequest(BaseModel): Optional[List[QueryParamEnrollmentMode]], FieldMetadata(query=QueryParamMetadata(style="form", explode=False)), ] = None - r"""Filter by enrollment mode""" + r"""Filter by enrollment mode. Prefix a value with `-` to exclude it instead + (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. + """ query: Annotated[ Optional[str], diff --git a/src/clerk_backend_api/models/listorganizationdomainsop.py b/src/clerk_backend_api/models/listorganizationdomainsop.py index 620c8bf3..6c47e453 100644 --- a/src/clerk_backend_api/models/listorganizationdomainsop.py +++ b/src/clerk_backend_api/models/listorganizationdomainsop.py @@ -14,7 +14,9 @@ class ListOrganizationDomainsRequestTypedDict(TypedDict): verified: NotRequired[str] r"""Filter domains by their verification status. `true` or `false`""" enrollment_mode: NotRequired[str] - r"""Filter domains by their enrollment mode""" + r"""Filter domains by their enrollment mode. Accepts `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`. + Prefix a value with `-` to exclude it instead (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. + """ limit: NotRequired[int] r"""Applies a limit to the number of results returned. Can be used for paginating the results together with `offset`. @@ -42,7 +44,9 @@ class ListOrganizationDomainsRequest(BaseModel): Optional[str], FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), ] = None - r"""Filter domains by their enrollment mode""" + r"""Filter domains by their enrollment mode. Accepts `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`. + Prefix a value with `-` to exclude it instead (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. + """ limit: Annotated[ Optional[int], diff --git a/src/clerk_backend_api/models/listscimdirectoriesop.py b/src/clerk_backend_api/models/listscimdirectoriesop.py new file mode 100644 index 00000000..b244e4a4 --- /dev/null +++ b/src/clerk_backend_api/models/listscimdirectoriesop.py @@ -0,0 +1,55 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel, UNSET_SENTINEL +from clerk_backend_api.utils import FieldMetadata, QueryParamMetadata +from pydantic import model_serializer +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class ListSCIMDirectoriesRequestTypedDict(TypedDict): + limit: NotRequired[int] + r"""Applies a limit to the number of results returned. + Can be used for paginating the results together with `offset`. + """ + offset: NotRequired[int] + r"""Skip the first `offset` results when paginating. + Needs to be an integer greater or equal to zero. + To be used in conjunction with `limit`. + """ + + +class ListSCIMDirectoriesRequest(BaseModel): + limit: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = 10 + r"""Applies a limit to the number of results returned. + Can be used for paginating the results together with `offset`. + """ + + offset: Annotated[ + Optional[int], + FieldMetadata(query=QueryParamMetadata(style="form", explode=True)), + ] = 0 + r"""Skip the first `offset` results when paginating. + Needs to be an integer greater or equal to zero. + To be used in conjunction with `limit`. + """ + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["limit", "offset"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/clerk_backend_api/models/listscimgrouprolemappingsop.py b/src/clerk_backend_api/models/listscimgrouprolemappingsop.py new file mode 100644 index 00000000..333ad383 --- /dev/null +++ b/src/clerk_backend_api/models/listscimgrouprolemappingsop.py @@ -0,0 +1,18 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class ListSCIMGroupRoleMappingsRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory.""" + + +class ListSCIMGroupRoleMappingsRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory.""" diff --git a/src/clerk_backend_api/models/organizationdomain.py b/src/clerk_backend_api/models/organizationdomain.py index c15741b2..4cff8405 100644 --- a/src/clerk_backend_api/models/organizationdomain.py +++ b/src/clerk_backend_api/models/organizationdomain.py @@ -27,6 +27,7 @@ class EnrollmentMode(str, Enum): MANUAL_INVITATION = "manual_invitation" AUTOMATIC_INVITATION = "automatic_invitation" AUTOMATIC_SUGGESTION = "automatic_suggestion" + ENTERPRISE_SSO = "enterprise_sso" class AffiliationVerificationTypedDict(TypedDict): diff --git a/src/clerk_backend_api/models/replacescimgrouprolemappingsop.py b/src/clerk_backend_api/models/replacescimgrouprolemappingsop.py new file mode 100644 index 00000000..391d820d --- /dev/null +++ b/src/clerk_backend_api/models/replacescimgrouprolemappingsop.py @@ -0,0 +1,50 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata, RequestMetadata +from typing import List +from typing_extensions import Annotated, TypedDict + + +class MappingsTypedDict(TypedDict): + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + role_id: str + r"""The ID of the organization role to assign to members of the SCIM group.""" + + +class Mappings(BaseModel): + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + + role_id: str + r"""The ID of the organization role to assign to members of the SCIM group.""" + + +class ReplaceSCIMGroupRoleMappingsRequestBodyTypedDict(TypedDict): + mappings: List[MappingsTypedDict] + r"""The desired set of mappings. Array order sets precedence (1-indexed). An empty array clears all mappings.""" + + +class ReplaceSCIMGroupRoleMappingsRequestBody(BaseModel): + mappings: List[Mappings] + r"""The desired set of mappings. Array order sets precedence (1-indexed). An empty array clears all mappings.""" + + +class ReplaceSCIMGroupRoleMappingsRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory.""" + request_body: ReplaceSCIMGroupRoleMappingsRequestBodyTypedDict + + +class ReplaceSCIMGroupRoleMappingsRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory.""" + + request_body: Annotated[ + ReplaceSCIMGroupRoleMappingsRequestBody, + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] diff --git a/src/clerk_backend_api/models/revokeoauthapplicationtokenop.py b/src/clerk_backend_api/models/revokeoauthapplicationtokenop.py new file mode 100644 index 00000000..2bfdf302 --- /dev/null +++ b/src/clerk_backend_api/models/revokeoauthapplicationtokenop.py @@ -0,0 +1,34 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata, RequestMetadata +from typing_extensions import Annotated, TypedDict + + +class RevokeOAuthApplicationTokenRequestBodyTypedDict(TypedDict): + token: str + r"""The opaque OAuth access token or refresh token to revoke. All tokens associated with the same OAuth grant are also revoked.""" + + +class RevokeOAuthApplicationTokenRequestBody(BaseModel): + token: str + r"""The opaque OAuth access token or refresh token to revoke. All tokens associated with the same OAuth grant are also revoked.""" + + +class RevokeOAuthApplicationTokenRequestTypedDict(TypedDict): + oauth_application_id: str + r"""The ID of the OAuth application for which to revoke the token""" + request_body: RevokeOAuthApplicationTokenRequestBodyTypedDict + + +class RevokeOAuthApplicationTokenRequest(BaseModel): + oauth_application_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the OAuth application for which to revoke the token""" + + request_body: Annotated[ + RevokeOAuthApplicationTokenRequestBody, + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] diff --git a/src/clerk_backend_api/models/rotatescimdirectoryapikeyop.py b/src/clerk_backend_api/models/rotatescimdirectoryapikeyop.py new file mode 100644 index 00000000..df89bba4 --- /dev/null +++ b/src/clerk_backend_api/models/rotatescimdirectoryapikeyop.py @@ -0,0 +1,18 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata +from typing_extensions import Annotated, TypedDict + + +class RotateSCIMDirectoryAPIKeyRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory whose API key to rotate""" + + +class RotateSCIMDirectoryAPIKeyRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory whose API key to rotate""" diff --git a/src/clerk_backend_api/models/samlaccount.py b/src/clerk_backend_api/models/samlaccount.py index 0be7a6fe..0e3b6c5c 100644 --- a/src/clerk_backend_api/models/samlaccount.py +++ b/src/clerk_backend_api/models/samlaccount.py @@ -112,19 +112,11 @@ class VerificationSAMLVerificationSAMLAccountStrategy(str, Enum): SAML = "saml" -class ClerkErrorErrorSAMLAccountMetaTypedDict(TypedDict): - pass - - -class ClerkErrorErrorSAMLAccountMeta(BaseModel): - pass - - class VerificationSAMLErrorSAMLAccountClerkErrorTypedDict(TypedDict): message: str long_message: str code: str - meta: NotRequired[ClerkErrorErrorSAMLAccountMetaTypedDict] + meta: NotRequired[Dict[str, Any]] class VerificationSAMLErrorSAMLAccountClerkError(BaseModel): @@ -134,7 +126,7 @@ class VerificationSAMLErrorSAMLAccountClerkError(BaseModel): code: str - meta: Optional[ClerkErrorErrorSAMLAccountMeta] = None + meta: Optional[Dict[str, Any]] = None @model_serializer(mode="wrap") def serialize_model(self, handler): diff --git a/src/clerk_backend_api/models/samlconnection.py b/src/clerk_backend_api/models/samlconnection.py index e9031564..82f27f22 100644 --- a/src/clerk_backend_api/models/samlconnection.py +++ b/src/clerk_backend_api/models/samlconnection.py @@ -31,6 +31,14 @@ class TwoTypedDict(TypedDict): idp_entity_id: Nullable[str] idp_sso_url: Nullable[str] idp_certificate: Nullable[str] + idp_certificate_issued_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the start of the IdP certificate validity window (X.509 NotBefore). Null when no certificate is configured. + + """ + idp_certificate_expires_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the end of the IdP certificate validity window (X.509 NotAfter). Null when no certificate is configured. + + """ acs_url: str sp_entity_id: str sp_metadata_url: str @@ -75,6 +83,16 @@ class Two(BaseModel): idp_certificate: Nullable[str] + idp_certificate_issued_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the start of the IdP certificate validity window (X.509 NotBefore). Null when no certificate is configured. + + """ + + idp_certificate_expires_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the end of the IdP certificate validity window (X.509 NotAfter). Null when no certificate is configured. + + """ + acs_url: str sp_entity_id: str @@ -144,6 +162,8 @@ def serialize_model(self, handler): "idp_entity_id", "idp_sso_url", "idp_certificate", + "idp_certificate_issued_at", + "idp_certificate_expires_at", "idp_metadata_url", "idp_metadata", "organization_id", @@ -184,6 +204,14 @@ class OneTypedDict(TypedDict): idp_entity_id: Nullable[str] idp_sso_url: Nullable[str] idp_certificate: Nullable[str] + idp_certificate_issued_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the start of the IdP certificate validity window (X.509 NotBefore). Null when no certificate is configured. + + """ + idp_certificate_expires_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the end of the IdP certificate validity window (X.509 NotAfter). Null when no certificate is configured. + + """ acs_url: str sp_entity_id: str sp_metadata_url: str @@ -233,6 +261,16 @@ class One(BaseModel): idp_certificate: Nullable[str] + idp_certificate_issued_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the start of the IdP certificate validity window (X.509 NotBefore). Null when no certificate is configured. + + """ + + idp_certificate_expires_at: Nullable[int] + r"""Unix timestamp (milliseconds) of the end of the IdP certificate validity window (X.509 NotAfter). Null when no certificate is configured. + + """ + acs_url: str sp_entity_id: str @@ -297,6 +335,8 @@ def serialize_model(self, handler): "idp_entity_id", "idp_sso_url", "idp_certificate", + "idp_certificate_issued_at", + "idp_certificate_expires_at", "idp_metadata_url", "idp_metadata", "organization_id", diff --git a/src/clerk_backend_api/models/scimdirectory.py b/src/clerk_backend_api/models/scimdirectory.py new file mode 100644 index 00000000..c029e660 --- /dev/null +++ b/src/clerk_backend_api/models/scimdirectory.py @@ -0,0 +1,167 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import ( + BaseModel, + Nullable, + OptionalNullable, + UNSET, + UNSET_SENTINEL, +) +from enum import Enum +from pydantic import model_serializer +from typing import Dict, List, Optional +from typing_extensions import NotRequired, TypedDict + + +class SCIMDirectoryObject(str, Enum): + r"""String representing the object's type. Always \"scim_directory\".""" + + SCIM_DIRECTORY = "scim_directory" + + +class SCIMDirectoryCustomAttributesTypedDict(TypedDict): + name: NotRequired[str] + r"""Display name for the custom attribute""" + key: NotRequired[str] + r"""Key used to store the attribute in the user's public/private/unsafe metadata""" + sso_path: NotRequired[str] + r"""Path to extract the attribute value from SSO claims (SAML assertions or OIDC claims)""" + scim_path: NotRequired[str] + r"""GJSON path to extract the attribute value from SCIM user resources""" + multi_valued: NotRequired[bool] + r"""When true, the attribute supports multiple values; values from the IdP are written to public_metadata as an array. Defaults to false.""" + + +class SCIMDirectoryCustomAttributes(BaseModel): + name: Optional[str] = None + r"""Display name for the custom attribute""" + + key: Optional[str] = None + r"""Key used to store the attribute in the user's public/private/unsafe metadata""" + + sso_path: Optional[str] = None + r"""Path to extract the attribute value from SSO claims (SAML assertions or OIDC claims)""" + + scim_path: Optional[str] = None + r"""GJSON path to extract the attribute value from SCIM user resources""" + + multi_valued: Optional[bool] = None + r"""When true, the attribute supports multiple values; values from the IdP are written to public_metadata as an array. Defaults to false.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["name", "key", "sso_path", "scim_path", "multi_valued"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class SCIMDirectoryTypedDict(TypedDict): + r"""A SCIM directory configuration for provisioning users via SCIM protocol.""" + + object: SCIMDirectoryObject + r"""String representing the object's type. Always \"scim_directory\".""" + id: str + r"""Unique identifier for the SCIM directory.""" + name: str + r"""A human-friendly name for the SCIM directory.""" + endpoint_url: str + r"""The SCIM endpoint URL for this directory.""" + provider: str + r"""The identity provider for this SCIM directory.""" + enabled: bool + r"""Whether the SCIM directory is enabled.""" + group_role_mapping_enabled: bool + r"""Whether group-to-role mapping is enabled for this SCIM directory.""" + attribute_mapping: Dict[str, str] + r"""Mapping of user attributes to the SCIM attribute paths they are extracted from.""" + created_at: int + r"""Unix timestamp when the SCIM directory was created.""" + updated_at: int + r"""Unix timestamp when the SCIM directory was last updated.""" + enterprise_connection_id: NotRequired[Nullable[str]] + r"""The ID of the associated enterprise connection.""" + custom_attributes: NotRequired[List[SCIMDirectoryCustomAttributesTypedDict]] + r"""Custom attributes to map from the IdP to the user's profile via SCIM provisioning. Requires the custom attributes feature to be enabled for the instance.""" + api_key: NotRequired[Nullable[str]] + r"""The API key for authenticating SCIM requests. Only returned when the directory is created or the key is rotated.""" + + +class SCIMDirectory(BaseModel): + r"""A SCIM directory configuration for provisioning users via SCIM protocol.""" + + object: SCIMDirectoryObject + r"""String representing the object's type. Always \"scim_directory\".""" + + id: str + r"""Unique identifier for the SCIM directory.""" + + name: str + r"""A human-friendly name for the SCIM directory.""" + + endpoint_url: str + r"""The SCIM endpoint URL for this directory.""" + + provider: str + r"""The identity provider for this SCIM directory.""" + + enabled: bool + r"""Whether the SCIM directory is enabled.""" + + group_role_mapping_enabled: bool + r"""Whether group-to-role mapping is enabled for this SCIM directory.""" + + attribute_mapping: Dict[str, str] + r"""Mapping of user attributes to the SCIM attribute paths they are extracted from.""" + + created_at: int + r"""Unix timestamp when the SCIM directory was created.""" + + updated_at: int + r"""Unix timestamp when the SCIM directory was last updated.""" + + enterprise_connection_id: OptionalNullable[str] = UNSET + r"""The ID of the associated enterprise connection.""" + + custom_attributes: Optional[List[SCIMDirectoryCustomAttributes]] = None + r"""Custom attributes to map from the IdP to the user's profile via SCIM provisioning. Requires the custom attributes feature to be enabled for the instance.""" + + api_key: OptionalNullable[str] = UNSET + r"""The API key for authenticating SCIM requests. Only returned when the directory is created or the key is rotated.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["enterprise_connection_id", "custom_attributes", "api_key"] + ) + nullable_fields = set(["enterprise_connection_id", "api_key"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + is_nullable_and_explicitly_set = ( + k in nullable_fields + and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member + ) + + if val != UNSET_SENTINEL: + if ( + val is not None + or k not in optional_fields + or is_nullable_and_explicitly_set + ): + m[k] = val + + return m diff --git a/src/clerk_backend_api/models/scimdirectory_list.py b/src/clerk_backend_api/models/scimdirectory_list.py new file mode 100644 index 00000000..93dd6031 --- /dev/null +++ b/src/clerk_backend_api/models/scimdirectory_list.py @@ -0,0 +1,24 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .scimdirectory import SCIMDirectory, SCIMDirectoryTypedDict +from clerk_backend_api.types import BaseModel +from typing import List +from typing_extensions import TypedDict + + +class SCIMDirectoryListTypedDict(TypedDict): + r"""A list of SCIM directories""" + + data: List[SCIMDirectoryTypedDict] + total_count: int + r"""Total number of SCIM directories.""" + + +class SCIMDirectoryList(BaseModel): + r"""A list of SCIM directories""" + + data: List[SCIMDirectory] + + total_count: int + r"""Total number of SCIM directories.""" diff --git a/src/clerk_backend_api/models/scimgrouprolemapping.py b/src/clerk_backend_api/models/scimgrouprolemapping.py new file mode 100644 index 00000000..3093d43d --- /dev/null +++ b/src/clerk_backend_api/models/scimgrouprolemapping.py @@ -0,0 +1,83 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .role import Role, RoleTypedDict +from clerk_backend_api.types import BaseModel, UNSET_SENTINEL +from enum import Enum +from pydantic import model_serializer +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class SCIMGroupRoleMappingObject(str, Enum): + r"""String representing the object's type. Always \"scim_group_role_mapping\".""" + + SCIM_GROUP_ROLE_MAPPING = "scim_group_role_mapping" + + +class SCIMGroupRoleMappingTypedDict(TypedDict): + r"""A mapping from a SCIM group to an organization role. Members of the group are assigned the role; the lowest-precedence match wins when a user belongs to multiple mapped groups.""" + + object: SCIMGroupRoleMappingObject + r"""String representing the object's type. Always \"scim_group_role_mapping\".""" + id: str + r"""Unique identifier for the SCIM group role mapping.""" + scim_directory_id: str + r"""The ID of the SCIM directory this mapping belongs to.""" + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + scim_group_display_name: str + r"""The display name of the SCIM group, as reported by the identity provider.""" + precedence: int + r"""Mapping precedence, starting at 1. Lower values take priority when a user belongs to multiple mapped groups.""" + created_at: int + r"""Unix timestamp (milliseconds) of when the mapping was created.""" + updated_at: int + r"""Unix timestamp (milliseconds) of when the mapping was last updated.""" + role: NotRequired[RoleTypedDict] + + +class SCIMGroupRoleMapping(BaseModel): + r"""A mapping from a SCIM group to an organization role. Members of the group are assigned the role; the lowest-precedence match wins when a user belongs to multiple mapped groups.""" + + object: SCIMGroupRoleMappingObject + r"""String representing the object's type. Always \"scim_group_role_mapping\".""" + + id: str + r"""Unique identifier for the SCIM group role mapping.""" + + scim_directory_id: str + r"""The ID of the SCIM directory this mapping belongs to.""" + + scim_group_id: str + r"""The SCIM group ID from the identity provider.""" + + scim_group_display_name: str + r"""The display name of the SCIM group, as reported by the identity provider.""" + + precedence: int + r"""Mapping precedence, starting at 1. Lower values take priority when a user belongs to multiple mapped groups.""" + + created_at: int + r"""Unix timestamp (milliseconds) of when the mapping was created.""" + + updated_at: int + r"""Unix timestamp (milliseconds) of when the mapping was last updated.""" + + role: Optional[Role] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["role"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/clerk_backend_api/models/scimgrouprolemapping_deleted.py b/src/clerk_backend_api/models/scimgrouprolemapping_deleted.py new file mode 100644 index 00000000..7280f392 --- /dev/null +++ b/src/clerk_backend_api/models/scimgrouprolemapping_deleted.py @@ -0,0 +1,49 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel +from clerk_backend_api.utils import validate_const +from enum import Enum +import pydantic +from pydantic.functional_validators import AfterValidator +from typing import Literal +from typing_extensions import Annotated, TypedDict + + +class SCIMGroupRoleMappingDeletedObject(str, Enum): + r"""String representing the object's type.""" + + SCIM_GROUP_ROLE_MAPPING = "scim_group_role_mapping" + + +class SCIMGroupRoleMappingDeletedTypedDict(TypedDict): + r"""A SCIM group role mapping was deleted.""" + + object: SCIMGroupRoleMappingDeletedObject + r"""String representing the object's type.""" + id: str + r"""The ID of the deleted SCIM group role mapping.""" + deleted: Literal[True] + r"""Whether the SCIM group role mapping was successfully deleted.""" + + +class SCIMGroupRoleMappingDeleted(BaseModel): + r"""A SCIM group role mapping was deleted.""" + + object: SCIMGroupRoleMappingDeletedObject + r"""String representing the object's type.""" + + id: str + r"""The ID of the deleted SCIM group role mapping.""" + + DELETED: Annotated[ + Annotated[Literal[True], AfterValidator(validate_const(True))], + pydantic.Field(alias="deleted"), + ] = True + r"""Whether the SCIM group role mapping was successfully deleted.""" + + +try: + SCIMGroupRoleMappingDeleted.model_rebuild() +except NameError: + pass diff --git a/src/clerk_backend_api/models/scimgrouprolemapping_list.py b/src/clerk_backend_api/models/scimgrouprolemapping_list.py new file mode 100644 index 00000000..ce995df2 --- /dev/null +++ b/src/clerk_backend_api/models/scimgrouprolemapping_list.py @@ -0,0 +1,24 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .scimgrouprolemapping import SCIMGroupRoleMapping, SCIMGroupRoleMappingTypedDict +from clerk_backend_api.types import BaseModel +from typing import List +from typing_extensions import TypedDict + + +class SCIMGroupRoleMappingListTypedDict(TypedDict): + r"""A list of SCIM group role mappings, ordered by precedence.""" + + data: List[SCIMGroupRoleMappingTypedDict] + total_count: int + r"""Total number of SCIM group role mappings in the directory.""" + + +class SCIMGroupRoleMappingList(BaseModel): + r"""A list of SCIM group role mappings, ordered by precedence.""" + + data: List[SCIMGroupRoleMapping] + + total_count: int + r"""Total number of SCIM group role mappings in the directory.""" diff --git a/src/clerk_backend_api/models/updateorganizationdomainop.py b/src/clerk_backend_api/models/updateorganizationdomainop.py index 44b6a62a..ad024fca 100644 --- a/src/clerk_backend_api/models/updateorganizationdomainop.py +++ b/src/clerk_backend_api/models/updateorganizationdomainop.py @@ -15,14 +15,14 @@ class UpdateOrganizationDomainRequestBodyTypedDict(TypedDict): enrollment_mode: NotRequired[Nullable[str]] - r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation`""" + r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`""" verified: NotRequired[Nullable[bool]] r"""The status of the domain's verification""" class UpdateOrganizationDomainRequestBody(BaseModel): enrollment_mode: OptionalNullable[str] = UNSET - r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation`""" + r"""The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`""" verified: OptionalNullable[bool] = UNSET r"""The status of the domain's verification""" diff --git a/src/clerk_backend_api/models/updatescimdirectoryop.py b/src/clerk_backend_api/models/updatescimdirectoryop.py new file mode 100644 index 00000000..e6dbae11 --- /dev/null +++ b/src/clerk_backend_api/models/updatescimdirectoryop.py @@ -0,0 +1,100 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from clerk_backend_api.types import BaseModel, Nullable, UNSET_SENTINEL +from clerk_backend_api.utils import FieldMetadata, PathParamMetadata, RequestMetadata +from pydantic import model_serializer +from typing import Dict, Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class UpdateSCIMDirectoryRequestBodyTypedDict(TypedDict): + name: NotRequired[str] + r"""A human-friendly name for the SCIM directory.""" + enabled: NotRequired[bool] + r"""Whether the SCIM directory is enabled.""" + provider: NotRequired[str] + r"""The identity provider for this SCIM directory.""" + attribute_mapping: NotRequired[Dict[str, Nullable[str]]] + r"""Attribute-to-SCIM-path entries to merge into the directory's attribute mapping. + Set a key to `null` to remove it from the mapping. + """ + group_role_mapping_enabled: NotRequired[bool] + r"""Whether group-to-role mapping is enabled for this SCIM directory.""" + + +class UpdateSCIMDirectoryRequestBody(BaseModel): + name: Optional[str] = None + r"""A human-friendly name for the SCIM directory.""" + + enabled: Optional[bool] = None + r"""Whether the SCIM directory is enabled.""" + + provider: Optional[str] = None + r"""The identity provider for this SCIM directory.""" + + attribute_mapping: Optional[Dict[str, Nullable[str]]] = None + r"""Attribute-to-SCIM-path entries to merge into the directory's attribute mapping. + Set a key to `null` to remove it from the mapping. + """ + + group_role_mapping_enabled: Optional[bool] = None + r"""Whether group-to-role mapping is enabled for this SCIM directory.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + [ + "name", + "enabled", + "provider", + "attribute_mapping", + "group_role_mapping_enabled", + ] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +class UpdateSCIMDirectoryRequestTypedDict(TypedDict): + scim_directory_id: str + r"""The ID of the SCIM directory to update""" + request_body: NotRequired[UpdateSCIMDirectoryRequestBodyTypedDict] + + +class UpdateSCIMDirectoryRequest(BaseModel): + scim_directory_id: Annotated[ + str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False)) + ] + r"""The ID of the SCIM directory to update""" + + request_body: Annotated[ + Optional[UpdateSCIMDirectoryRequestBody], + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["RequestBody"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/clerk_backend_api/oauthaccesstokens.py b/src/clerk_backend_api/oauthaccesstokens.py index be79daf3..8a1645cb 100644 --- a/src/clerk_backend_api/oauthaccesstokens.py +++ b/src/clerk_backend_api/oauthaccesstokens.py @@ -82,6 +82,8 @@ def verify( operation_id="verifyOAuthAccessToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Access Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -190,6 +192,8 @@ async def verify_async( operation_id="verifyOAuthAccessToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Access Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/oauthapplications_sdk.py b/src/clerk_backend_api/oauthapplications_sdk.py index e7d771e5..769ec712 100644 --- a/src/clerk_backend_api/oauthapplications_sdk.py +++ b/src/clerk_backend_api/oauthapplications_sdk.py @@ -98,6 +98,8 @@ def list( operation_id="ListOAuthApplications", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -208,6 +210,8 @@ async def list_async( operation_id="ListOAuthApplications", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -314,6 +318,8 @@ def create( operation_id="CreateOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -420,6 +426,8 @@ async def create_async( operation_id="CreateOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -510,6 +518,8 @@ def get( operation_id="GetOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -600,6 +610,8 @@ async def get_async( operation_id="GetOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -723,6 +735,8 @@ def update( operation_id="UpdateOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -848,6 +862,8 @@ async def update_async( operation_id="UpdateOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -941,6 +957,8 @@ def delete( operation_id="DeleteOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1032,6 +1050,8 @@ async def delete_async( operation_id="DeleteOAuthApplication", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1145,6 +1165,8 @@ def upload_logo( operation_id="UploadOAuthApplicationLogo", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1260,6 +1282,8 @@ async def upload_logo_async( operation_id="UploadOAuthApplicationLogo", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1353,6 +1377,8 @@ def rotate_secret( operation_id="RotateOAuthApplicationSecret", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1444,6 +1470,8 @@ async def rotate_secret_async( operation_id="RotateOAuthApplicationSecret", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1464,3 +1492,219 @@ async def rotate_secret_async( raise models.SDKError("API error occurred", http_res, http_res_text) raise models.SDKError("Unexpected response received", http_res) + + def revoke_token( + self, + *, + oauth_application_id: str, + token: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ): + r"""Revoke an OAuth application token + + Revoke both OAuth access token and refresh token for the associated grant for the given OAuth application. + The request may specify either token. + JWT access tokens cannot be revoked. + + :param oauth_application_id: The ID of the OAuth application for which to revoke the token + :param token: The opaque OAuth access token or refresh token to revoke. All tokens associated with the same OAuth grant are also revoked. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.RevokeOAuthApplicationTokenRequest( + oauth_application_id=oauth_application_id, + request_body=models.RevokeOAuthApplicationTokenRequestBody( + token=token, + ), + ) + + req = self._build_request( + method="POST", + path="/oauth_applications/{oauth_application_id}/revoke_token", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body, + False, + False, + "json", + models.RevokeOAuthApplicationTokenRequestBody, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="RevokeOAuthApplicationToken", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "204", "*"): + return + if utils.match_response( + http_res, ["400", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def revoke_token_async( + self, + *, + oauth_application_id: str, + token: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ): + r"""Revoke an OAuth application token + + Revoke both OAuth access token and refresh token for the associated grant for the given OAuth application. + The request may specify either token. + JWT access tokens cannot be revoked. + + :param oauth_application_id: The ID of the OAuth application for which to revoke the token + :param token: The opaque OAuth access token or refresh token to revoke. All tokens associated with the same OAuth grant are also revoked. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.RevokeOAuthApplicationTokenRequest( + oauth_application_id=oauth_application_id, + request_body=models.RevokeOAuthApplicationTokenRequestBody( + token=token, + ), + ) + + req = self._build_request_async( + method="POST", + path="/oauth_applications/{oauth_application_id}/revoke_token", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body, + False, + False, + "json", + models.RevokeOAuthApplicationTokenRequestBody, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="RevokeOAuthApplicationToken", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["OAuth Applications"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "204", "*"): + return + if utils.match_response( + http_res, ["400", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) diff --git a/src/clerk_backend_api/organizationdomains_sdk.py b/src/clerk_backend_api/organizationdomains_sdk.py index 44cb4e81..1858ccf6 100644 --- a/src/clerk_backend_api/organizationdomains_sdk.py +++ b/src/clerk_backend_api/organizationdomains_sdk.py @@ -27,7 +27,7 @@ def create( :param organization_id: The ID of the organization where the new domain will be created. :param name: The name of the new domain - :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` + :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` :param verified: The status of domain's verification. Defaults to true :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -96,6 +96,8 @@ def create( operation_id="CreateOrganizationDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -137,7 +139,7 @@ async def create_async( :param organization_id: The ID of the organization where the new domain will be created. :param name: The name of the new domain - :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` + :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` :param verified: The status of domain's verification. Defaults to true :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -206,6 +208,8 @@ async def create_async( operation_id="CreateOrganizationDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -248,7 +252,8 @@ def list( :param organization_id: The organization ID. :param verified: Filter domains by their verification status. `true` or `false` - :param enrollment_mode: Filter domains by their enrollment mode + :param enrollment_mode: Filter domains by their enrollment mode. Accepts `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`. + Prefix a value with `-` to exclude it instead (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. :param limit: Applies a limit to the number of results returned. Can be used for paginating the results together with `offset`. :param offset: Skip the first `offset` results when paginating. @@ -313,6 +318,8 @@ def list( operation_id="ListOrganizationDomains", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -353,7 +360,8 @@ async def list_async( :param organization_id: The organization ID. :param verified: Filter domains by their verification status. `true` or `false` - :param enrollment_mode: Filter domains by their enrollment mode + :param enrollment_mode: Filter domains by their enrollment mode. Accepts `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`. + Prefix a value with `-` to exclude it instead (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. :param limit: Applies a limit to the number of results returned. Can be used for paginating the results together with `offset`. :param offset: Skip the first `offset` results when paginating. @@ -418,6 +426,8 @@ async def list_async( operation_id="ListOrganizationDomains", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -457,7 +467,7 @@ def update( :param organization_id: The ID of the organization to which the domain belongs :param domain_id: The ID of the domain - :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` + :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` :param verified: The status of the domain's verification :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -526,6 +536,8 @@ def update( operation_id="UpdateOrganizationDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -535,7 +547,9 @@ def update( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.OrganizationDomain, http_res) - if utils.match_response(http_res, ["400", "404", "422"], "application/json"): + if utils.match_response( + http_res, ["400", "403", "404", "422"], "application/json" + ): response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) raise models.ClerkErrors(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): @@ -565,7 +579,7 @@ async def update_async( :param organization_id: The ID of the organization to which the domain belongs :param domain_id: The ID of the domain - :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion` or `manual_invitation` + :param enrollment_mode: The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso` :param verified: The status of the domain's verification :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -634,6 +648,8 @@ async def update_async( operation_id="UpdateOrganizationDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -643,7 +659,9 @@ async def update_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.OrganizationDomain, http_res) - if utils.match_response(http_res, ["400", "404", "422"], "application/json"): + if utils.match_response( + http_res, ["400", "403", "404", "422"], "application/json" + ): response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) raise models.ClerkErrors(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): @@ -727,6 +745,8 @@ def delete( operation_id="DeleteOrganizationDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -736,7 +756,9 @@ def delete( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.DeletedObject, http_res) - if utils.match_response(http_res, ["400", "401", "404"], "application/json"): + if utils.match_response( + http_res, ["400", "401", "403", "404"], "application/json" + ): response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) raise models.ClerkErrors(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): @@ -820,6 +842,8 @@ async def delete_async( operation_id="DeleteOrganizationDomain", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -829,7 +853,9 @@ async def delete_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): return unmarshal_json_response(models.DeletedObject, http_res) - if utils.match_response(http_res, ["400", "401", "404"], "application/json"): + if utils.match_response( + http_res, ["400", "401", "403", "404"], "application/json" + ): response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) raise models.ClerkErrors(response_data, http_res) if utils.match_response(http_res, "4XX", "*"): @@ -920,6 +946,8 @@ def verify_ownership( operation_id="VerifyOrganizationDomainOwnership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1020,6 +1048,8 @@ async def verify_ownership_async( operation_id="VerifyOrganizationDomainOwnership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1069,7 +1099,8 @@ def list_all( :param organization_id: The ID of the organization to filter domains by :param verified: Filter by verification status - :param enrollment_mode: Filter by enrollment mode + :param enrollment_mode: Filter by enrollment mode. Prefix a value with `-` to exclude it instead + (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. :param query: Search domains by name or organization ID. If the query starts with \"org_\", it will search by exact organization ID match. Otherwise, it performs a case-insensitive partial match on the domain name. @@ -1153,6 +1184,8 @@ def list_all( operation_id="ListAllOrganizationDomains", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1202,7 +1235,8 @@ async def list_all_async( :param organization_id: The ID of the organization to filter domains by :param verified: Filter by verification status - :param enrollment_mode: Filter by enrollment mode + :param enrollment_mode: Filter by enrollment mode. Prefix a value with `-` to exclude it instead + (e.g. `-enterprise_sso`). Include and exclude filters can be combined and compose as AND. :param query: Search domains by name or organization ID. If the query starts with \"org_\", it will search by exact organization ID match. Otherwise, it performs a case-insensitive partial match on the domain name. @@ -1286,6 +1320,8 @@ async def list_all_async( operation_id="ListAllOrganizationDomains", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Domains"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/organizationinvitations_sdk.py b/src/clerk_backend_api/organizationinvitations_sdk.py index d5983fc4..70b61bef 100644 --- a/src/clerk_backend_api/organizationinvitations_sdk.py +++ b/src/clerk_backend_api/organizationinvitations_sdk.py @@ -106,6 +106,8 @@ def get_all( operation_id="ListInstanceOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -228,6 +230,8 @@ async def get_all_async( operation_id="ListInstanceOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -379,6 +383,8 @@ def create( operation_id="CreateOrganizationInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -527,6 +533,8 @@ async def create_async( operation_id="CreateOrganizationInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -647,6 +655,8 @@ def list( operation_id="ListOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -765,6 +775,8 @@ async def list_async( operation_id="ListOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -885,6 +897,8 @@ def bulk_create( operation_id="CreateOrganizationInvitationBulk", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1007,6 +1021,8 @@ async def bulk_create_async( operation_id="CreateOrganizationInvitationBulk", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1116,6 +1132,8 @@ def list_pending( operation_id="ListPendingOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1223,6 +1241,8 @@ async def list_pending_async( operation_id="ListPendingOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1316,6 +1336,8 @@ def get( operation_id="GetOrganizationInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1409,6 +1431,8 @@ async def get_async( operation_id="GetOrganizationInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1519,6 +1543,8 @@ def revoke( operation_id="RevokeOrganizationInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1629,6 +1655,8 @@ async def revoke_async( operation_id="RevokeOrganizationInvitation", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Invitations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/organizationmemberships_sdk.py b/src/clerk_backend_api/organizationmemberships_sdk.py index 6c360f73..d96e5ece 100644 --- a/src/clerk_backend_api/organizationmemberships_sdk.py +++ b/src/clerk_backend_api/organizationmemberships_sdk.py @@ -103,6 +103,8 @@ def create( operation_id="CreateOrganizationMembership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -220,6 +222,8 @@ async def create_async( operation_id="CreateOrganizationMembership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -385,6 +389,8 @@ def list( operation_id="ListOrganizationMemberships", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -548,6 +554,8 @@ async def list_async( operation_id="ListOrganizationMemberships", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -653,6 +661,8 @@ def update( operation_id="UpdateOrganizationMembership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -758,6 +768,8 @@ async def update_async( operation_id="UpdateOrganizationMembership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -851,6 +863,8 @@ def delete( operation_id="DeleteOrganizationMembership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -944,6 +958,8 @@ async def delete_async( operation_id="DeleteOrganizationMembership", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1060,6 +1076,8 @@ def update_metadata( operation_id="UpdateOrganizationMembershipMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1176,6 +1194,8 @@ async def update_metadata_async( operation_id="UpdateOrganizationMembershipMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/organizationpermissions.py b/src/clerk_backend_api/organizationpermissions.py index 0e1e5ac3..d5922873 100644 --- a/src/clerk_backend_api/organizationpermissions.py +++ b/src/clerk_backend_api/organizationpermissions.py @@ -94,6 +94,8 @@ def list( operation_id="ListOrganizationPermissions", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -200,6 +202,8 @@ async def list_async( operation_id="ListOrganizationPermissions", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -303,6 +307,8 @@ def create( operation_id="CreateOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -408,6 +414,8 @@ async def create_async( operation_id="CreateOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -500,6 +508,8 @@ def get( operation_id="GetOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -590,6 +600,8 @@ async def get_async( operation_id="GetOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -699,6 +711,8 @@ def update( operation_id="UpdateOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -810,6 +824,8 @@ async def update_async( operation_id="UpdateOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -903,6 +919,8 @@ def delete( operation_id="DeleteOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -994,6 +1012,8 @@ async def delete_async( operation_id="DeleteOrganizationPermission", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Permissions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/organizationroles.py b/src/clerk_backend_api/organizationroles.py index 32a5ce07..30345824 100644 --- a/src/clerk_backend_api/organizationroles.py +++ b/src/clerk_backend_api/organizationroles.py @@ -99,6 +99,8 @@ def list( operation_id="ListOrganizationRoles", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -212,6 +214,8 @@ async def list_async( operation_id="ListOrganizationRoles", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -322,6 +326,8 @@ def create( operation_id="CreateOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -432,6 +438,8 @@ async def create_async( operation_id="CreateOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -524,6 +532,8 @@ def get( operation_id="GetOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -614,6 +624,8 @@ async def get_async( operation_id="GetOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -728,6 +740,8 @@ def update( operation_id="UpdateOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -844,6 +858,8 @@ async def update_async( operation_id="UpdateOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -937,6 +953,8 @@ def delete( operation_id="DeleteOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1030,6 +1048,8 @@ async def delete_async( operation_id="DeleteOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1125,6 +1145,8 @@ def assign_permission( operation_id="AssignPermissionToOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1220,6 +1242,8 @@ async def assign_permission_async( operation_id="AssignPermissionToOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1315,6 +1339,8 @@ def remove_permission( operation_id="RemovePermissionFromOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1410,6 +1436,8 @@ async def remove_permission_async( operation_id="RemovePermissionFromOrganizationRole", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Roles"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/organizations_sdk.py b/src/clerk_backend_api/organizations_sdk.py index 1af23df8..4d649ab1 100644 --- a/src/clerk_backend_api/organizations_sdk.py +++ b/src/clerk_backend_api/organizations_sdk.py @@ -116,6 +116,8 @@ def list( operation_id="ListOrganizations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -244,6 +246,8 @@ async def list_async( operation_id="ListOrganizations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -357,6 +361,8 @@ def create( operation_id="CreateOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -472,6 +478,8 @@ async def create_async( operation_id="CreateOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -570,6 +578,8 @@ def get( operation_id="GetOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -666,6 +676,8 @@ async def get_async( operation_id="GetOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -788,6 +800,8 @@ def update( operation_id="UpdateOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -912,6 +926,8 @@ async def update_async( operation_id="UpdateOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1009,6 +1025,8 @@ def delete( operation_id="DeleteOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1104,6 +1122,8 @@ async def delete_async( operation_id="DeleteOrganization", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1218,6 +1238,8 @@ def merge_metadata( operation_id="MergeOrganizationMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1334,6 +1356,8 @@ async def merge_metadata_async( operation_id="MergeOrganizationMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1452,6 +1476,8 @@ def replace_metadata( operation_id="ReplaceOrganizationMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1570,6 +1596,8 @@ async def replace_metadata_async( operation_id="ReplaceOrganizationMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1683,6 +1711,8 @@ def upload_logo( operation_id="UploadOrganizationLogo", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1796,6 +1826,8 @@ async def upload_logo_async( operation_id="UploadOrganizationLogo", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1888,6 +1920,8 @@ def delete_logo( operation_id="DeleteOrganizationLogo", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1978,6 +2012,8 @@ async def delete_logo_async( operation_id="DeleteOrganizationLogo", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2070,6 +2106,8 @@ def get_billing_subscription( operation_id="GetOrganizationBillingSubscription", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2167,6 +2205,8 @@ async def get_billing_subscription_async( operation_id="GetOrganizationBillingSubscription", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2263,6 +2303,8 @@ def get_billing_credit_balance( operation_id="GetOrganizationBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2361,6 +2403,8 @@ async def get_billing_credit_balance_async( operation_id="GetOrganizationBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2484,6 +2528,8 @@ def adjust_billing_credit_balance( operation_id="AdjustOrganizationBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2607,6 +2653,8 @@ async def adjust_billing_credit_balance_async( operation_id="AdjustOrganizationBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organizations", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/phonenumbers.py b/src/clerk_backend_api/phonenumbers.py index fdd62b9a..a82679ea 100644 --- a/src/clerk_backend_api/phonenumbers.py +++ b/src/clerk_backend_api/phonenumbers.py @@ -92,6 +92,8 @@ def create( operation_id="CreatePhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -198,6 +200,8 @@ async def create_async( operation_id="CreatePhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -290,6 +294,8 @@ def get( operation_id="GetPhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -382,6 +388,8 @@ async def get_async( operation_id="GetPhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -474,6 +482,8 @@ def delete( operation_id="DeletePhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -566,6 +576,8 @@ async def delete_async( operation_id="DeletePhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -678,6 +690,8 @@ def update( operation_id="UpdatePhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -790,6 +804,8 @@ async def update_async( operation_id="UpdatePhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -885,6 +901,8 @@ def prepare_verification( operation_id="PreparePhoneNumberVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -983,6 +1001,8 @@ async def prepare_verification_async( operation_id="PreparePhoneNumberVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1103,6 +1123,8 @@ def attempt_verification( operation_id="AttemptPhoneNumberVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1223,6 +1245,8 @@ async def attempt_verification_async( operation_id="AttemptPhoneNumberVerification", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1342,6 +1366,8 @@ def replace_for_user( operation_id="ReplaceUserPhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1458,6 +1484,8 @@ async def replace_for_user_async( operation_id="ReplaceUserPhoneNumber", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Phone Numbers"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/proxychecks.py b/src/clerk_backend_api/proxychecks.py index b85f71c6..6f5d3d76 100644 --- a/src/clerk_backend_api/proxychecks.py +++ b/src/clerk_backend_api/proxychecks.py @@ -99,6 +99,8 @@ def verify( operation_id="VerifyDomainProxy", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Proxy Checks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -210,6 +212,8 @@ async def verify_async( operation_id="VerifyDomainProxy", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Proxy Checks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/redirecturls.py b/src/clerk_backend_api/redirecturls.py index ee180edf..48b52c9f 100644 --- a/src/clerk_backend_api/redirecturls.py +++ b/src/clerk_backend_api/redirecturls.py @@ -89,6 +89,8 @@ def list( operation_id="ListRedirectURLs", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -186,6 +188,8 @@ async def list_async( operation_id="ListRedirectURLs", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -286,6 +290,8 @@ def create( operation_id="CreateRedirectURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -390,6 +396,8 @@ async def create_async( operation_id="CreateRedirectURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -480,6 +488,8 @@ def get( operation_id="GetRedirectURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -570,6 +580,8 @@ async def get_async( operation_id="GetRedirectURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -660,6 +672,8 @@ def delete( operation_id="DeleteRedirectURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -750,6 +764,8 @@ async def delete_async( operation_id="DeleteRedirectURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Redirect URLs"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/rolesets_sdk.py b/src/clerk_backend_api/rolesets_sdk.py index 48cb0d45..9f353e2f 100644 --- a/src/clerk_backend_api/rolesets_sdk.py +++ b/src/clerk_backend_api/rolesets_sdk.py @@ -98,6 +98,8 @@ def list( operation_id="ListRoleSets", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -210,6 +212,8 @@ async def list_async( operation_id="ListRoleSets", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -330,6 +334,8 @@ def create( operation_id="CreateRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -450,6 +456,8 @@ async def create_async( operation_id="CreateRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -542,6 +550,8 @@ def get( operation_id="GetRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -632,6 +642,8 @@ async def get_async( operation_id="GetRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -754,6 +766,8 @@ def update( operation_id="UpdateRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -878,6 +892,8 @@ async def update_async( operation_id="UpdateRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -990,6 +1006,8 @@ def replace( operation_id="ReplaceRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1102,6 +1120,8 @@ async def replace_async( operation_id="ReplaceRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1214,6 +1234,8 @@ def add_roles( operation_id="AddRolesToRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1326,6 +1348,8 @@ async def add_roles_async( operation_id="AddRolesToRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1434,6 +1458,8 @@ def replace_role( operation_id="ReplaceRoleInRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1542,6 +1568,8 @@ async def replace_role_async( operation_id="ReplaceRoleInRoleSet", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Role Sets"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/samlconnections_sdk.py b/src/clerk_backend_api/samlconnections_sdk.py index 86fe5488..a5d5262b 100644 --- a/src/clerk_backend_api/samlconnections_sdk.py +++ b/src/clerk_backend_api/samlconnections_sdk.py @@ -108,6 +108,8 @@ def list( operation_id="ListSAMLConnections", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -227,6 +229,8 @@ async def list_async( operation_id="ListSAMLConnections", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -335,6 +339,8 @@ def create( operation_id="CreateSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -445,6 +451,8 @@ async def create_async( operation_id="CreateSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -541,6 +549,8 @@ def get( operation_id="GetSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -635,6 +645,8 @@ async def get_async( operation_id="GetSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -796,6 +808,8 @@ def update( operation_id="UpdateSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -959,6 +973,8 @@ async def update_async( operation_id="UpdateSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1055,6 +1071,8 @@ def delete( operation_id="DeleteSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1149,6 +1167,8 @@ async def delete_async( operation_id="DeleteSAMLConnection", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["SAML Connections"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/scimdirectories.py b/src/clerk_backend_api/scimdirectories.py new file mode 100644 index 00000000..220d0026 --- /dev/null +++ b/src/clerk_backend_api/scimdirectories.py @@ -0,0 +1,2052 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from .basesdk import BaseSDK +from clerk_backend_api import models, utils +from clerk_backend_api._hooks import HookContext +from clerk_backend_api.types import BaseModel, Nullable, OptionalNullable, UNSET +from clerk_backend_api.utils.unmarshal_json_response import unmarshal_json_response +from typing import Any, Dict, Iterable, List, Mapping, Optional, Union, cast + + +class ScimDirectories(BaseSDK): + def list( + self, + *, + limit: Optional[int] = 10, + offset: Optional[int] = 0, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectoryList: + r"""List all SCIM directories + + Returns a list of all SCIM directories for the instance. + + :param limit: Applies a limit to the number of results returned. + Can be used for paginating the results together with `offset`. + :param offset: Skip the first `offset` results when paginating. + Needs to be an integer greater or equal to zero. + To be used in conjunction with `limit`. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ListSCIMDirectoriesRequest( + limit=limit, + offset=offset, + ) + + req = self._build_request( + method="GET", + path="/scim_directories", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ListSCIMDirectories", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectoryList, http_res) + if utils.match_response(http_res, ["401", "403"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def list_async( + self, + *, + limit: Optional[int] = 10, + offset: Optional[int] = 0, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectoryList: + r"""List all SCIM directories + + Returns a list of all SCIM directories for the instance. + + :param limit: Applies a limit to the number of results returned. + Can be used for paginating the results together with `offset`. + :param offset: Skip the first `offset` results when paginating. + Needs to be an integer greater or equal to zero. + To be used in conjunction with `limit`. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ListSCIMDirectoriesRequest( + limit=limit, + offset=offset, + ) + + req = self._build_request_async( + method="GET", + path="/scim_directories", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ListSCIMDirectories", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectoryList, http_res) + if utils.match_response(http_res, ["401", "403"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def create( + self, + *, + request: Optional[ + Union[ + models.CreateSCIMDirectoryRequestBody, + models.CreateSCIMDirectoryRequestBodyTypedDict, + ] + ] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Create a SCIM directory + + Create a new SCIM directory for the instance. + + :param request: The request object to send. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + if not isinstance(request, BaseModel): + request = utils.unmarshal( + request, Optional[models.CreateSCIMDirectoryRequestBody] + ) + request = cast(Optional[models.CreateSCIMDirectoryRequestBody], request) + + req = self._build_request( + method="POST", + path="/scim_directories", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, + False, + True, + "json", + Optional[models.CreateSCIMDirectoryRequestBody], + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="CreateSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def create_async( + self, + *, + request: Optional[ + Union[ + models.CreateSCIMDirectoryRequestBody, + models.CreateSCIMDirectoryRequestBodyTypedDict, + ] + ] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Create a SCIM directory + + Create a new SCIM directory for the instance. + + :param request: The request object to send. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + if not isinstance(request, BaseModel): + request = utils.unmarshal( + request, Optional[models.CreateSCIMDirectoryRequestBody] + ) + request = cast(Optional[models.CreateSCIMDirectoryRequestBody], request) + + req = self._build_request_async( + method="POST", + path="/scim_directories", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request, + False, + True, + "json", + Optional[models.CreateSCIMDirectoryRequestBody], + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="CreateSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def get( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Retrieve a SCIM directory + + Returns the details of a SCIM directory. + + :param scim_directory_id: The ID of the SCIM directory to retrieve + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.GetSCIMDirectoryRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request( + method="GET", + path="/scim_directories/{scim_directory_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="GetSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def get_async( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Retrieve a SCIM directory + + Returns the details of a SCIM directory. + + :param scim_directory_id: The ID of the SCIM directory to retrieve + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.GetSCIMDirectoryRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request_async( + method="GET", + path="/scim_directories/{scim_directory_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="GetSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def update( + self, + *, + scim_directory_id: str, + name: Optional[str] = None, + enabled: Optional[bool] = None, + provider: Optional[str] = None, + attribute_mapping: Optional[Mapping[str, Nullable[str]]] = None, + group_role_mapping_enabled: Optional[bool] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Update a SCIM directory + + Updates a SCIM directory. + + :param scim_directory_id: The ID of the SCIM directory to update + :param name: A human-friendly name for the SCIM directory. + :param enabled: Whether the SCIM directory is enabled. + :param provider: The identity provider for this SCIM directory. + :param attribute_mapping: Attribute-to-SCIM-path entries to merge into the directory's attribute mapping. + Set a key to `null` to remove it from the mapping. + :param group_role_mapping_enabled: Whether group-to-role mapping is enabled for this SCIM directory. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.UpdateSCIMDirectoryRequest( + scim_directory_id=scim_directory_id, + request_body=models.UpdateSCIMDirectoryRequestBody( + name=name, + enabled=enabled, + provider=provider, + attribute_mapping=utils.unmarshal( + attribute_mapping, Optional[Dict[str, Nullable[str]]] + ), + group_role_mapping_enabled=group_role_mapping_enabled, + ), + ) + + req = self._build_request( + method="PATCH", + path="/scim_directories/{scim_directory_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body if request is not None else None, + False, + True, + "json", + Optional[models.UpdateSCIMDirectoryRequestBody], + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="UpdateSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def update_async( + self, + *, + scim_directory_id: str, + name: Optional[str] = None, + enabled: Optional[bool] = None, + provider: Optional[str] = None, + attribute_mapping: Optional[Mapping[str, Nullable[str]]] = None, + group_role_mapping_enabled: Optional[bool] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Update a SCIM directory + + Updates a SCIM directory. + + :param scim_directory_id: The ID of the SCIM directory to update + :param name: A human-friendly name for the SCIM directory. + :param enabled: Whether the SCIM directory is enabled. + :param provider: The identity provider for this SCIM directory. + :param attribute_mapping: Attribute-to-SCIM-path entries to merge into the directory's attribute mapping. + Set a key to `null` to remove it from the mapping. + :param group_role_mapping_enabled: Whether group-to-role mapping is enabled for this SCIM directory. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.UpdateSCIMDirectoryRequest( + scim_directory_id=scim_directory_id, + request_body=models.UpdateSCIMDirectoryRequestBody( + name=name, + enabled=enabled, + provider=provider, + attribute_mapping=utils.unmarshal( + attribute_mapping, Optional[Dict[str, Nullable[str]]] + ), + group_role_mapping_enabled=group_role_mapping_enabled, + ), + ) + + req = self._build_request_async( + method="PATCH", + path="/scim_directories/{scim_directory_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body if request is not None else None, + False, + True, + "json", + Optional[models.UpdateSCIMDirectoryRequestBody], + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="UpdateSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def delete( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.DeletedObject: + r"""Delete a SCIM directory + + Deletes a SCIM directory and stops provisioning for it. SCIM requests authenticated + with the directory's API key are rejected afterwards. + + :param scim_directory_id: The ID of the SCIM directory to delete + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.DeleteSCIMDirectoryRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request( + method="DELETE", + path="/scim_directories/{scim_directory_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="DeleteSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.DeletedObject, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def delete_async( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.DeletedObject: + r"""Delete a SCIM directory + + Deletes a SCIM directory and stops provisioning for it. SCIM requests authenticated + with the directory's API key are rejected afterwards. + + :param scim_directory_id: The ID of the SCIM directory to delete + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.DeleteSCIMDirectoryRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request_async( + method="DELETE", + path="/scim_directories/{scim_directory_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="DeleteSCIMDirectory", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.DeletedObject, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def rotate_api_key( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Rotate a SCIM directory's API key + + Generates a new API key for the SCIM directory and returns it in the `api_key` field. + This is the only way to obtain the key after creation, so make sure to update it in + your identity provider. The previous key remains valid for a short grace period before + it expires. + + :param scim_directory_id: The ID of the SCIM directory whose API key to rotate + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.RotateSCIMDirectoryAPIKeyRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request( + method="POST", + path="/scim_directories/{scim_directory_id}/rotate_api_key", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="RotateSCIMDirectoryAPIKey", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def rotate_api_key_async( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMDirectory: + r"""Rotate a SCIM directory's API key + + Generates a new API key for the SCIM directory and returns it in the `api_key` field. + This is the only way to obtain the key after creation, so make sure to update it in + your identity provider. The previous key remains valid for a short grace period before + it expires. + + :param scim_directory_id: The ID of the SCIM directory whose API key to rotate + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.RotateSCIMDirectoryAPIKeyRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request_async( + method="POST", + path="/scim_directories/{scim_directory_id}/rotate_api_key", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="RotateSCIMDirectoryAPIKey", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMDirectory, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def list_group_role_mappings( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMappingList: + r"""List SCIM group role mappings + + Returns the list of SCIM group to organization role mappings for a SCIM directory, ordered by precedence. + + :param scim_directory_id: The ID of the SCIM directory. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ListSCIMGroupRoleMappingsRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request( + method="GET", + path="/scim_directories/{scim_directory_id}/group_role_mappings", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ListSCIMGroupRoleMappings", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMappingList, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def list_group_role_mappings_async( + self, + *, + scim_directory_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMappingList: + r"""List SCIM group role mappings + + Returns the list of SCIM group to organization role mappings for a SCIM directory, ordered by precedence. + + :param scim_directory_id: The ID of the SCIM directory. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ListSCIMGroupRoleMappingsRequest( + scim_directory_id=scim_directory_id, + ) + + req = self._build_request_async( + method="GET", + path="/scim_directories/{scim_directory_id}/group_role_mappings", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ListSCIMGroupRoleMappings", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMappingList, http_res) + if utils.match_response(http_res, ["401", "403", "404"], "application/json"): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def create_group_role_mapping( + self, + *, + scim_directory_id: str, + scim_group_id: str, + role_id: str, + precedence: Optional[int] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMapping: + r"""Create a SCIM group role mapping + + Creates a new SCIM group to organization role mapping for a SCIM directory. + Group role mapping must be enabled on the directory. + + :param scim_directory_id: The ID of the SCIM directory. + :param scim_group_id: The SCIM group ID from the identity provider. + :param role_id: The ID of the organization role to assign to members of the SCIM group. + :param precedence: The precedence for this mapping. Lower values take priority when a user belongs + to multiple mapped groups. If omitted, the mapping is appended with the + next-highest precedence. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.CreateSCIMGroupRoleMappingRequest( + scim_directory_id=scim_directory_id, + request_body=models.CreateSCIMGroupRoleMappingRequestBody( + scim_group_id=scim_group_id, + role_id=role_id, + precedence=precedence, + ), + ) + + req = self._build_request( + method="POST", + path="/scim_directories/{scim_directory_id}/group_role_mappings", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body, + False, + False, + "json", + models.CreateSCIMGroupRoleMappingRequestBody, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="CreateSCIMGroupRoleMapping", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMapping, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def create_group_role_mapping_async( + self, + *, + scim_directory_id: str, + scim_group_id: str, + role_id: str, + precedence: Optional[int] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMapping: + r"""Create a SCIM group role mapping + + Creates a new SCIM group to organization role mapping for a SCIM directory. + Group role mapping must be enabled on the directory. + + :param scim_directory_id: The ID of the SCIM directory. + :param scim_group_id: The SCIM group ID from the identity provider. + :param role_id: The ID of the organization role to assign to members of the SCIM group. + :param precedence: The precedence for this mapping. Lower values take priority when a user belongs + to multiple mapped groups. If omitted, the mapping is appended with the + next-highest precedence. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.CreateSCIMGroupRoleMappingRequest( + scim_directory_id=scim_directory_id, + request_body=models.CreateSCIMGroupRoleMappingRequestBody( + scim_group_id=scim_group_id, + role_id=role_id, + precedence=precedence, + ), + ) + + req = self._build_request_async( + method="POST", + path="/scim_directories/{scim_directory_id}/group_role_mappings", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body, + False, + False, + "json", + models.CreateSCIMGroupRoleMappingRequestBody, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="CreateSCIMGroupRoleMapping", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMapping, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def replace_group_role_mappings( + self, + *, + scim_directory_id: str, + mappings: Union[Iterable[models.Mappings], Iterable[models.MappingsTypedDict]], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMappingList: + r"""Replace SCIM group role mappings + + Replaces the entire set of SCIM group role mappings for a directory. The position of + each item in the `mappings` array determines its precedence (the first item gets + precedence 1). Passing an empty array removes all mappings. Group role mapping must be + enabled on the directory. + + :param scim_directory_id: The ID of the SCIM directory. + :param mappings: The desired set of mappings. Array order sets precedence (1-indexed). An empty array clears all mappings. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ReplaceSCIMGroupRoleMappingsRequest( + scim_directory_id=scim_directory_id, + request_body=models.ReplaceSCIMGroupRoleMappingsRequestBody( + mappings=utils.get_pydantic_model(mappings, List[models.Mappings]), + ), + ) + + req = self._build_request( + method="PUT", + path="/scim_directories/{scim_directory_id}/group_role_mappings", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body, + False, + False, + "json", + models.ReplaceSCIMGroupRoleMappingsRequestBody, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ReplaceSCIMGroupRoleMappings", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMappingList, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def replace_group_role_mappings_async( + self, + *, + scim_directory_id: str, + mappings: Union[Iterable[models.Mappings], Iterable[models.MappingsTypedDict]], + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMappingList: + r"""Replace SCIM group role mappings + + Replaces the entire set of SCIM group role mappings for a directory. The position of + each item in the `mappings` array determines its precedence (the first item gets + precedence 1). Passing an empty array removes all mappings. Group role mapping must be + enabled on the directory. + + :param scim_directory_id: The ID of the SCIM directory. + :param mappings: The desired set of mappings. Array order sets precedence (1-indexed). An empty array clears all mappings. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ReplaceSCIMGroupRoleMappingsRequest( + scim_directory_id=scim_directory_id, + request_body=models.ReplaceSCIMGroupRoleMappingsRequestBody( + mappings=utils.get_pydantic_model(mappings, List[models.Mappings]), + ), + ) + + req = self._build_request_async( + method="PUT", + path="/scim_directories/{scim_directory_id}/group_role_mappings", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.request_body, + False, + False, + "json", + models.ReplaceSCIMGroupRoleMappingsRequestBody, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ReplaceSCIMGroupRoleMappings", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMappingList, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404", "422"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + def delete_group_role_mapping( + self, + *, + scim_directory_id: str, + mapping_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMappingDeleted: + r"""Delete a SCIM group role mapping + + Deletes a single SCIM group role mapping. Group role mapping must be enabled on the + directory. + + :param scim_directory_id: The ID of the SCIM directory. + :param mapping_id: The ID of the SCIM group role mapping to delete. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.DeleteSCIMGroupRoleMappingRequest( + scim_directory_id=scim_directory_id, + mapping_id=mapping_id, + ) + + req = self._build_request( + method="DELETE", + path="/scim_directories/{scim_directory_id}/group_role_mappings/{mapping_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="DeleteSCIMGroupRoleMapping", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMappingDeleted, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) + + async def delete_group_role_mapping_async( + self, + *, + scim_directory_id: str, + mapping_id: str, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.SCIMGroupRoleMappingDeleted: + r"""Delete a SCIM group role mapping + + Deletes a single SCIM group role mapping. Group role mapping must be enabled on the + directory. + + :param scim_directory_id: The ID of the SCIM directory. + :param mapping_id: The ID of the SCIM group role mapping to delete. + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.DeleteSCIMGroupRoleMappingRequest( + scim_directory_id=scim_directory_id, + mapping_id=mapping_id, + ) + + req = self._build_request_async( + method="DELETE", + path="/scim_directories/{scim_directory_id}/group_role_mappings/{mapping_id}", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=False, + request_has_path_params=True, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + else: + retries = utils.RetryConfig( + "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True + ) + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["5XX"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="DeleteSCIMGroupRoleMapping", + oauth2_scopes=None, + security_source=self.sdk_configuration.security, + tags=["SCIM Directories"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + response_data: Any = None + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response(models.SCIMGroupRoleMappingDeleted, http_res) + if utils.match_response( + http_res, ["400", "401", "403", "404"], "application/json" + ): + response_data = unmarshal_json_response(models.ClerkErrorsData, http_res) + raise models.ClerkErrors(response_data, http_res) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise models.SDKError("API error occurred", http_res, http_res_text) + + raise models.SDKError("Unexpected response received", http_res) diff --git a/src/clerk_backend_api/sdk.py b/src/clerk_backend_api/sdk.py index 471a588a..3ec0474b 100644 --- a/src/clerk_backend_api/sdk.py +++ b/src/clerk_backend_api/sdk.py @@ -59,6 +59,7 @@ from clerk_backend_api.redirecturls import RedirectUrls from clerk_backend_api.rolesets_sdk import RoleSetsSDK from clerk_backend_api.samlconnections_sdk import SamlConnectionsSDK + from clerk_backend_api.scimdirectories import ScimDirectories from clerk_backend_api.sessions import Sessions from clerk_backend_api.signintokens import SignInTokens from clerk_backend_api.signups import SignUps @@ -120,6 +121,7 @@ class Clerk(BaseSDK): billing: "Billing" organization_permissions: "OrganizationPermissions" role_sets: "RoleSetsSDK" + scim_directories: "ScimDirectories" admin_portal_link_tokens: "AdminPortalLinkTokens" api_keys: "APIKeys" r"""Endpoints for managing API Keys""" @@ -206,6 +208,7 @@ class Clerk(BaseSDK): "OrganizationPermissions", ), "role_sets": ("clerk_backend_api.rolesets_sdk", "RoleSetsSDK"), + "scim_directories": ("clerk_backend_api.scimdirectories", "ScimDirectories"), "admin_portal_link_tokens": ( "clerk_backend_api.admin_portal_link_tokens", "AdminPortalLinkTokens", diff --git a/src/clerk_backend_api/sessions.py b/src/clerk_backend_api/sessions.py index ae34908d..d55dbd02 100644 --- a/src/clerk_backend_api/sessions.py +++ b/src/clerk_backend_api/sessions.py @@ -104,6 +104,8 @@ def list( operation_id="GetSessionList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -220,6 +222,8 @@ async def list_async( operation_id="GetSessionList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -323,6 +327,8 @@ def create( operation_id="createSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -428,6 +434,8 @@ async def create_async( operation_id="createSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -520,6 +528,8 @@ def get( operation_id="GetSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -610,6 +620,8 @@ async def get_async( operation_id="GetSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -731,6 +743,8 @@ def refresh( operation_id="RefreshSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -852,6 +866,8 @@ async def refresh_async( operation_id="RefreshSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -943,6 +959,8 @@ def revoke( operation_id="RevokeSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1034,6 +1052,8 @@ async def revoke_async( operation_id="RevokeSession", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1136,6 +1156,8 @@ def create_token( operation_id="CreateSessionToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1240,6 +1262,8 @@ async def create_token_async( operation_id="CreateSessionToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1347,6 +1371,8 @@ def create_token_from_template( operation_id="CreateSessionTokenFromTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1454,6 +1480,8 @@ async def create_token_from_template_async( operation_id="CreateSessionTokenFromTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sessions"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/signintokens.py b/src/clerk_backend_api/signintokens.py index 08ccafc4..87bbb7dc 100644 --- a/src/clerk_backend_api/signintokens.py +++ b/src/clerk_backend_api/signintokens.py @@ -94,6 +94,8 @@ def create( operation_id="CreateSignInToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign-in Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -200,6 +202,8 @@ async def create_async( operation_id="CreateSignInToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign-in Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -290,6 +294,8 @@ def revoke( operation_id="RevokeSignInToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign-in Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -380,6 +386,8 @@ async def revoke_async( operation_id="RevokeSignInToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign-in Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/signups.py b/src/clerk_backend_api/signups.py index b949e371..a7675ca7 100644 --- a/src/clerk_backend_api/signups.py +++ b/src/clerk_backend_api/signups.py @@ -78,6 +78,8 @@ def get( operation_id="GetSignUp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign Ups"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -168,6 +170,8 @@ async def get_async( operation_id="GetSignUp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign Ups"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -274,6 +278,8 @@ def update( operation_id="UpdateSignUp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign Ups"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -380,6 +386,8 @@ async def update_async( operation_id="UpdateSignUp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Sign Ups"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/templates.py b/src/clerk_backend_api/templates.py index fb2b3928..63c3937c 100644 --- a/src/clerk_backend_api/templates.py +++ b/src/clerk_backend_api/templates.py @@ -111,6 +111,8 @@ def preview( operation_id="PreviewTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -235,6 +237,8 @@ async def preview_async( operation_id="PreviewTemplate", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Email & SMS Templates"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/testingtokens.py b/src/clerk_backend_api/testingtokens.py index d31b4359..a8450c26 100644 --- a/src/clerk_backend_api/testingtokens.py +++ b/src/clerk_backend_api/testingtokens.py @@ -71,6 +71,8 @@ def create( operation_id="CreateTestingToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Testing Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -150,6 +152,8 @@ async def create_async( operation_id="CreateTestingToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Testing Tokens"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/users.py b/src/clerk_backend_api/users.py index ba0c4229..311d040c 100644 --- a/src/clerk_backend_api/users.py +++ b/src/clerk_backend_api/users.py @@ -81,6 +81,8 @@ def list( operation_id="GetUserList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -174,6 +176,8 @@ async def list_async( operation_id="GetUserList", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -422,6 +426,8 @@ def create( operation_id="CreateUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -672,6 +678,8 @@ async def create_async( operation_id="CreateUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -766,6 +774,8 @@ def count( operation_id="GetUsersCount", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -858,6 +868,8 @@ async def count_async( operation_id="GetUsersCount", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -948,6 +960,8 @@ def get( operation_id="GetUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1038,6 +1052,8 @@ async def get_async( operation_id="GetUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1230,6 +1246,8 @@ def update( operation_id="UpdateUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1424,6 +1442,8 @@ async def update_async( operation_id="UpdateUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1516,6 +1536,8 @@ def delete( operation_id="DeleteUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1606,6 +1628,8 @@ async def delete_async( operation_id="DeleteUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1696,6 +1720,8 @@ def ban( operation_id="BanUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1786,6 +1812,8 @@ async def ban_async( operation_id="BanUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1876,6 +1904,8 @@ def unban( operation_id="UnbanUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1966,6 +1996,8 @@ async def unban_async( operation_id="UnbanUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2059,6 +2091,8 @@ def bulk_ban( operation_id="UsersBan", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2152,6 +2186,8 @@ async def bulk_ban_async( operation_id="UsersBan", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2245,6 +2281,8 @@ def bulk_unban( operation_id="UsersUnban", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2338,6 +2376,8 @@ async def bulk_unban_async( operation_id="UsersUnban", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2429,6 +2469,8 @@ def lock( operation_id="LockUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2520,6 +2562,8 @@ async def lock_async( operation_id="LockUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2610,6 +2654,8 @@ def unlock( operation_id="UnlockUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2700,6 +2746,8 @@ async def unlock_async( operation_id="UnlockUser", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2802,6 +2850,8 @@ def set_profile_image( operation_id="SetUserProfileImage", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2904,6 +2954,8 @@ async def set_profile_image_async( operation_id="SetUserProfileImage", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -2994,6 +3046,8 @@ def delete_profile_image( operation_id="DeleteUserProfileImage", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3084,6 +3138,8 @@ async def delete_profile_image_async( operation_id="DeleteUserProfileImage", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3210,6 +3266,8 @@ def update_metadata( operation_id="UpdateUserMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3338,6 +3396,8 @@ async def update_metadata_async( operation_id="UpdateUserMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3467,6 +3527,8 @@ def replace_metadata( operation_id="ReplaceUserMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3596,6 +3658,8 @@ async def replace_metadata_async( operation_id="ReplaceUserMetadata", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3690,6 +3754,8 @@ def get_billing_subscription( operation_id="GetUserBillingSubscription", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3787,6 +3853,8 @@ async def get_billing_subscription_async( operation_id="GetUserBillingSubscription", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3883,6 +3951,8 @@ def get_billing_credit_balance( operation_id="GetUserBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -3981,6 +4051,8 @@ async def get_billing_credit_balance_async( operation_id="GetUserBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4104,6 +4176,8 @@ def adjust_billing_credit_balance( operation_id="AdjustUserBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4227,6 +4301,8 @@ async def adjust_billing_credit_balance_async( operation_id="AdjustUserBillingCreditBalance", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users", "Billing"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4342,6 +4418,8 @@ def get_o_auth_access_token( operation_id="GetOAuthAccessToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4450,6 +4528,8 @@ async def get_o_auth_access_token_async( operation_id="GetOAuthAccessToken", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4549,6 +4629,8 @@ def get_organization_memberships( operation_id="UsersGetOrganizationMemberships", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4648,6 +4730,8 @@ async def get_organization_memberships_async( operation_id="UsersGetOrganizationMemberships", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4750,6 +4834,8 @@ def get_organization_invitations( operation_id="UsersGetOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4854,6 +4940,8 @@ async def get_organization_invitations_async( operation_id="UsersGetOrganizationInvitations", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -4959,6 +5047,8 @@ def verify_password( operation_id="VerifyPassword", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5062,6 +5152,8 @@ async def verify_password_async( operation_id="VerifyPassword", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5167,6 +5259,8 @@ def verify_totp( operation_id="VerifyTOTP", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5272,6 +5366,8 @@ async def verify_totp_async( operation_id="VerifyTOTP", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5362,6 +5458,8 @@ def disable_mfa( operation_id="DisableMFA", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5455,6 +5553,8 @@ async def disable_mfa_async( operation_id="DisableMFA", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5548,6 +5648,8 @@ def delete_backup_codes( operation_id="DeleteBackupCode", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5643,6 +5745,8 @@ async def delete_backup_codes_async( operation_id="DeleteBackupCode", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5741,6 +5845,8 @@ def delete_passkey( operation_id="UserPasskeyDelete", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5837,6 +5943,8 @@ async def delete_passkey_async( operation_id="UserPasskeyDelete", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -5933,6 +6041,8 @@ def delete_web3_wallet( operation_id="UserWeb3WalletDelete", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6029,6 +6139,8 @@ async def delete_web3_wallet_async( operation_id="UserWeb3WalletDelete", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6122,6 +6234,8 @@ def delete_totp( operation_id="DeleteTOTP", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6215,6 +6329,8 @@ async def delete_totp_async( operation_id="DeleteTOTP", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6311,6 +6427,8 @@ def delete_external_account( operation_id="DeleteExternalAccount", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6407,6 +6525,8 @@ async def delete_external_account_async( operation_id="DeleteExternalAccount", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6512,6 +6632,8 @@ def set_password_compromised( operation_id="SetUserPasswordCompromised", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6616,6 +6738,8 @@ async def set_password_compromised_async( operation_id="SetUserPasswordCompromised", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6652,6 +6776,8 @@ def unset_password_compromised( Sets the given user's password as no longer compromised. The user will no longer be prompted to reset their password on their next sign-in. + If the user is in reserved-email password quarantine, the quarantine is preserved and the returned user will still have `requires_password_reset` set to `true`. Reserved-email password quarantine can only be cleared by completing a password reset or changing/removing the password. + :param user_id: The ID of the user to unset the compromised status for :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -6708,6 +6834,8 @@ def unset_password_compromised( operation_id="UnsetUserPasswordCompromised", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6744,6 +6872,8 @@ async def unset_password_compromised_async( Sets the given user's password as no longer compromised. The user will no longer be prompted to reset their password on their next sign-in. + If the user is in reserved-email password quarantine, the quarantine is preserved and the returned user will still have `requires_password_reset` set to `true`. Reserved-email password quarantine can only be cleared by completing a password reset or changing/removing the password. + :param user_id: The ID of the user to unset the compromised status for :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method @@ -6800,6 +6930,8 @@ async def unset_password_compromised_async( operation_id="UnsetUserPasswordCompromised", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Users"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -6903,6 +7035,8 @@ def get_instance_organization_memberships( operation_id="InstanceGetOrganizationMemberships", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -7007,6 +7141,8 @@ async def get_instance_organization_memberships_async( operation_id="InstanceGetOrganizationMemberships", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Organization Memberships"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/utils/__init__.py b/src/clerk_backend_api/utils/__init__.py index 0498cb8d..7af3b82c 100644 --- a/src/clerk_backend_api/utils/__init__.py +++ b/src/clerk_backend_api/utils/__init__.py @@ -15,7 +15,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: if TYPE_CHECKING: from .annotations import get_discriminator - from .datetimes import parse_datetime + from .datetimes import parse_datetime, parse_duration from .enums import OpenEnumMeta from .headers import get_headers, get_response_headers from .metadata import ( @@ -70,6 +70,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: "get_default_logger", "get_discriminator", "parse_datetime", + "parse_duration", "get_global_from_env", "get_headers", "get_pydantic_model", @@ -122,6 +123,7 @@ async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T: "get_default_logger": ".logger", "get_discriminator": ".annotations", "parse_datetime": ".datetimes", + "parse_duration": ".datetimes", "get_global_from_env": ".values", "get_headers": ".headers", "get_pydantic_model": ".serializers", diff --git a/src/clerk_backend_api/utils/datetimes.py b/src/clerk_backend_api/utils/datetimes.py index a6c52cd6..adad2476 100644 --- a/src/clerk_backend_api/utils/datetimes.py +++ b/src/clerk_backend_api/utils/datetimes.py @@ -1,8 +1,10 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" -from datetime import datetime +from datetime import datetime, timedelta import sys +from pydantic import TypeAdapter + def parse_datetime(datetime_string: str) -> datetime: """ @@ -21,3 +23,15 @@ def parse_datetime(datetime_string: str) -> datetime: datetime_string = datetime_string[:-1] + "+00:00" return datetime.fromisoformat(datetime_string) + + +_DURATION_ADAPTER = TypeAdapter(timedelta) + + +def parse_duration(duration_string: str) -> timedelta: + """ + Convert an ISO 8601 duration string (e.g. "PT1H30M") into a timedelta. + The standard library has no ISO 8601 duration parser, so this delegates to + pydantic, which is already a runtime dependency of the SDK. + """ + return _DURATION_ADAPTER.validate_python(duration_string) diff --git a/src/clerk_backend_api/utils/retries.py b/src/clerk_backend_api/utils/retries.py index af07d4e9..ca7b59ef 100644 --- a/src/clerk_backend_api/utils/retries.py +++ b/src/clerk_backend_api/utils/retries.py @@ -11,10 +11,13 @@ class BackoffStrategy: + """Exponential backoff strategy configuration.""" + initial_interval: int max_interval: int exponent: float max_elapsed_time: int + jitter_ms: Optional[int] def __init__( self, @@ -22,24 +25,63 @@ def __init__( max_interval: int, exponent: float, max_elapsed_time: int, + jitter_ms: Optional[int] = None, ): + """Initialize a backoff strategy. + + Args: + initial_interval: Initial retry interval in milliseconds. + max_interval: Maximum retry interval in milliseconds. + exponent: Base of the exponential backoff; the interval grows as + ``initial_interval * exponent ** retries``. + max_elapsed_time: Maximum total elapsed time in milliseconds. + jitter_ms: Additive jitter bound in milliseconds. When set, adds a random + value in ``[0, jitter_ms]`` to each computed backoff interval (default + ``+[0, 1s]``). + + Note: + When a response carries a ``Retry-After`` or ``retry-after-ms`` header, + that delay is used as-is and the sleep-shaping parameters + (``initial_interval``, ``max_interval``, ``exponent``, ``jitter_ms``) are + ignored for that attempt. + """ + if jitter_ms is not None and jitter_ms < 0: + raise ValueError("jitter_ms must be >= 0") self.initial_interval = initial_interval self.max_interval = max_interval self.exponent = exponent self.max_elapsed_time = max_elapsed_time + self.jitter_ms = jitter_ms class RetryConfig: + """Runtime retry configuration.""" + strategy: str backoff: BackoffStrategy retry_connection_errors: bool + status_codes_override: Optional[List[str]] def __init__( - self, strategy: str, backoff: BackoffStrategy, retry_connection_errors: bool + self, + strategy: str, + backoff: BackoffStrategy, + retry_connection_errors: bool, + status_codes_override: Optional[List[str]] = None, ): + """Initialize a retry configuration. + + Args: + strategy: Retry strategy: ``"none"`` or ``"backoff"``. + backoff: Backoff parameters. + retry_connection_errors: Whether to also retry transport-level connection errors. + status_codes_override: Retryable HTTP status codes that take precedence over the + per-operation defaults when non-empty. + """ self.strategy = strategy self.backoff = backoff self.retry_connection_errors = retry_connection_errors + self.status_codes_override = status_codes_override class Retries: @@ -48,7 +90,7 @@ class Retries: def __init__(self, config: RetryConfig, status_codes: List[str]): self.config = config - self.status_codes = status_codes + self.status_codes = config.status_codes_override or status_codes class TemporaryError(Exception): @@ -93,12 +135,28 @@ def _parse_retry_after_header(response: httpx.Response) -> Optional[int]: return None +def _parse_retry_after_ms_header(response: httpx.Response) -> Optional[int]: + retry_after_ms_header = response.headers.get("retry-after-ms") + if not retry_after_ms_header: + return None + + try: + milliseconds = float(retry_after_ms_header) + if milliseconds >= 0: + return round(milliseconds) + except (OverflowError, ValueError): + pass + + return None + + def _get_sleep_interval( exception: Exception, initial_interval: int, max_interval: int, exponent: float, retries: int, + jitter_ms: Optional[int] = None, ) -> float: """Get sleep interval for retry with exponential backoff. @@ -108,6 +166,7 @@ def _get_sleep_interval( max_interval: Maximum retry interval in milliseconds. exponent: Base for exponential backoff calculation. retries: Current retry attempt count. + jitter_ms: Additive jitter bound in ms; see ``BackoffStrategy.jitter_ms``. Returns: Sleep interval in seconds. @@ -119,7 +178,11 @@ def _get_sleep_interval( ): return exception.retry_after / 1000 - sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1) + sleep = (initial_interval / 1000) * exponent**retries + if jitter_ms is not None: + sleep += random.uniform(0, jitter_ms / 1000) + else: + sleep += random.uniform(0, 1) return min(sleep, max_interval / 1000) @@ -162,6 +225,7 @@ def do_request() -> httpx.Response: retries.config.backoff.max_interval, retries.config.backoff.exponent, retries.config.backoff.max_elapsed_time, + retries.config.backoff.jitter_ms, ) return func() @@ -206,6 +270,7 @@ async def do_request() -> httpx.Response: retries.config.backoff.max_interval, retries.config.backoff.exponent, retries.config.backoff.max_elapsed_time, + retries.config.backoff.jitter_ms, ) return await func() @@ -217,6 +282,7 @@ def retry_with_backoff( max_interval=60000, exponent=1.5, max_elapsed_time=3600000, + jitter_ms=None, ): start = round(time.time() * 1000) retries = 0 @@ -234,8 +300,17 @@ def retry_with_backoff( raise + if isinstance(exception, TemporaryError): + retry_after_ms = _parse_retry_after_ms_header(exception.response) + if retry_after_ms is not None: + exception.retry_after = retry_after_ms sleep = _get_sleep_interval( - exception, initial_interval, max_interval, exponent, retries + exception, + initial_interval, + max_interval, + exponent, + retries, + jitter_ms=jitter_ms, ) time.sleep(sleep) retries += 1 @@ -247,6 +322,7 @@ async def retry_with_backoff_async( max_interval=60000, exponent=1.5, max_elapsed_time=3600000, + jitter_ms=None, ): start = round(time.time() * 1000) retries = 0 @@ -264,8 +340,17 @@ async def retry_with_backoff_async( raise + if isinstance(exception, TemporaryError): + retry_after_ms = _parse_retry_after_ms_header(exception.response) + if retry_after_ms is not None: + exception.retry_after = retry_after_ms sleep = _get_sleep_interval( - exception, initial_interval, max_interval, exponent, retries + exception, + initial_interval, + max_interval, + exponent, + retries, + jitter_ms=jitter_ms, ) await asyncio.sleep(sleep) retries += 1 diff --git a/src/clerk_backend_api/waitlistentries_sdk.py b/src/clerk_backend_api/waitlistentries_sdk.py index b8863e6b..98321bbd 100644 --- a/src/clerk_backend_api/waitlistentries_sdk.py +++ b/src/clerk_backend_api/waitlistentries_sdk.py @@ -100,6 +100,8 @@ def list( operation_id="ListWaitlistEntries", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -208,6 +210,8 @@ async def list_async( operation_id="ListWaitlistEntries", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -309,6 +313,8 @@ def create( operation_id="CreateWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -414,6 +420,8 @@ async def create_async( operation_id="CreateWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -527,6 +535,8 @@ def bulk_create( operation_id="CreateBulkWaitlistEntries", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -640,6 +650,8 @@ async def bulk_create_async( operation_id="CreateBulkWaitlistEntries", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -730,6 +742,8 @@ def delete( operation_id="DeleteWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -822,6 +836,8 @@ async def delete_async( operation_id="DeleteWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -926,6 +942,8 @@ def invite( operation_id="InviteWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1030,6 +1048,8 @@ async def invite_async( operation_id="InviteWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1122,6 +1142,8 @@ def reject( operation_id="RejectWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -1214,6 +1236,8 @@ async def reject_async( operation_id="RejectWaitlistEntry", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Waitlist Entries"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), diff --git a/src/clerk_backend_api/webhooks.py b/src/clerk_backend_api/webhooks.py index d5e258ef..e05b04c1 100644 --- a/src/clerk_backend_api/webhooks.py +++ b/src/clerk_backend_api/webhooks.py @@ -71,6 +71,8 @@ def create_svix_app( operation_id="CreateSvixApp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Webhooks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -154,6 +156,8 @@ async def create_svix_app_async( operation_id="CreateSvixApp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Webhooks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -237,6 +241,8 @@ def delete_svix_app( operation_id="DeleteSvixApp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Webhooks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -320,6 +326,8 @@ async def delete_svix_app_async( operation_id="DeleteSvixApp", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Webhooks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -403,6 +411,8 @@ def generate_svix_auth_url( operation_id="GenerateSvixAuthURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Webhooks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), @@ -486,6 +496,8 @@ async def generate_svix_auth_url_async( operation_id="GenerateSvixAuthURL", oauth2_scopes=None, security_source=self.sdk_configuration.security, + tags=["Webhooks"], + extensions=None, ), request=req, is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c),