diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 553a159b..c9512847 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828
management:
- docChecksum: 6c80a5c3a1a288676b10856c3146c220
+ docChecksum: 5cdc014e1e0db55fdd061072c1cb7a95
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
- releaseVersion: 1.1.126
- configChecksum: 276752e163707095c09e1a91c01b2f99
+ releaseVersion: 1.1.127
+ configChecksum: dd4c63e39bf48f073622494ecad33ff7
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
- generation_id: bdd137c8-f325-4fd9-9054-1e923b9a96c5
- pristine_commit_hash: 1a9659ca8695f38619c7245fba1d613805d9ff07
- pristine_tree_hash: b9e4e3507e68ae8c19d95803f1b8f1be29acc534
+ generation_id: c3181655-779b-4074-80b2-06108326d9d4
+ pristine_commit_hash: ea6c63a371d99fd9bce4cfd5379ff9bf962ac2b0
+ pristine_tree_hash: 70e7ff7a8cbbe388b7bc3e3e896848abdf7f9020
features:
python:
acceptHeaders: 3.0.0
@@ -1646,16 +1646,16 @@ trackedFiles:
pristine_git_object: 63cc820d2e3f4ddaa6d42dfef4c80006f7810cb2
docs/components/createobservabilitydestinationrequest.mdx:
id: 8d942a601a6e
- last_write_checksum: sha1:0021248490c5090429fcd8fe25d4f0fdfcf06ac6
- pristine_git_object: d5091906ba8777d81d2771d658d463c24ce9dee9
+ last_write_checksum: sha1:a266eb148b179de43a1b08282d7cadd013e5eaa1
+ pristine_git_object: aa5a574f8d0f22e2a42f388ef4fe7e6164ee1c73
docs/components/createobservabilitydestinationrequesttype.mdx:
id: 0cb269425077
last_write_checksum: sha1:f8608dbed4fcc4407be03f34d5a5ab50c5cd085e
pristine_git_object: a3f9ac29f6a4edc5a63c4a6b18c5b86754c1f945
docs/components/createobservabilitydestinationresponse.mdx:
id: ce5ac8963efc
- last_write_checksum: sha1:5048d55d8a6fd21a25ed43c97ae2270b26520e10
- pristine_git_object: 11ab48b33de4baca74149e87dddc9fc943c64595
+ last_write_checksum: sha1:dec84164e71bb210bcb5c4597117bb31ec4809b4
+ pristine_git_object: 47ed5818928769a2664672bfd73f805f62382f72
docs/components/createpresetfrominferenceresponse.mdx:
id: ed0298bf47bf
last_write_checksum: sha1:01fc963af14788ca0453a09fe4f7a60e4420244a
@@ -2318,8 +2318,8 @@ trackedFiles:
pristine_git_object: c17bc0e827b50a77e3d2a447a32cd8d51d84d0ed
docs/components/getobservabilitydestinationresponse.mdx:
id: fc89b94d297e
- last_write_checksum: sha1:59e4dd8c6b1ec13fde7bfbee9df6c54c2912dd40
- pristine_git_object: 15510e981d231b9251ff40f44c45d8a352669e94
+ last_write_checksum: sha1:86f9c83f1b37c49ef0cb915552961ca01f614eca
+ pristine_git_object: 364e05408c84a0d73a9e4f9ecbb56d91afc9403f
docs/components/getpresetresponse.mdx:
id: c0c979f8e40b
last_write_checksum: sha1:370381ce62ad520180a59c7659ba0f72a4a1cdd5
@@ -3354,8 +3354,8 @@ trackedFiles:
pristine_git_object: 463ee9cd6a8eb9089700e17d1e6166d5bfb2078d
docs/components/observabilityarizedestination.mdx:
id: 8ab5c92ec9b5
- last_write_checksum: sha1:95a8e27c3dec38da7c3cefb0a9b5d81ae7a17c49
- pristine_git_object: f7dfaeeb2ddd051156b6f85e26dbb631495417df
+ last_write_checksum: sha1:c7d998de9b145c0c4e6fdd86c0c81f0b48dfed5e
+ pristine_git_object: a544b84189ef28ee9a9507d65db18d218c4ca606
docs/components/observabilityarizedestinationconfig.mdx:
id: efaf5bfd1406
last_write_checksum: sha1:1425f56ed1f045643b3597c10f7c827969b4d2b2
@@ -3366,8 +3366,8 @@ trackedFiles:
pristine_git_object: 8fb879fb1be791e16ed3c2d1340983ff3e48aca7
docs/components/observabilitybraintrustdestination.mdx:
id: d4fb2aa6ff1b
- last_write_checksum: sha1:96ec2b8260a2c61bb5abd296bcb2dfaad73a5998
- pristine_git_object: f569b94af75027fbc27d8774e354a86a62e2c7ce
+ last_write_checksum: sha1:12fe2984d21ac1937045e55eb559cfe51605870d
+ pristine_git_object: 3f6543347b718a55e8faf0dac85079ad7d7c2ec0
docs/components/observabilitybraintrustdestinationconfig.mdx:
id: 03abfca35bdc
last_write_checksum: sha1:c0ec75b1f1d28d62abe12c9ccff5d32bb98d8ad6
@@ -3378,8 +3378,8 @@ trackedFiles:
pristine_git_object: 2686027052fc88669dbe1f261baacbdeed41a895
docs/components/observabilityclickhousedestination.mdx:
id: 22672c72a47f
- last_write_checksum: sha1:5d13e9ca0d42c51fbf913f9df79d5bbdb260b858
- pristine_git_object: 897e5e389431226ad795d73b1ed37d18a047399b
+ last_write_checksum: sha1:5b9c61cd615a5401dceb732985332403968183b2
+ pristine_git_object: 06bb6951553af8e01844bcc1ab58d6788e18e88e
docs/components/observabilityclickhousedestinationconfig.mdx:
id: 31969c4f79e6
last_write_checksum: sha1:581b45aab6174219694069db5d2dd187aa3c081f
@@ -3390,8 +3390,8 @@ trackedFiles:
pristine_git_object: c450839c8b4d42ad1d2d075a948136c9dc9ac853
docs/components/observabilitydatadogdestination.mdx:
id: 9069b48e8b03
- last_write_checksum: sha1:c47e9779e0f7428c3900f5552929662568744d6a
- pristine_git_object: 1df35546bd3caa20d0672e560e4fe616598995d2
+ last_write_checksum: sha1:06e01c90041761523ce59df10353c7a4f6e3b1e8
+ pristine_git_object: 6a83d3ce3e7466fdbdc8f1113d1f5da8efac5704
docs/components/observabilitydatadogdestinationconfig.mdx:
id: 5d9352581ce2
last_write_checksum: sha1:b55df9fe0666891c7819e80565e103b04997db73
@@ -3400,6 +3400,14 @@ trackedFiles:
id: 0136bc2eef34
last_write_checksum: sha1:b1fdf5fc623076f9b5347d50743091f763fe3675
pristine_git_object: 872d16f1872c13732547fd416ec0093564931cd1
+ docs/components/observabilitydataregion.mdx:
+ id: f801f830c1d9
+ last_write_checksum: sha1:3419cfad6361bde812704e1a9d888665d8d65c6e
+ pristine_git_object: 454e7239c3a91825c8bf78d620db96410898ebec
+ docs/components/observabilitydataregioninput.mdx:
+ id: 056f27ff48b4
+ last_write_checksum: sha1:8a5206f364d86a84e357d1ec92577bb3bf100379
+ pristine_git_object: 5db8fe41e5169e7cd9c99805bb0b033f65933e07
docs/components/observabilitydestination.mdx:
id: 2b5b371b62ed
last_write_checksum: sha1:eb15fe342436bb49fe24b4884c5989564149716f
@@ -3422,8 +3430,8 @@ trackedFiles:
pristine_git_object: 842fa8f78a38e50486069046e7c2aef07997c600
docs/components/observabilitygrafanadestination.mdx:
id: 933526705b96
- last_write_checksum: sha1:1d2eb05bf582f6b1edab64b3bf6482cccab2921f
- pristine_git_object: f1a902bee6f72984286cd5ed37be642d9a5761cb
+ last_write_checksum: sha1:df449b23da58047c3c8dc468cee554bdd46efbc9
+ pristine_git_object: e501c1f87831442572ec3ff07b859dd12a68f6b0
docs/components/observabilitygrafanadestinationconfig.mdx:
id: 6dd26838a8ed
last_write_checksum: sha1:5ecf3222dc5ab0e308e7e43fa0eea88e0c00902a
@@ -3434,8 +3442,8 @@ trackedFiles:
pristine_git_object: b3a87a6bd089fdda6ef0b1b82ac9a7fd7f7b8686
docs/components/observabilitylangfusedestination.mdx:
id: a937f11e1a22
- last_write_checksum: sha1:18c8596bed2b8a2a7a86010a286e81a5c0be80df
- pristine_git_object: 47c89946438bf569b60023cf3c43fe8ce5f78789
+ last_write_checksum: sha1:b5abdd7766429ff6c07f599ef4ccefb5dce8cba3
+ pristine_git_object: e2d69cf38891feb2ca7740d4a74eba886b3b252d
docs/components/observabilitylangfusedestinationconfig.mdx:
id: eb6d8b96b9db
last_write_checksum: sha1:a272574f6faa764dbf291efe1852d5a4680c903b
@@ -3446,8 +3454,8 @@ trackedFiles:
pristine_git_object: 0a0ef90a75966cb1e6a01cdabca55e2854a2e65e
docs/components/observabilitylangsmithdestination.mdx:
id: 3c019b2baadd
- last_write_checksum: sha1:d6f60dd8f5cfb5888ed59a18297b28d049a44b2f
- pristine_git_object: 0d5a6498cd060aeb37839eed23ceb0de52da7b20
+ last_write_checksum: sha1:b92b2a2ca695170d9d68afd83e86a803cf276e53
+ pristine_git_object: e5114d4a736c95c0df14dbe602e575ee420878fb
docs/components/observabilitylangsmithdestinationconfig.mdx:
id: e8ba506f0bb6
last_write_checksum: sha1:9c000b6149bfe5f00602042e1a3230a72ae989eb
@@ -3458,8 +3466,8 @@ trackedFiles:
pristine_git_object: 4cc128c9afe496eb949236875b79455d15cc1365
docs/components/observabilitynewrelicdestination.mdx:
id: 51f825f7492d
- last_write_checksum: sha1:4c3df03aec007e6a22130d573035cbaf39abb7df
- pristine_git_object: 7fb48f5372f6b6698cd6e6acc9047527df42ab35
+ last_write_checksum: sha1:ac47eec699c5344624d53b570693be854fca187f
+ pristine_git_object: a95737dfb7576766cd8423ec6430b48e7a7e2cc2
docs/components/observabilitynewrelicdestinationconfig.mdx:
id: 1bfa0e65f66e
last_write_checksum: sha1:bb861670f63dcfdd47f92ffe04d26ce4020208be
@@ -3470,8 +3478,8 @@ trackedFiles:
pristine_git_object: 8f74ec6c80b673784e6663faced904afed9e73d7
docs/components/observabilityopikdestination.mdx:
id: f79bf0519b07
- last_write_checksum: sha1:1719afdcb2eda0ba42ea5861dc733c1ee14bef24
- pristine_git_object: 559de2d1bd815abb5fcd446618683f456dd3d020
+ last_write_checksum: sha1:89c25e966605d0c1e1532c75bbd51692d1cbf480
+ pristine_git_object: cdf26b6c6363aa96c7bd89492f522afa4f2dceaf
docs/components/observabilityopikdestinationconfig.mdx:
id: a29272c1315e
last_write_checksum: sha1:afe9c9dab6b21c068e5629c4823b09b1ce076086
@@ -3482,8 +3490,8 @@ trackedFiles:
pristine_git_object: f7689374cb3fa75bfb790b12a737b10941fc9e57
docs/components/observabilityotelcollectordestination.mdx:
id: fbefa5ba48da
- last_write_checksum: sha1:f36ffcf2ee9d38b9b8ccb09e4af39f84dc0aca6d
- pristine_git_object: bd1a83b804e1db7fdda618221e2c7f2adf66cf6d
+ last_write_checksum: sha1:68590e1fd879b94e64feb3eea29240ad1658de64
+ pristine_git_object: 95b4bd7b665719e0d8c99cc56bde4f8c534b2ac0
docs/components/observabilityotelcollectordestinationconfig.mdx:
id: 204fa4b1365b
last_write_checksum: sha1:21ffeb7874cfe3cf90ee0521f3cc21a23b2c9f4b
@@ -3494,8 +3502,8 @@ trackedFiles:
pristine_git_object: 04d51fca83de0cd45e5341d5eafef87997644e08
docs/components/observabilityposthogdestination.mdx:
id: 602ebbf459aa
- last_write_checksum: sha1:efc49b1705f34883e0923ce5e56138ff022436d5
- pristine_git_object: 7e0644b0092975c5acc38b2a78aa690f4e4be9d6
+ last_write_checksum: sha1:c18d820a90c8fbb3783baa3c9f30d2affdd0c829
+ pristine_git_object: c3d4121e730f2e00e9425a8ff2bc3d6493de25c8
docs/components/observabilityposthogdestinationconfig.mdx:
id: f70e6155227e
last_write_checksum: sha1:ae7c844f4507e8fc571f10e8f23ebae6f4ef5ad9
@@ -3506,8 +3514,8 @@ trackedFiles:
pristine_git_object: 15d5f4b204b6f11123e889347b9bca9d4c1bf774
docs/components/observabilityrampdestination.mdx:
id: d282b8093450
- last_write_checksum: sha1:e85d680ecdeba957767c94cccf295bfe9e7f9838
- pristine_git_object: fbc07a12a949131ed034fc4e1dafbf42205f579f
+ last_write_checksum: sha1:55260b66db953eb221874073817ccc40a34f06e2
+ pristine_git_object: 84e0fea64b575c68ec8c0625b17535dd75388a40
docs/components/observabilityrampdestinationconfig.mdx:
id: 508afecc801d
last_write_checksum: sha1:0303440d4c32b655e5eae672157859c3f5a3d842
@@ -3518,8 +3526,8 @@ trackedFiles:
pristine_git_object: c344370154af3e48ab34d83bceeec80c163e8b4e
docs/components/observabilitys3destination.mdx:
id: fcfdc787f494
- last_write_checksum: sha1:8294e3c2bd2beaab8ecf202aaa961066cf3ea1d9
- pristine_git_object: 9fc291ed751e3f32abeb6b72534d2358ca6ea32b
+ last_write_checksum: sha1:f7a480915cc7b87a9df8ad03dfb2144b63942121
+ pristine_git_object: 648c00ec513dc3f96aac38087cfb7c2481c59769
docs/components/observabilitys3destinationconfig.mdx:
id: 040367f19dfe
last_write_checksum: sha1:063638b494568601ae5043fa24f40cbac6a1b641
@@ -3530,8 +3538,8 @@ trackedFiles:
pristine_git_object: 0ef939a6bbce82c2610a94f31a126bc62e32b382
docs/components/observabilitysentrydestination.mdx:
id: 9a5494b91636
- last_write_checksum: sha1:55e0b9df295d458f8398b8655cc2c7a82660dee3
- pristine_git_object: 029bbf4a349ccac5f69a7e40f77f11b838a8c6ce
+ last_write_checksum: sha1:4d715b7ed93ef783d5c1c1f1fc5aef23112f96c2
+ pristine_git_object: 8143111aac7af5606ee370df108724a76ccf1add
docs/components/observabilitysentrydestinationconfig.mdx:
id: 4b59b787f138
last_write_checksum: sha1:77957ffe6671ee13d885296e609bca1f6e6bfef9
@@ -3542,8 +3550,8 @@ trackedFiles:
pristine_git_object: b4948a38975913b3ad4cd50b494566af44854935
docs/components/observabilitysnowflakedestination.mdx:
id: 50eb5d73c736
- last_write_checksum: sha1:3203b625f505b5aed73a319d4e60511604cecade
- pristine_git_object: 52ae75366b2042014f64fbbdc8b591770f6963ca
+ last_write_checksum: sha1:c947b8a48d1e8c2105606d9c26653951c8cf8745
+ pristine_git_object: 712283b47b3463e807882274d9ed4e4b2963ab73
docs/components/observabilitysnowflakedestinationconfig.mdx:
id: 61daa1944898
last_write_checksum: sha1:aba368fd00883f348c77fcee080414ec433a6dfe
@@ -3554,8 +3562,8 @@ trackedFiles:
pristine_git_object: c3cc873227fc32fff3a1aeddfe7852856057f095
docs/components/observabilityweavedestination.mdx:
id: 16c45cebb51d
- last_write_checksum: sha1:89a2ab7469a396877ebf757c7b18f804088e9394
- pristine_git_object: be84eb7b9d86c657a9299fdb924987d1b9cefe42
+ last_write_checksum: sha1:34eb3c3e0689b67bac00542dc81b90e9c7a2835d
+ pristine_git_object: 418f8c17ef0e54a6ac89c1ee157a2ee915a34ab1
docs/components/observabilityweavedestinationconfig.mdx:
id: 27ab1f4389f1
last_write_checksum: sha1:26f0010d5e544c9856f09b63136ff4584cc3443f
@@ -3566,8 +3574,8 @@ trackedFiles:
pristine_git_object: dcaffb2070e7203e06a6747111b6df950465b5ff
docs/components/observabilitywebhookdestination.mdx:
id: ac114793a610
- last_write_checksum: sha1:bb09f99041dfc29cf127311a66af85885ae76017
- pristine_git_object: dce0e333af029f19ad7fdce287bc0a93daca56bb
+ last_write_checksum: sha1:3522d6ec26eb30cb1bf514e3d3c5a8ea77927d51
+ pristine_git_object: ba03c19f12d21871f2543676df45e6f705503647
docs/components/observabilitywebhookdestinationconfig.mdx:
id: 3f56a0517583
last_write_checksum: sha1:50a935198381531354a979579be97e2f61f1ad46
@@ -5770,12 +5778,12 @@ trackedFiles:
pristine_git_object: 510bac097152bc64d1eccad4f2a498db9bd8a86c
docs/components/updateobservabilitydestinationrequest.mdx:
id: b54091567003
- last_write_checksum: sha1:5e1ca1d49b7a6a202ab0c8b8aa0b4f1a78a6246d
- pristine_git_object: 3ec5c2811fe63bd9ef043ad67ae775b2e77e21a8
+ last_write_checksum: sha1:d878d301eca619ed7a9820c612e2e2251feaef0a
+ pristine_git_object: 64d0f95c5851d7c0a8f1b73958e0b2b1d396f716
docs/components/updateobservabilitydestinationresponse.mdx:
id: be9661c3676e
- last_write_checksum: sha1:0e661f2facf7780455f8891b4437bfa619d6f97d
- pristine_git_object: d3f4360ed2bcd686b69125c549deec63dede21c9
+ last_write_checksum: sha1:579f2873ba3bd2694b66d17d26e3b0e99d91f29f
+ pristine_git_object: f45af37c1fe62687b3c02068619b56ea1eef42d5
docs/components/updatescimgroupmappingrequest.mdx:
id: 4318f4ed22f5
last_write_checksum: sha1:80947ab2421cee078a515582fc49381bfc2641a7
@@ -7106,8 +7114,8 @@ trackedFiles:
pristine_git_object: 939ce50afe886df24246d91e5a037677042f06a2
docs/operations/listobservabilitydestinationsresponse.mdx:
id: 7da9d153805e
- last_write_checksum: sha1:6ddd543447209c7ee1e2ff8b8160bec50139b70a
- pristine_git_object: 0f02272edfdbb69d0293a6ca15823737b63ef15a
+ last_write_checksum: sha1:23dfd2306732b9ea394b9cfa4f13f5f085cb714f
+ pristine_git_object: 3bddef48914f86b730061dc4a4d2890bbba4695e
docs/operations/listorganizationmembersdata.mdx:
id: d96ba08cbfe4
last_write_checksum: sha1:d947bba247f864f0420d6184495be6b26845a966
@@ -7594,8 +7602,8 @@ trackedFiles:
pristine_git_object: 5e90344f13d6f49aa9399a4fd6bc2b870b54d348
docs/sdks/observability/README.mdx:
id: 75811527e651
- last_write_checksum: sha1:8dcbcdd3a6ec358ebafd8246f0bf7bf9071c2967
- pristine_git_object: 3884960effcbf6df6d8209a716c048e265e88c5a
+ last_write_checksum: sha1:c834e9881bbbf35e230ebb5dc34e6635b68fb830
+ pristine_git_object: 16293c505cafbccaf2f3c2480417a1c3e605f009
docs/sdks/organization/README.mdx:
id: f41b85542db0
last_write_checksum: sha1:3d384483978c2c141bc145ac7bf9d8b1a4120593
@@ -7642,8 +7650,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
- last_write_checksum: sha1:7db4ebb7639dbbac84829c8de333590c35a7a444
- pristine_git_object: b61207e21f11631713adc5ed9ac893f678be8a47
+ last_write_checksum: sha1:484b32af2ac7a270429e651295fa6ca6afc6c6b4
+ pristine_git_object: abceeec2c564f38ef86627d6b14b6d9256ec60c2
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -7670,8 +7678,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
- last_write_checksum: sha1:76c3287d1ce867a3ca484ababba13c9cbfbc2252
- pristine_git_object: 96f2672085a3e8173d8d144b54c26e03594e62d9
+ last_write_checksum: sha1:9d21564f850b1b655f1479a215e37a8e5a6787e6
+ pristine_git_object: 057770285c66fb42877292b9000501977f9719ed
src/openrouter/analytics.py:
id: cb406b5aaabb
last_write_checksum: sha1:1e0004d8d1d5d797e2b54cd1cabeb7f9489d08e9
@@ -7710,8 +7718,8 @@ trackedFiles:
pristine_git_object: ad3d247954547814054c01989a2dff3d12b3e4e1
src/openrouter/components/__init__.py:
id: 81754e97b3f4
- last_write_checksum: sha1:48f205253b200de438cc1d9c620799e193ff15e2
- pristine_git_object: f1304826cbe140e5ce661b3a95832fd5c6572459
+ last_write_checksum: sha1:95c4495d8c046a9fc18dd1bf84be26231d589fab
+ pristine_git_object: 7e1f6f57e52a3c6defb09d972362c67b326b6225
src/openrouter/components/aabenchmarkentry.py:
id: e2e0f0b48c82
last_write_checksum: sha1:fab4d9a24d2cea937bb749d46c5f83941e99d65c
@@ -8442,8 +8450,8 @@ trackedFiles:
pristine_git_object: d6c4a4dc73222668daddc2a1788d314ff30e8fe6
src/openrouter/components/createobservabilitydestinationrequest.py:
id: 58587fb98a32
- last_write_checksum: sha1:73aa94c36e15c990e3f908e83ca40472087ddc55
- pristine_git_object: 07258838e652b2ca968c31002c3bb4adfb39ae66
+ last_write_checksum: sha1:e0acb6b3d5dda9f6101b69ab9048dfea1492bb73
+ pristine_git_object: a13a5ffb83c3e288d7880b855907cd5631f532d5
src/openrouter/components/createobservabilitydestinationresponse.py:
id: 9a8561661e52
last_write_checksum: sha1:730054c12ad209d5f83b88825c946fd6f322e6e9
@@ -9162,20 +9170,28 @@ trackedFiles:
pristine_git_object: 17e5e3520b488409523771b3af22cdd7947b8aa1
src/openrouter/components/observabilityarizedestination.py:
id: 8926882c1d18
- last_write_checksum: sha1:a85ef87c067e35b9523ff45a6fe9e41b88261c4e
- pristine_git_object: c5abf260ad6c6f71844eb82e14d8a69193aee82e
+ last_write_checksum: sha1:e5c24fa7decf77c16e36c88bddb0626d1b48e61c
+ pristine_git_object: ac7d28f45f6a0aa3e124df9d8d559b62dbe8e1d8
src/openrouter/components/observabilitybraintrustdestination.py:
id: 432de20d1c77
- last_write_checksum: sha1:941faf4b1d9a674e1ee8e11f6a99626415ca26ce
- pristine_git_object: 8d7def693da6dfb4344c32569d69f1137e9115f7
+ last_write_checksum: sha1:1b4ba34a241d48930f4506aefa5b7bfc7a28feff
+ pristine_git_object: 2a2090608a13fdccca9ae574ce769325cdaa8a4c
src/openrouter/components/observabilityclickhousedestination.py:
id: 0bafb43cfee3
- last_write_checksum: sha1:012ae9d144ba1265f84466dcf1bb7ba3b16d83d1
- pristine_git_object: 61d6beb89a37b76be793621dcd483333aafada39
+ last_write_checksum: sha1:a8bbf5bbb2e00bbb88c17e94447e172737c5ef7c
+ pristine_git_object: 96995a35ce5992c1165b0773e453a20d22b74871
src/openrouter/components/observabilitydatadogdestination.py:
id: 2b99c86aa089
- last_write_checksum: sha1:75c2222de977eab98cf09dae2ff29131054da82d
- pristine_git_object: fee01a534c047fd9b2ea3f4936373e86e5671dba
+ last_write_checksum: sha1:b36d32cbaec5869c32993d3369a8bbf5f6b78090
+ pristine_git_object: 15bb944425fbfd8dd224e0bc3403b03039eb5d10
+ src/openrouter/components/observabilitydataregion.py:
+ id: 1a40ef2157d4
+ last_write_checksum: sha1:ed84f83c80c2a8f488a4f517fd76245066e820fa
+ pristine_git_object: 6a2781d81b482e79ed22599936378000bd23033f
+ src/openrouter/components/observabilitydataregioninput.py:
+ id: efb939ff720d
+ last_write_checksum: sha1:c13aa0cb9f7daecc5a926c3ae6b4bf9ba7228eb0
+ pristine_git_object: 67bf6fb2c02ec68d1e21f0cf6f2b9d50466653ba
src/openrouter/components/observabilitydestination.py:
id: f02862444a3d
last_write_checksum: sha1:182ba82fb2aee3f33a975ce8eb2ef978bc0b46d2
@@ -9194,56 +9210,56 @@ trackedFiles:
pristine_git_object: 80ac61fe6a5044a15f9508a12a746b01085a558d
src/openrouter/components/observabilitygrafanadestination.py:
id: 36c8f26bcf6f
- last_write_checksum: sha1:dbf4f9c180232602f73252ca32b683e3088ed2f7
- pristine_git_object: c132c9aa087cb43f1b6c2ef2890d14e0d8a9195c
+ last_write_checksum: sha1:5121ec0a9c038839ccb399961d98a9864ed039ad
+ pristine_git_object: d9cb96497a5c71532792bac0c6b647900697f2ab
src/openrouter/components/observabilitylangfusedestination.py:
id: 46cb7e3719a7
- last_write_checksum: sha1:ed3dec953ecb3b4637945a037ecc53c0cb32e338
- pristine_git_object: 1737ce962dcc5fbb10178fbb935fcfa978721cad
+ last_write_checksum: sha1:2ffb4e803a9635a70d332253bca72659f1714e7c
+ pristine_git_object: 8c87ba9928b1f756dcde2c143e50d7b502748b01
src/openrouter/components/observabilitylangsmithdestination.py:
id: 90dfe215aead
- last_write_checksum: sha1:d4837b1e703024aea124676338b394ec3dd999c7
- pristine_git_object: e273ba1cf5a2423c3b901f98c2d3bcd2c79c743a
+ last_write_checksum: sha1:3112ed17e6cb88b7c61296b54b9039b5e297e3f0
+ pristine_git_object: 8abe3f213269cd30b68aa3feda5186d919b8feae
src/openrouter/components/observabilitynewrelicdestination.py:
id: 6294b06c08ec
- last_write_checksum: sha1:7919977eecbe09b11d16303cf59c04d26e133724
- pristine_git_object: e42315690c7e95345fed0180bb254c58ce62d147
+ last_write_checksum: sha1:9a004180e799bab6e844ef06c434ef47a086fa32
+ pristine_git_object: 9c2fdbc3d87fc3e5bbe6d59514f9b6d43a459de8
src/openrouter/components/observabilityopikdestination.py:
id: 404c6ff48b85
- last_write_checksum: sha1:fcada22ec084bbf10ceeb5606850da4a6cf13217
- pristine_git_object: abf3edd27037fa8c890541a304d0d1a2874cc100
+ last_write_checksum: sha1:976c25ee69c693e8411e0dcf8d47eff9e148126e
+ pristine_git_object: 21f9f4b84c98895790c6878af1f9598a7af2b501
src/openrouter/components/observabilityotelcollectordestination.py:
id: dc77f211456a
- last_write_checksum: sha1:c27bef2ac2ff6a9936ae523570dc0a211de02428
- pristine_git_object: 4a8a8a90d6971003aee6be9a7c52fb2efbff8e94
+ last_write_checksum: sha1:340ec0724399cb815e2b8ee6798ec86459c13189
+ pristine_git_object: 4bfeba2149f51b3973fb7b4803884d075267d27d
src/openrouter/components/observabilityposthogdestination.py:
id: 3a9f4942fcf9
- last_write_checksum: sha1:4213bc26545af8314ffccc2be70e1e8d51c614b9
- pristine_git_object: 5cfe0565c2b192de4565a7711166ca2d2303da5c
+ last_write_checksum: sha1:55c362d48a80a8911beebce2fce2611312aa78c1
+ pristine_git_object: 4ca4675c7ad92860052720cd72bfe3223333b74f
src/openrouter/components/observabilityrampdestination.py:
id: 8559b9e7501b
- last_write_checksum: sha1:322d6a545da4a249ac70edcdab8ce986b2b71300
- pristine_git_object: 78df4a419bc3e6e4ff3f23e5b6312758a43aa7be
+ last_write_checksum: sha1:4e19135019b63e17c7859f544155a575825211c2
+ pristine_git_object: 46783aa10a015e780debca7d530c9e6f72990a39
src/openrouter/components/observabilitys3destination.py:
id: 2022d25fe7d6
- last_write_checksum: sha1:0e27a0140ebc64f326f57324878bce0b3342bf79
- pristine_git_object: f3f839f47674fcb6f506bd5f3d443af66749840d
+ last_write_checksum: sha1:0e63a82c7e252839ce37eb8af5ad24972262a0b2
+ pristine_git_object: 6c1ef8be3e75544984003a9b8b6708e6e723207a
src/openrouter/components/observabilitysentrydestination.py:
id: d27b8b37d1f8
- last_write_checksum: sha1:10233f7d1df296cfdaaa9dc4f7c301865ffd0797
- pristine_git_object: 77c1359305a3d100447c48a937825ba6f797385a
+ last_write_checksum: sha1:46500a24d16919d7a5f104baf2c684be136280d7
+ pristine_git_object: d399e852ca35e285dc2625907c935af1af75597c
src/openrouter/components/observabilitysnowflakedestination.py:
id: 4e4136c11a0f
- last_write_checksum: sha1:a94fe17cccef92bf64332311a96b6564df36f1b0
- pristine_git_object: 077a345f0f65bd5623c85dff9d63d3811e83dea2
+ last_write_checksum: sha1:db6593e37769502e38685fb3254f8308a8de9665
+ pristine_git_object: 53b005e660d20b8097ba003275ecfd0373e80d11
src/openrouter/components/observabilityweavedestination.py:
id: 6ee5e9677e6c
- last_write_checksum: sha1:0106f8ef5183456216dd8b1afe2dfdbda2e15454
- pristine_git_object: 1fd8e8dd94d35d1da32a1584d06a882553d8c91b
+ last_write_checksum: sha1:f89b6ca0e6f05bdcd84affb8500dcb085f3a2cae
+ pristine_git_object: 41deac2556bb31e58a5b5997db25edbbb8ce50ea
src/openrouter/components/observabilitywebhookdestination.py:
id: 2f942be86581
- last_write_checksum: sha1:a1c44a1390c0f50a4f48f9dfddb177aa6ef62a1d
- pristine_git_object: 336851b5859a7550ed7c77765e537f5bf05e2e00
+ last_write_checksum: sha1:0a5f802f5b421c434e4866ed6f5cf35587563c6b
+ pristine_git_object: 4b30b650047dce401259616532a6cf9a27cf799b
src/openrouter/components/openaifile.py:
id: fd021f0cb031
last_write_checksum: sha1:b44d0b18a4c9b119382e224786191e8d5c49960b
@@ -10110,8 +10126,8 @@ trackedFiles:
pristine_git_object: df833960211cc7ed2a2a42fddbeafda0092e1c0c
src/openrouter/components/updateobservabilitydestinationrequest.py:
id: d7a39fe04386
- last_write_checksum: sha1:401e5b576f8631d08e0592b6f9af9eab602c78d4
- pristine_git_object: 2a17255000032e895ba9dc65917aa17c0f5ccef8
+ last_write_checksum: sha1:47d6d5c3b92103b9544a97475598b400afc6a6a7
+ pristine_git_object: 27ee1a2e485c9501db0adc25c77f8410449019ea
src/openrouter/components/updateobservabilitydestinationresponse.py:
id: 187c51d2b3a4
last_write_checksum: sha1:cadc62b37feddb4281e471d15627a9a1bef32cb1
@@ -10406,8 +10422,8 @@ trackedFiles:
pristine_git_object: 67a8110158546a5f1ea311e63ef8d5fc1837f70b
src/openrouter/observability.py:
id: 6a17f32d3f33
- last_write_checksum: sha1:cfa8495534fa7d219e42cc4a2425417738279b85
- pristine_git_object: 5c553b76ab24d9eaef51c3bf6d85aa74391e335e
+ last_write_checksum: sha1:5ce75ba2b1beb3f44ff94ef9d2dee0e59debc0ba
+ pristine_git_object: 8680343bbc90107ae6413bd5686012b1fd75d665
src/openrouter/operations/__init__.py:
id: 9afcea1e7161
last_write_checksum: sha1:534f35479d3f763b301b02511da7c8211209b70e
@@ -11947,7 +11963,7 @@ examples:
limit: 50
responses:
"200":
- application/json: {"data": [{"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}], "total_count": 1}
+ application/json: {"data": [{"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "regions": ["global"], "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}], "total_count": 1}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"500":
@@ -11960,7 +11976,7 @@ examples:
application/json: {"broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "enabled": true, "name": "Production Langfuse", "privacy_mode": false, "type": "langfuse"}
responses:
"201":
- application/json: {"data": {"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}}
+ application/json: {"data": {"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "regions": ["global"], "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
@@ -11992,7 +12008,7 @@ examples:
id: "99999999-aaaa-bbbb-cccc-dddddddddddd"
responses:
"200":
- application/json: {"data": {"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}}
+ application/json: {"data": {"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "regions": ["global"], "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}}
"401":
application/json: {"error": {"code": 401, "message": "Missing Authentication header"}}
"404":
@@ -12008,7 +12024,7 @@ examples:
application/json: {}
responses:
"200":
- application/json: {"data": {"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}}
+ application/json: {"data": {"api_key_hashes": null, "broadcast_generation_cost": false, "broadcast_generation_identity": false, "broadcast_generation_request_context": false, "config": {"baseUrl": "https://us.cloud.langfuse.com", "publicKey": "pk-l...EfGh", "secretKey": "sk-l...AbCd"}, "created_at": "2025-08-24T10:30:00Z", "enabled": true, "filter_rules": null, "id": "99999999-aaaa-bbbb-cccc-dddddddddddd", "name": "Production Langfuse", "privacy_mode": false, "regions": ["global"], "sampling_rate": 1, "type": "langfuse", "updated_at": "2025-08-24T15:45:00Z", "workspace_id": "550e8400-e29b-41d4-a716-446655440000"}}
"400":
application/json: {"error": {"code": 400, "message": "Invalid request parameters"}}
"401":
@@ -12870,3 +12886,4 @@ examples:
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
examplesVersion: 1.0.2
+releaseNotes: "## Python SDK Changes:\n* `open_router.observability.list()`: `response.data[]` **Changed**\n* `open_router.observability.create()`: \n * `request.regions` **Added**\n * `response.data` **Changed**\n* `open_router.observability.get()`: `response.data` **Changed**\n* `open_router.observability.update()`: \n * `request.regions` **Added**\n * `response.data` **Changed**\n"
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 903433a0..bdb2994c 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
- version: 1.1.126
+ version: 1.1.127
additionalDependencies:
dev: {}
main: {}
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 0a396669..b9e88e47 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -7707,6 +7707,16 @@ components:
description: 'When true, request/response bodies are not forwarded — only metadata.'
example: false
type: 'boolean'
+ regions:
+ default:
+ - 'global'
+ description: 'Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to [''global'']; the array must be non-empty.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegionInput'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -7762,6 +7772,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -10154,6 +10166,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -12342,6 +12356,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -15321,6 +15337,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Arize'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'arize'
updated_at: '2025-08-24T15:45:00Z'
@@ -15396,6 +15414,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -15417,6 +15443,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -15447,6 +15474,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Braintrust'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'braintrust'
updated_at: '2025-08-24T15:45:00Z'
@@ -15517,6 +15546,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -15538,6 +15575,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -15570,6 +15608,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production ClickHouse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'clickhouse'
updated_at: '2025-08-24T15:45:00Z'
@@ -15649,6 +15689,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -15670,6 +15718,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -15700,6 +15749,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Datadog'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'datadog'
updated_at: '2025-08-24T15:45:00Z'
@@ -15773,6 +15824,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -15794,6 +15853,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -15808,6 +15868,24 @@ components:
- 'type'
- 'config'
type: 'object'
+ ObservabilityDataRegion:
+ enum:
+ - 'global'
+ - 'europe'
+ - 'us'
+ example: 'global'
+ type: 'string'
+ x-speakeasy-unknown-values: allow
+ ObservabilityDataRegionInput:
+ description: '`eu` is accepted as an alias for `europe` and normalizes to `europe`.'
+ enum:
+ - 'global'
+ - 'europe'
+ - 'us'
+ - 'eu'
+ example: 'global'
+ type: 'string'
+ x-speakeasy-unknown-values: allow
ObservabilityDestination:
discriminator:
mapping:
@@ -15844,6 +15922,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -15977,6 +16057,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Grafana'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'grafana'
updated_at: '2025-08-24T15:45:00Z'
@@ -16047,6 +16129,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16068,6 +16158,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16098,6 +16189,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -16168,6 +16261,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16189,6 +16290,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16219,6 +16321,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production LangSmith'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langsmith'
updated_at: '2025-08-24T15:45:00Z'
@@ -16293,6 +16397,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16314,6 +16426,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16343,6 +16456,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production New Relic'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'newrelic'
updated_at: '2025-08-24T15:45:00Z'
@@ -16413,6 +16528,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16434,6 +16557,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16464,6 +16588,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Opik'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'opik'
updated_at: '2025-08-24T15:45:00Z'
@@ -16535,6 +16661,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16556,6 +16690,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16584,6 +16719,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production OTel Collector'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'otel-collector'
updated_at: '2025-08-24T15:45:00Z'
@@ -16646,6 +16783,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16667,6 +16812,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16696,6 +16842,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production PostHog'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'posthog'
updated_at: '2025-08-24T15:45:00Z'
@@ -16762,6 +16910,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16783,6 +16939,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16812,6 +16969,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Ramp'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'ramp'
updated_at: '2025-08-24T15:45:00Z'
@@ -16879,6 +17038,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -16900,6 +17067,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -16930,6 +17098,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production S3'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 's3'
updated_at: '2025-08-24T15:45:00Z'
@@ -17016,6 +17186,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -17037,6 +17215,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -17066,6 +17245,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Sentry'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'sentry'
updated_at: '2025-08-24T15:45:00Z'
@@ -17133,6 +17314,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -17154,6 +17343,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -17183,6 +17373,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Snowflake'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'snowflake'
updated_at: '2025-08-24T15:45:00Z'
@@ -17264,6 +17456,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -17285,6 +17485,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -17316,6 +17517,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Weave'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'weave'
updated_at: '2025-08-24T15:45:00Z'
@@ -17390,6 +17593,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -17411,6 +17622,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -17439,6 +17651,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Webhook'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'webhook'
updated_at: '2025-08-24T15:45:00Z'
@@ -17507,6 +17721,14 @@ components:
description: 'When true, request/response bodies are not forwarded to this destination — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegion'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -17528,6 +17750,7 @@ components:
required:
- 'id'
- 'workspace_id'
+ - 'regions'
- 'name'
- 'enabled'
- 'privacy_mode'
@@ -26544,6 +26767,14 @@ components:
description: 'When true, request/response bodies are not forwarded — only metadata.'
example: false
type: 'boolean'
+ regions:
+ description: 'Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared.'
+ example:
+ - 'global'
+ items:
+ $ref: '#/components/schemas/ObservabilityDataRegionInput'
+ minItems: 1
+ type: 'array'
sampling_rate:
description: 'Sampling rate between 0.0001 and 1 (1 = 100%).'
example: 1
@@ -26567,6 +26798,8 @@ components:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -37142,6 +37375,8 @@ paths:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -37231,6 +37466,8 @@ paths:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -37386,6 +37623,8 @@ paths:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
@@ -37469,6 +37708,8 @@ paths:
id: '99999999-aaaa-bbbb-cccc-dddddddddddd'
name: 'Production Langfuse'
privacy_mode: false
+ regions:
+ - 'global'
sampling_rate: 1
type: 'langfuse'
updated_at: '2025-08-24T15:45:00Z'
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index b7292613..9ee56215 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:359e29756fe670f1e04f2775a2ee1814e2141728d767fba72744fb59a73ce9d5
- sourceBlobDigest: sha256:0c6bdbbcf39f2eb7cb18ec81018ec47ca8ba285848184a06f803d46be51f8229
+ sourceRevisionDigest: sha256:1c551d0b84d26e924c5452f814262557c0a96e368cba620cdcf637ceecfce526
+ sourceBlobDigest: sha256:091a46fd737e7eaf85cd6402ec86d2106a2a753bee9cacdc64fde4523e736dc6
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:359e29756fe670f1e04f2775a2ee1814e2141728d767fba72744fb59a73ce9d5
- sourceBlobDigest: sha256:0c6bdbbcf39f2eb7cb18ec81018ec47ca8ba285848184a06f803d46be51f8229
+ sourceRevisionDigest: sha256:1c551d0b84d26e924c5452f814262557c0a96e368cba620cdcf637ceecfce526
+ sourceBlobDigest: sha256:091a46fd737e7eaf85cd6402ec86d2106a2a753bee9cacdc64fde4523e736dc6
codeSamplesNamespace: open-router-python-code-samples
- codeSamplesRevisionDigest: sha256:2cd6a99013481706110a6e2723554ce8fece2ca5ce657d8f69626c6c3e67b569
+ codeSamplesRevisionDigest: sha256:cb133efca89db688166250836546ee48a832b57f77cd1559fec479ef9fe1083f
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
diff --git a/RELEASES.md b/RELEASES.md
index 118053c2..55ac4d04 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -2049,4 +2049,14 @@ Based on:
### Generated
- [python v1.1.126] .
### Releases
-- [PyPI v1.1.126] https://pypi.org/project/openrouter/1.1.126 - .
\ No newline at end of file
+- [PyPI v1.1.126] https://pypi.org/project/openrouter/1.1.126 - .
+
+## 2026-09-05 22:02:25
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v1.1.127] .
+### Releases
+- [PyPI v1.1.127] https://pypi.org/project/openrouter/1.1.127 - .
\ No newline at end of file
diff --git a/docs/components/createobservabilitydestinationrequest.mdx b/docs/components/createobservabilitydestinationrequest.mdx
index d5091906..aa5a574f 100644
--- a/docs/components/createobservabilitydestinationrequest.mdx
+++ b/docs/components/createobservabilitydestinationrequest.mdx
@@ -4,17 +4,18 @@ title: "CreateObservabilityDestinationRequest"
## Fields
-| Field | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
-| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | When true, include cost and billing generation metadata. | false |
-| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | When true, include identity generation metadata. | false |
-| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | When true, include request-context generation metadata. | false |
-| `config` | Dict[str, *Any*] | :heavy_check_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
-| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this destination should be enabled immediately. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
-| `name` | *str* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
-| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
-| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.CreateObservabilityDestinationRequestType](../components/createobservabilitydestinationrequesttype.mdx) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
-| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
+| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | When true, include cost and billing generation metadata. | false |
+| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | When true, include identity generation metadata. | false |
+| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | When true, include request-context generation metadata. | false |
+| `config` | Dict[str, *Any*] | :heavy_check_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
+| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this destination should be enabled immediately. | true |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
+| `name` | *str* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
+| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegionInput](../components/observabilitydataregioninput.mdx)] | :heavy_minus_sign: | Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to ['global']; the array must be non-empty. | [
"global"
] |
+| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
+| `type` | [components.CreateObservabilityDestinationRequestType](../components/createobservabilitydestinationrequesttype.mdx) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
+| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/createobservabilitydestinationresponse.mdx b/docs/components/createobservabilitydestinationresponse.mdx
index 11ab48b3..47ed5818 100644
--- a/docs/components/createobservabilitydestinationresponse.mdx
+++ b/docs/components/createobservabilitydestinationresponse.mdx
@@ -4,6 +4,6 @@ title: "CreateObservabilityDestinationResponse"
## Fields
-| Field | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"regions": [
"global"
],
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/getobservabilitydestinationresponse.mdx b/docs/components/getobservabilitydestinationresponse.mdx
index 15510e98..364e0540 100644
--- a/docs/components/getobservabilitydestinationresponse.mdx
+++ b/docs/components/getobservabilitydestinationresponse.mdx
@@ -4,6 +4,6 @@ title: "GetObservabilityDestinationResponse"
## Fields
-| Field | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"regions": [
"global"
],
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/observabilityarizedestination.mdx b/docs/components/observabilityarizedestination.mdx
index f7dfaeeb..a544b841 100644
--- a/docs/components/observabilityarizedestination.mdx
+++ b/docs/components/observabilityarizedestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityArizeDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityArizeDestinationType](../components/observabilityarizedestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitybraintrustdestination.mdx b/docs/components/observabilitybraintrustdestination.mdx
index f569b94a..3f654334 100644
--- a/docs/components/observabilitybraintrustdestination.mdx
+++ b/docs/components/observabilitybraintrustdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityBraintrustDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityBraintrustDestinationType](../components/observabilitybraintrustdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilityclickhousedestination.mdx b/docs/components/observabilityclickhousedestination.mdx
index 897e5e38..06bb6951 100644
--- a/docs/components/observabilityclickhousedestination.mdx
+++ b/docs/components/observabilityclickhousedestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityClickhouseDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityClickhouseDestinationType](../components/observabilityclickhousedestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitydatadogdestination.mdx b/docs/components/observabilitydatadogdestination.mdx
index 1df35546..6a83d3ce 100644
--- a/docs/components/observabilitydatadogdestination.mdx
+++ b/docs/components/observabilitydatadogdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityDatadogDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityDatadogDestinationType](../components/observabilitydatadogdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitydataregion.mdx b/docs/components/observabilitydataregion.mdx
new file mode 100644
index 00000000..454e7239
--- /dev/null
+++ b/docs/components/observabilitydataregion.mdx
@@ -0,0 +1,21 @@
+---
+title: "ObservabilityDataRegion"
+---
+
+## Example Usage
+
+```python
+from openrouter.components import ObservabilityDataRegion
+
+# Open enum: unrecognized values are captured as UnrecognizedStr
+value: ObservabilityDataRegion = "global"
+```
+
+
+## Values
+
+This is an open enum. Unrecognized values will not fail type checks.
+
+- `"global"`
+- `"europe"`
+- `"us"`
diff --git a/docs/components/observabilitydataregioninput.mdx b/docs/components/observabilitydataregioninput.mdx
new file mode 100644
index 00000000..5db8fe41
--- /dev/null
+++ b/docs/components/observabilitydataregioninput.mdx
@@ -0,0 +1,24 @@
+---
+title: "ObservabilityDataRegionInput"
+---
+
+`eu` is accepted as an alias for `europe` and normalizes to `europe`.
+
+## Example Usage
+
+```python
+from openrouter.components import ObservabilityDataRegionInput
+
+# Open enum: unrecognized values are captured as UnrecognizedStr
+value: ObservabilityDataRegionInput = "global"
+```
+
+
+## Values
+
+This is an open enum. Unrecognized values will not fail type checks.
+
+- `"global"`
+- `"europe"`
+- `"us"`
+- `"eu"`
diff --git a/docs/components/observabilitygrafanadestination.mdx b/docs/components/observabilitygrafanadestination.mdx
index f1a902be..e501c1f8 100644
--- a/docs/components/observabilitygrafanadestination.mdx
+++ b/docs/components/observabilitygrafanadestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityGrafanaDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityGrafanaDestinationType](../components/observabilitygrafanadestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitylangfusedestination.mdx b/docs/components/observabilitylangfusedestination.mdx
index 47c89946..e2d69cf3 100644
--- a/docs/components/observabilitylangfusedestination.mdx
+++ b/docs/components/observabilitylangfusedestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityLangfuseDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityLangfuseDestinationType](../components/observabilitylangfusedestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitylangsmithdestination.mdx b/docs/components/observabilitylangsmithdestination.mdx
index 0d5a6498..e5114d4a 100644
--- a/docs/components/observabilitylangsmithdestination.mdx
+++ b/docs/components/observabilitylangsmithdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityLangsmithDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityLangsmithDestinationType](../components/observabilitylangsmithdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitynewrelicdestination.mdx b/docs/components/observabilitynewrelicdestination.mdx
index 7fb48f53..a95737df 100644
--- a/docs/components/observabilitynewrelicdestination.mdx
+++ b/docs/components/observabilitynewrelicdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityNewrelicDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityNewrelicDestinationType](../components/observabilitynewrelicdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilityopikdestination.mdx b/docs/components/observabilityopikdestination.mdx
index 559de2d1..cdf26b6c 100644
--- a/docs/components/observabilityopikdestination.mdx
+++ b/docs/components/observabilityopikdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityOpikDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityOpikDestinationType](../components/observabilityopikdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilityotelcollectordestination.mdx b/docs/components/observabilityotelcollectordestination.mdx
index bd1a83b8..95b4bd7b 100644
--- a/docs/components/observabilityotelcollectordestination.mdx
+++ b/docs/components/observabilityotelcollectordestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityOtelCollectorDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityOtelCollectorDestinationType](../components/observabilityotelcollectordestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilityposthogdestination.mdx b/docs/components/observabilityposthogdestination.mdx
index 7e0644b0..c3d4121e 100644
--- a/docs/components/observabilityposthogdestination.mdx
+++ b/docs/components/observabilityposthogdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityPosthogDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityPosthogDestinationType](../components/observabilityposthogdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilityrampdestination.mdx b/docs/components/observabilityrampdestination.mdx
index fbc07a12..84e0fea6 100644
--- a/docs/components/observabilityrampdestination.mdx
+++ b/docs/components/observabilityrampdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityRampDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityRampDestinationType](../components/observabilityrampdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitys3destination.mdx b/docs/components/observabilitys3destination.mdx
index 9fc291ed..648c00ec 100644
--- a/docs/components/observabilitys3destination.mdx
+++ b/docs/components/observabilitys3destination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityS3Destination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityS3DestinationType](../components/observabilitys3destinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitysentrydestination.mdx b/docs/components/observabilitysentrydestination.mdx
index 029bbf4a..8143111a 100644
--- a/docs/components/observabilitysentrydestination.mdx
+++ b/docs/components/observabilitysentrydestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilitySentryDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilitySentryDestinationType](../components/observabilitysentrydestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitysnowflakedestination.mdx b/docs/components/observabilitysnowflakedestination.mdx
index 52ae7536..712283b4 100644
--- a/docs/components/observabilitysnowflakedestination.mdx
+++ b/docs/components/observabilitysnowflakedestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilitySnowflakeDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilitySnowflakeDestinationType](../components/observabilitysnowflakedestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilityweavedestination.mdx b/docs/components/observabilityweavedestination.mdx
index be84eb7b..418f8c17 100644
--- a/docs/components/observabilityweavedestination.mdx
+++ b/docs/components/observabilityweavedestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityWeaveDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityWeaveDestinationType](../components/observabilityweavedestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/observabilitywebhookdestination.mdx b/docs/components/observabilitywebhookdestination.mdx
index dce0e333..ba03c19f 100644
--- a/docs/components/observabilitywebhookdestination.mdx
+++ b/docs/components/observabilitywebhookdestination.mdx
@@ -17,6 +17,7 @@ title: "ObservabilityWebhookDestination"
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegion](../components/observabilitydataregion.mdx)] | :heavy_check_mark: | Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region. | [
"global"
] |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
| `type` | [components.ObservabilityWebhookDestinationType](../components/observabilitywebhookdestinationtype.mdx) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
diff --git a/docs/components/updateobservabilitydestinationrequest.mdx b/docs/components/updateobservabilitydestinationrequest.mdx
index 3ec5c281..64d0f95c 100644
--- a/docs/components/updateobservabilitydestinationrequest.mdx
+++ b/docs/components/updateobservabilitydestinationrequest.mdx
@@ -4,15 +4,16 @@ title: "UpdateObservabilityDestinationRequest"
## Fields
-| Field | Type | Required | Description | Example |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided. | null |
-| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | Whether to include cost and billing generation metadata. | false |
-| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | Whether to include identity generation metadata. | false |
-| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | Whether to include request-context generation metadata. | false |
-| `config` | Dict[str, *Any*] | :heavy_minus_sign: | Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
-| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the destination is enabled. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | N/A | null |
-| `name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for the destination. | Production Langfuse |
-| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
-| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided. | null |
+| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | Whether to include cost and billing generation metadata. | false |
+| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | Whether to include identity generation metadata. | false |
+| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | Whether to include request-context generation metadata. | false |
+| `config` | Dict[str, *Any*] | :heavy_minus_sign: | Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
+| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the destination is enabled. | true |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | N/A | null |
+| `name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for the destination. | Production Langfuse |
+| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegionInput](../components/observabilitydataregioninput.mdx)] | :heavy_minus_sign: | Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared. | [
"global"
] |
+| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
\ No newline at end of file
diff --git a/docs/components/updateobservabilitydestinationresponse.mdx b/docs/components/updateobservabilitydestinationresponse.mdx
index d3f4360e..f45af37c 100644
--- a/docs/components/updateobservabilitydestinationresponse.mdx
+++ b/docs/components/updateobservabilitydestinationresponse.mdx
@@ -4,6 +4,6 @@ title: "UpdateObservabilityDestinationResponse"
## Fields
-| Field | Type | Required | Description | Example |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"regions": [
"global"
],
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/operations/listobservabilitydestinationsresponse.mdx b/docs/operations/listobservabilitydestinationsresponse.mdx
index 0f02272e..3bddef48 100644
--- a/docs/operations/listobservabilitydestinationsresponse.mdx
+++ b/docs/operations/listobservabilitydestinationsresponse.mdx
@@ -4,6 +4,6 @@ title: "ListObservabilityDestinationsResponse"
## Fields
-| Field | Type | Required | Description | Example |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListObservabilityDestinationsResponse](../components/listobservabilitydestinationsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `result` | [components.ListObservabilityDestinationsResponse](../components/listobservabilitydestinationsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"api_key_hashes": null,
"broadcast_generation_cost": false,
"broadcast_generation_identity": false,
"broadcast_generation_request_context": false,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"regions": [
"global"
],
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/sdks/observability/README.mdx b/docs/sdks/observability/README.mdx
index 3884960e..16293c50 100644
--- a/docs/sdks/observability/README.mdx
+++ b/docs/sdks/observability/README.mdx
@@ -98,24 +98,25 @@ with OpenRouter(
### Parameters
-| Parameter | Type | Required | Description | Example |
-| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `config` | Dict[str, *Any*] | :heavy_check_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
-| `name` | *str* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
-| `type` | [components.CreateObservabilityDestinationRequestType](../../components/createobservabilitydestinationrequesttype.mdx) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
-| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
-| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
-| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
-| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | When true, include cost and billing generation metadata. | false |
-| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | When true, include identity generation metadata. | false |
-| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | When true, include request-context generation metadata. | false |
-| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this destination should be enabled immediately. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
-| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
-| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
-| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| Parameter | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `config` | Dict[str, *Any*] | :heavy_check_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
+| `name` | *str* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
+| `type` | [components.CreateObservabilityDestinationRequestType](../../components/createobservabilitydestinationrequesttype.mdx) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
+| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
+| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
+| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
+| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
+| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | When true, include cost and billing generation metadata. | false |
+| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | When true, include identity generation metadata. | false |
+| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | When true, include request-context generation metadata. | false |
+| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this destination should be enabled immediately. | true |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
+| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegionInput](../../components/observabilitydataregioninput.mdx)] | :heavy_minus_sign: | Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to ['global']; the array must be non-empty. | [
"global"
] |
+| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
+| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
@@ -255,23 +256,24 @@ with OpenRouter(
### Parameters
-| Parameter | Type | Required | Description | Example |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `id` | *str* | :heavy_check_mark: | The destination ID (UUID). | 99999999-aaaa-bbbb-cccc-dddddddddddd |
-| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
-| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
-| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided. | null |
-| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | Whether to include cost and billing generation metadata. | false |
-| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | Whether to include identity generation metadata. | false |
-| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | Whether to include request-context generation metadata. | false |
-| `config` | Dict[str, *Any*] | :heavy_minus_sign: | Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
-| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the destination is enabled. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | N/A | null |
-| `name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for the destination. | Production Langfuse |
-| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
-| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| Parameter | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `id` | *str* | :heavy_check_mark: | The destination ID (UUID). | 99999999-aaaa-bbbb-cccc-dddddddddddd |
+| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
+| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
+| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
+| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided. | null |
+| `broadcast_generation_cost` | *Optional[bool]* | :heavy_minus_sign: | Whether to include cost and billing generation metadata. | false |
+| `broadcast_generation_identity` | *Optional[bool]* | :heavy_minus_sign: | Whether to include identity generation metadata. | false |
+| `broadcast_generation_request_context` | *Optional[bool]* | :heavy_minus_sign: | Whether to include request-context generation metadata. | false |
+| `config` | Dict[str, *Any*] | :heavy_minus_sign: | Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
+| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the destination is enabled. | true |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | N/A | null |
+| `name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for the destination. | Production Langfuse |
+| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
+| `regions` | List[[components.ObservabilityDataRegionInput](../../components/observabilitydataregioninput.mdx)] | :heavy_minus_sign: | Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared. | [
"global"
] |
+| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
diff --git a/pyproject.toml b/pyproject.toml
index b61207e2..abceeec2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
-version = "1.1.126"
+version = "1.1.127"
description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md"
diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py
index 96f26720..05777028 100644
--- a/src/openrouter/_version.py
+++ b/src/openrouter/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "openrouter"
-__version__: str = "1.1.126"
+__version__: str = "1.1.127"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
-__user_agent__: str = "speakeasy-sdk/python 1.1.126 2.914.0 1.0.0 openrouter"
+__user_agent__: str = "speakeasy-sdk/python 1.1.127 2.914.0 1.0.0 openrouter"
try:
if __package__ is not None:
diff --git a/src/openrouter/components/__init__.py b/src/openrouter/components/__init__.py
index f1304826..7e1f6f57 100644
--- a/src/openrouter/components/__init__.py
+++ b/src/openrouter/components/__init__.py
@@ -1937,6 +1937,8 @@
ObservabilityDatadogDestinationType,
ObservabilityDatadogDestinationTypedDict,
)
+ from .observabilitydataregion import ObservabilityDataRegion
+ from .observabilitydataregioninput import ObservabilityDataRegionInput
from .observabilitydestination import (
ObservabilityDestination,
ObservabilityDestinationTypedDict,
@@ -4590,6 +4592,8 @@
"ObservabilityClickhouseDestinationConfigTypedDict",
"ObservabilityClickhouseDestinationType",
"ObservabilityClickhouseDestinationTypedDict",
+ "ObservabilityDataRegion",
+ "ObservabilityDataRegionInput",
"ObservabilityDatadogDestination",
"ObservabilityDatadogDestinationConfig",
"ObservabilityDatadogDestinationConfigTypedDict",
@@ -7073,6 +7077,8 @@
"ObservabilityDatadogDestinationConfigTypedDict": ".observabilitydatadogdestination",
"ObservabilityDatadogDestinationType": ".observabilitydatadogdestination",
"ObservabilityDatadogDestinationTypedDict": ".observabilitydatadogdestination",
+ "ObservabilityDataRegion": ".observabilitydataregion",
+ "ObservabilityDataRegionInput": ".observabilitydataregioninput",
"ObservabilityDestination": ".observabilitydestination",
"ObservabilityDestinationTypedDict": ".observabilitydestination",
"UnknownObservabilityDestination": ".observabilitydestination",
diff --git a/src/openrouter/components/createobservabilitydestinationrequest.py b/src/openrouter/components/createobservabilitydestinationrequest.py
index 07258838..a13a5ffb 100644
--- a/src/openrouter/components/createobservabilitydestinationrequest.py
+++ b/src/openrouter/components/createobservabilitydestinationrequest.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregioninput import ObservabilityDataRegionInput
from .observabilityfilterrulesconfignullable import (
ObservabilityFilterRulesConfigNullable,
ObservabilityFilterRulesConfigNullableTypedDict,
@@ -64,6 +65,8 @@ class CreateObservabilityDestinationRequestTypedDict(TypedDict):
r"""Optional structured filter rules controlling which events are forwarded."""
privacy_mode: NotRequired[bool]
r"""When true, request/response bodies are not forwarded — only metadata."""
+ regions: NotRequired[List[ObservabilityDataRegionInput]]
+ r"""Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to ['global']; the array must be non-empty."""
sampling_rate: NotRequired[float]
r"""Sampling rate between 0.0001 and 1 (1 = 100%)."""
workspace_id: NotRequired[str]
@@ -101,6 +104,9 @@ class CreateObservabilityDestinationRequest(BaseModel):
privacy_mode: Optional[bool] = False
r"""When true, request/response bodies are not forwarded — only metadata."""
+ regions: Optional[List[ObservabilityDataRegionInput]] = None
+ r"""Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to ['global']; the array must be non-empty."""
+
sampling_rate: Optional[float] = None
r"""Sampling rate between 0.0001 and 1 (1 = 100%)."""
@@ -118,6 +124,7 @@ def serialize_model(self, handler):
"enabled",
"filter_rules",
"privacy_mode",
+ "regions",
"sampling_rate",
"workspace_id",
]
diff --git a/src/openrouter/components/observabilityarizedestination.py b/src/openrouter/components/observabilityarizedestination.py
index c5abf260..ac7d28f4 100644
--- a/src/openrouter/components/observabilityarizedestination.py
+++ b/src/openrouter/components/observabilityarizedestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -79,6 +80,8 @@ class ObservabilityArizeDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityArizeDestinationType
@@ -121,6 +124,9 @@ class ObservabilityArizeDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitybraintrustdestination.py b/src/openrouter/components/observabilitybraintrustdestination.py
index 8d7def69..2a209060 100644
--- a/src/openrouter/components/observabilitybraintrustdestination.py
+++ b/src/openrouter/components/observabilitybraintrustdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -74,6 +75,8 @@ class ObservabilityBraintrustDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityBraintrustDestinationType
@@ -116,6 +119,9 @@ class ObservabilityBraintrustDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilityclickhousedestination.py b/src/openrouter/components/observabilityclickhousedestination.py
index 61d6beb8..96995a35 100644
--- a/src/openrouter/components/observabilityclickhousedestination.py
+++ b/src/openrouter/components/observabilityclickhousedestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -79,6 +80,8 @@ class ObservabilityClickhouseDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityClickhouseDestinationType
@@ -121,6 +124,9 @@ class ObservabilityClickhouseDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitydatadogdestination.py b/src/openrouter/components/observabilitydatadogdestination.py
index fee01a53..15bb9444 100644
--- a/src/openrouter/components/observabilitydatadogdestination.py
+++ b/src/openrouter/components/observabilitydatadogdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -78,6 +79,8 @@ class ObservabilityDatadogDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityDatadogDestinationType
@@ -120,6 +123,9 @@ class ObservabilityDatadogDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitydataregion.py b/src/openrouter/components/observabilitydataregion.py
new file mode 100644
index 00000000..6a2781d8
--- /dev/null
+++ b/src/openrouter/components/observabilitydataregion.py
@@ -0,0 +1,15 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from openrouter.types import UnrecognizedStr
+from typing import Literal, Union
+
+
+ObservabilityDataRegion = Union[
+ Literal[
+ "global",
+ "europe",
+ "us",
+ ],
+ UnrecognizedStr,
+]
diff --git a/src/openrouter/components/observabilitydataregioninput.py b/src/openrouter/components/observabilitydataregioninput.py
new file mode 100644
index 00000000..67bf6fb2
--- /dev/null
+++ b/src/openrouter/components/observabilitydataregioninput.py
@@ -0,0 +1,17 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from __future__ import annotations
+from openrouter.types import UnrecognizedStr
+from typing import Literal, Union
+
+
+ObservabilityDataRegionInput = Union[
+ Literal[
+ "global",
+ "europe",
+ "us",
+ "eu",
+ ],
+ UnrecognizedStr,
+]
+r"""`eu` is accepted as an alias for `europe` and normalizes to `europe`."""
diff --git a/src/openrouter/components/observabilitygrafanadestination.py b/src/openrouter/components/observabilitygrafanadestination.py
index c132c9aa..d9cb9649 100644
--- a/src/openrouter/components/observabilitygrafanadestination.py
+++ b/src/openrouter/components/observabilitygrafanadestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -74,6 +75,8 @@ class ObservabilityGrafanaDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityGrafanaDestinationType
@@ -116,6 +119,9 @@ class ObservabilityGrafanaDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitylangfusedestination.py b/src/openrouter/components/observabilitylangfusedestination.py
index 1737ce96..8c87ba99 100644
--- a/src/openrouter/components/observabilitylangfusedestination.py
+++ b/src/openrouter/components/observabilitylangfusedestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -74,6 +75,8 @@ class ObservabilityLangfuseDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityLangfuseDestinationType
@@ -116,6 +119,9 @@ class ObservabilityLangfuseDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitylangsmithdestination.py b/src/openrouter/components/observabilitylangsmithdestination.py
index e273ba1c..8abe3f21 100644
--- a/src/openrouter/components/observabilitylangsmithdestination.py
+++ b/src/openrouter/components/observabilitylangsmithdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -79,6 +80,8 @@ class ObservabilityLangsmithDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityLangsmithDestinationType
@@ -121,6 +124,9 @@ class ObservabilityLangsmithDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitynewrelicdestination.py b/src/openrouter/components/observabilitynewrelicdestination.py
index e4231569..9c2fdbc3 100644
--- a/src/openrouter/components/observabilitynewrelicdestination.py
+++ b/src/openrouter/components/observabilitynewrelicdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -78,6 +79,8 @@ class ObservabilityNewrelicDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityNewrelicDestinationType
@@ -120,6 +123,9 @@ class ObservabilityNewrelicDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilityopikdestination.py b/src/openrouter/components/observabilityopikdestination.py
index abf3edd2..21f9f4b8 100644
--- a/src/openrouter/components/observabilityopikdestination.py
+++ b/src/openrouter/components/observabilityopikdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -72,6 +73,8 @@ class ObservabilityOpikDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityOpikDestinationType
@@ -114,6 +117,9 @@ class ObservabilityOpikDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilityotelcollectordestination.py b/src/openrouter/components/observabilityotelcollectordestination.py
index 4a8a8a90..4bfeba21 100644
--- a/src/openrouter/components/observabilityotelcollectordestination.py
+++ b/src/openrouter/components/observabilityotelcollectordestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -65,6 +66,8 @@ class ObservabilityOtelCollectorDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityOtelCollectorDestinationType
@@ -107,6 +110,9 @@ class ObservabilityOtelCollectorDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilityposthogdestination.py b/src/openrouter/components/observabilityposthogdestination.py
index 5cfe0565..4ca4675c 100644
--- a/src/openrouter/components/observabilityposthogdestination.py
+++ b/src/openrouter/components/observabilityposthogdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -69,6 +70,8 @@ class ObservabilityPosthogDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityPosthogDestinationType
@@ -111,6 +114,9 @@ class ObservabilityPosthogDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilityrampdestination.py b/src/openrouter/components/observabilityrampdestination.py
index 78df4a41..46783aa1 100644
--- a/src/openrouter/components/observabilityrampdestination.py
+++ b/src/openrouter/components/observabilityrampdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -73,6 +74,8 @@ class ObservabilityRampDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityRampDestinationType
@@ -115,6 +118,9 @@ class ObservabilityRampDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitys3destination.py b/src/openrouter/components/observabilitys3destination.py
index f3f839f4..6c1ef8be 100644
--- a/src/openrouter/components/observabilitys3destination.py
+++ b/src/openrouter/components/observabilitys3destination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -95,6 +96,8 @@ class ObservabilityS3DestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityS3DestinationType
@@ -137,6 +140,9 @@ class ObservabilityS3Destination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitysentrydestination.py b/src/openrouter/components/observabilitysentrydestination.py
index 77c13593..d399e852 100644
--- a/src/openrouter/components/observabilitysentrydestination.py
+++ b/src/openrouter/components/observabilitysentrydestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -69,6 +70,8 @@ class ObservabilitySentryDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilitySentryDestinationType
@@ -111,6 +114,9 @@ class ObservabilitySentryDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitysnowflakedestination.py b/src/openrouter/components/observabilitysnowflakedestination.py
index 077a345f..53b005e6 100644
--- a/src/openrouter/components/observabilitysnowflakedestination.py
+++ b/src/openrouter/components/observabilitysnowflakedestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -81,6 +82,8 @@ class ObservabilitySnowflakeDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilitySnowflakeDestinationType
@@ -123,6 +126,9 @@ class ObservabilitySnowflakeDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilityweavedestination.py b/src/openrouter/components/observabilityweavedestination.py
index 1fd8e8dd..41deac25 100644
--- a/src/openrouter/components/observabilityweavedestination.py
+++ b/src/openrouter/components/observabilityweavedestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -77,6 +78,8 @@ class ObservabilityWeaveDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityWeaveDestinationType
@@ -119,6 +122,9 @@ class ObservabilityWeaveDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/observabilitywebhookdestination.py b/src/openrouter/components/observabilitywebhookdestination.py
index 336851b5..4b30b650 100644
--- a/src/openrouter/components/observabilitywebhookdestination.py
+++ b/src/openrouter/components/observabilitywebhookdestination.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregion import ObservabilityDataRegion
from .observabilityfilterrulesconfig import (
ObservabilityFilterRulesConfig,
ObservabilityFilterRulesConfigTypedDict,
@@ -75,6 +76,8 @@ class ObservabilityWebhookDestinationTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
type: ObservabilityWebhookDestinationType
@@ -117,6 +120,9 @@ class ObservabilityWebhookDestination(BaseModel):
privacy_mode: bool
r"""When true, request/response bodies are not forwarded to this destination — only metadata."""
+ regions: List[ObservabilityDataRegion]
+ r"""Data regions this destination applies to. Requests served in a region only fan out to destinations that include that region."""
+
sampling_rate: float
r"""Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%)."""
diff --git a/src/openrouter/components/updateobservabilitydestinationrequest.py b/src/openrouter/components/updateobservabilitydestinationrequest.py
index 2a172550..27ee1a2e 100644
--- a/src/openrouter/components/updateobservabilitydestinationrequest.py
+++ b/src/openrouter/components/updateobservabilitydestinationrequest.py
@@ -1,6 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
+from .observabilitydataregioninput import ObservabilityDataRegionInput
from .observabilityfilterrulesconfignullable import (
ObservabilityFilterRulesConfigNullable,
ObservabilityFilterRulesConfigNullableTypedDict,
@@ -35,6 +36,8 @@ class UpdateObservabilityDestinationRequestTypedDict(TypedDict):
r"""Human-readable name for the destination."""
privacy_mode: NotRequired[bool]
r"""When true, request/response bodies are not forwarded — only metadata."""
+ regions: NotRequired[List[ObservabilityDataRegionInput]]
+ r"""Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared."""
sampling_rate: NotRequired[float]
r"""Sampling rate between 0.0001 and 1 (1 = 100%)."""
@@ -66,6 +69,9 @@ class UpdateObservabilityDestinationRequest(BaseModel):
privacy_mode: Optional[bool] = None
r"""When true, request/response bodies are not forwarded — only metadata."""
+ regions: Optional[List[ObservabilityDataRegionInput]] = None
+ r"""Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared."""
+
sampling_rate: Optional[float] = None
r"""Sampling rate between 0.0001 and 1 (1 = 100%)."""
@@ -82,6 +88,7 @@ def serialize_model(self, handler):
"filter_rules",
"name",
"privacy_mode",
+ "regions",
"sampling_rate",
]
)
diff --git a/src/openrouter/observability.py b/src/openrouter/observability.py
index 5c553b76..8680343b 100644
--- a/src/openrouter/observability.py
+++ b/src/openrouter/observability.py
@@ -373,6 +373,7 @@ def create(
]
] = UNSET,
privacy_mode: Optional[bool] = False,
+ regions: Optional[Iterable[components.ObservabilityDataRegionInput]] = None,
sampling_rate: Optional[float] = None,
workspace_id: Optional[str] = None,
retries: OptionalNullable[utils.RetryConfig] = UNSET,
@@ -401,6 +402,7 @@ def create(
:param enabled: Whether this destination should be enabled immediately.
:param filter_rules: Optional structured filter rules controlling which events are forwarded.
:param privacy_mode: When true, request/response bodies are not forwarded — only metadata.
+ :param regions: Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to ['global']; the array must be non-empty.
:param sampling_rate: Sampling rate between 0.0001 and 1 (1 = 100%).
:param workspace_id: Optional workspace ID. Defaults to the authenticated entity's default workspace.
:param retries: Override the default retry configuration for this method
@@ -437,6 +439,9 @@ def create(
),
name=name,
privacy_mode=privacy_mode,
+ regions=utils.unmarshal(
+ regions, Optional[List[components.ObservabilityDataRegionInput]]
+ ),
sampling_rate=sampling_rate,
type=type_,
workspace_id=workspace_id,
@@ -565,6 +570,7 @@ async def create_async(
]
] = UNSET,
privacy_mode: Optional[bool] = False,
+ regions: Optional[Iterable[components.ObservabilityDataRegionInput]] = None,
sampling_rate: Optional[float] = None,
workspace_id: Optional[str] = None,
retries: OptionalNullable[utils.RetryConfig] = UNSET,
@@ -593,6 +599,7 @@ async def create_async(
:param enabled: Whether this destination should be enabled immediately.
:param filter_rules: Optional structured filter rules controlling which events are forwarded.
:param privacy_mode: When true, request/response bodies are not forwarded — only metadata.
+ :param regions: Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field defaults to ['global']; the array must be non-empty.
:param sampling_rate: Sampling rate between 0.0001 and 1 (1 = 100%).
:param workspace_id: Optional workspace ID. Defaults to the authenticated entity's default workspace.
:param retries: Override the default retry configuration for this method
@@ -629,6 +636,9 @@ async def create_async(
),
name=name,
privacy_mode=privacy_mode,
+ regions=utils.unmarshal(
+ regions, Optional[List[components.ObservabilityDataRegionInput]]
+ ),
sampling_rate=sampling_rate,
type=type_,
workspace_id=workspace_id,
@@ -1277,6 +1287,7 @@ def update(
] = UNSET,
name: Optional[str] = None,
privacy_mode: Optional[bool] = None,
+ regions: Optional[Iterable[components.ObservabilityDataRegionInput]] = None,
sampling_rate: Optional[float] = None,
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
@@ -1304,6 +1315,7 @@ def update(
:param filter_rules:
:param name: Human-readable name for the destination.
:param privacy_mode: When true, request/response bodies are not forwarded — only metadata.
+ :param regions: Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared.
:param sampling_rate: Sampling rate between 0.0001 and 1 (1 = 100%).
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
@@ -1340,6 +1352,9 @@ def update(
),
name=name,
privacy_mode=privacy_mode,
+ regions=utils.unmarshal(
+ regions, Optional[List[components.ObservabilityDataRegionInput]]
+ ),
sampling_rate=sampling_rate,
),
)
@@ -1471,6 +1486,7 @@ async def update_async(
] = UNSET,
name: Optional[str] = None,
privacy_mode: Optional[bool] = None,
+ regions: Optional[Iterable[components.ObservabilityDataRegionInput]] = None,
sampling_rate: Optional[float] = None,
retries: OptionalNullable[utils.RetryConfig] = UNSET,
server_url: Optional[str] = None,
@@ -1498,6 +1514,7 @@ async def update_async(
:param filter_rules:
:param name: Human-readable name for the destination.
:param privacy_mode: When true, request/response bodies are not forwarded — only metadata.
+ :param regions: Data regions this destination applies to. `eu` is accepted as an alias for `europe` and normalizes to `europe`. Omitting this field keeps the current value; it cannot be cleared.
:param sampling_rate: Sampling rate between 0.0001 and 1 (1 = 100%).
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
@@ -1534,6 +1551,9 @@ async def update_async(
),
name=name,
privacy_mode=privacy_mode,
+ regions=utils.unmarshal(
+ regions, Optional[List[components.ObservabilityDataRegionInput]]
+ ),
sampling_rate=sampling_rate,
),
)
diff --git a/uv.lock b/uv.lock
index 5303c0f2..edc64982 100644
--- a/uv.lock
+++ b/uv.lock
@@ -213,7 +213,7 @@ wheels = [
[[package]]
name = "openrouter"
-version = "1.1.126"
+version = "1.1.127"
source = { editable = "." }
dependencies = [
{ name = "httpcore" },