From 597816b42e96122503fe73acfcfb6476c0efaf8b Mon Sep 17 00:00:00 2001 From: Kevin Chant Date: Mon, 17 Aug 2026 12:18:28 +0900 Subject: [PATCH] Fix unintentional body-param naming conflict --- .speakeasy/gen.lock | 156 +++++++++--------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 49 +----- .speakeasy/overlay.yaml | 18 ++ .speakeasy/workflow.lock | 8 +- CHANGELOG.md | 57 ++++++- docs/growthbook_config-revisions_publish.md | 18 +- docs/growthbook_config-revisions_revert.md | 22 ++- ...rowthbook_config-revisions_set-metadata.md | 34 ++-- ...wthbook_config-revisions_set-projection.md | 50 +++--- .../growthbook_config-revisions_set-schema.md | 48 +++--- docs/growthbook_config-revisions_set-value.md | 24 ++- docs/growthbook_configs_archive.md | 13 +- docs/growthbook_configs_create.md | 64 ++++--- docs/growthbook_configs_update.md | 64 ++++--- docs/growthbook_feature-revisions_add-rule.md | 28 ++-- docs/growthbook_feature-revisions_publish.md | 20 +-- ...ook_feature-revisions_set-default-value.md | 26 ++- ...rowthbook_feature-revisions_update-rule.md | 30 ++-- docs/growthbook_features_create.md | 48 +++--- docs/growthbook_features_update.md | 48 +++--- internal/cli/configrevisions/publish.go | 10 +- internal/cli/configrevisions/revert.go | 14 +- internal/cli/configrevisions/setmetadata.go | 26 ++- internal/cli/configrevisions/setprojection.go | 42 +++-- internal/cli/configrevisions/setschema.go | 40 +++-- internal/cli/configrevisions/setvalue.go | 18 +- internal/cli/configs/archiveconfig.go | 7 +- internal/cli/configs/create.go | 64 ++++--- internal/cli/configs/updateconfig.go | 58 ++++--- internal/cli/featurerevisions/addrule.go | 20 +-- internal/cli/featurerevisions/publish.go | 12 +- .../cli/featurerevisions/setdefaultvalue.go | 18 +- internal/cli/featurerevisions/updaterule.go | 22 ++- internal/cli/features/create.go | 48 +++--- internal/cli/features/update.go | 40 +++-- internal/cli/testdata/command-surface.txt | 30 ++-- internal/cli/version.go | 2 +- internal/sdk/configrevisions.go | 24 --- internal/sdk/configs.go | 14 +- internal/sdk/featurerevisions.go | 16 -- internal/sdk/features.go | 10 +- .../sdk/models/operations/archiveconfig.go | 13 +- internal/sdk/models/operations/postconfig.go | 81 +++------ .../operations/postconfigrevisionpublish.go | 24 +-- .../operations/postconfigrevisionrevert.go | 24 +-- .../postfeaturerevisionpublishv2.go | 24 +-- .../postfeaturerevisionruleaddv2.go | 24 +-- .../sdk/models/operations/postfeaturev2.go | 78 +++------ .../operations/putconfigrevisionmetadata.go | 24 +-- .../operations/putconfigrevisionprojection.go | 24 +-- .../operations/putconfigrevisionschema.go | 24 +-- .../operations/putconfigrevisionvalue.go | 24 +-- .../putfeaturerevisiondefaultvaluev2.go | 24 +-- .../operations/putfeaturerevisionrulev2.go | 26 +-- .../sdk/models/operations/updateconfig.go | 22 +-- .../sdk/models/operations/updatefeaturev2.go | 22 +-- internal/usage/schema.go | 58 +++---- 58 files changed, 748 insertions(+), 1130 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 237a90b..91cc606 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,16 +1,16 @@ lockVersion: 2.0.0 id: 4c8e0331-b838-4af2-bf59-101dac30ada4 management: - docChecksum: 5160fd63418fe2d638d4bb0beccca1e2 + docChecksum: e70c37ee0ebc10b16a7d89b80edfbdbd docVersion: 5.0.0 speakeasyVersion: 1.794.0 generationVersion: 2.930.0 - releaseVersion: 2.0.0 - configChecksum: af6cf5fff6ce6728ff71d8476252a567 + releaseVersion: 2.0.1 + configChecksum: 59b0995bd0956432b2e24d32d6a77082 persistentEdits: - generation_id: 500b69ee-3f13-492b-bf62-b162f26b657e - pristine_commit_hash: ef75eaf52c442a0d38b95485e4afa80bfc4d2b7c - pristine_tree_hash: 87644fb40b03ce6a0d6238ecb1d5350972944582 + generation_id: 80b62a50-0d65-4230-af1d-22aa479d66d7 + pristine_commit_hash: e84ad19f1ad43fde68fe0e72bb5cc4f15c744a35 + pristine_tree_hash: 00ceb0a2825ccaf29416e8d84693671d754961d4 features: cli: additionalProperties: 0.0.1 @@ -185,8 +185,8 @@ trackedFiles: pristine_git_object: b198a8514a0ae851071bf0c34c23a2de053b2947 internal/cli/configrevisions/publish.go: id: 4a51847d3a0a - last_write_checksum: sha1:e3b5f953cf67ec1775f94f09223a545db769fb10 - pristine_git_object: 83cf16b3478457ac466cee0540d52c549f689ebd + last_write_checksum: sha1:6f9063678eced81ff8ac55267f04851a5968de4c + pristine_git_object: 778c0a807b16164edfc9a2d350f34b0c4a184a3e internal/cli/configrevisions/rebase.go: id: 5a19ac2260dc last_write_checksum: sha1:1381c5ab37d4111bd679ea77a393f41bfdbfa1a6 @@ -205,8 +205,8 @@ trackedFiles: pristine_git_object: a32f3cd98da86d00b4da04860e6976e1b040c939 internal/cli/configrevisions/revert.go: id: f3955a41dc67 - last_write_checksum: sha1:50b5e1af0289055ed3faa393f9ee867d69714a84 - pristine_git_object: 374512b31d12ab2d0e2883ebc12393784d89afba + last_write_checksum: sha1:7b418e97e48c5261af6dcb8b7289477ec4ec40da + pristine_git_object: f87fb0f126e38140dede0a9efc470e35d43848a2 internal/cli/configrevisions/root.go: id: c9a25248280d last_write_checksum: sha1:ccd30a61734e569254b2bd07142ddc362a06f060 @@ -217,20 +217,20 @@ trackedFiles: pristine_git_object: 0f709d76f34d8e1357ba3f1648faad87a7e6130f internal/cli/configrevisions/setmetadata.go: id: 3f669f026850 - last_write_checksum: sha1:f1d57ca7f443b3f78395c6573d5083b2ca6ec4b7 - pristine_git_object: b33446d3ce66ab04cc01da9a3734ceb7a18c1a46 + last_write_checksum: sha1:8e6e412b4f0b22299cc8922f191f2a02ca890389 + pristine_git_object: 193fac0cb65486397d8c86eaa702844e60babe45 internal/cli/configrevisions/setprojection.go: id: 378c2ec0b80b - last_write_checksum: sha1:91e87b1b37746074e9adb65fc3be640e9500f13d - pristine_git_object: dde847707f4dbee0a25061b49aa107c876460f67 + last_write_checksum: sha1:334ee215a7eaad16fc42e181d562f82d103a2012 + pristine_git_object: ce74715ed4ec8ff50aa5a2330ab2882210865c0d internal/cli/configrevisions/setschema.go: id: 9a97660731f0 - last_write_checksum: sha1:4884e3afc8300969aca386efbd6cdf90ac928c54 - pristine_git_object: b72895b71cf5320c71132207b42d10522211fef6 + last_write_checksum: sha1:98aa38168f38782677cbb740edd2b5b4c43a8378 + pristine_git_object: ba6345df3da1c15880202ef207a8846e204a0718 internal/cli/configrevisions/setvalue.go: id: 4407b212550b - last_write_checksum: sha1:fbdfc9d9a9830f615a70f1a95270ebbad0356e08 - pristine_git_object: 8b08188e32578014b3a4f7abc062ae6eab9a906f + last_write_checksum: sha1:9304f990f1f0b27ddcade6fd56bbcbc11a1570fa + pristine_git_object: 0f8af378f2f1291cd5d87b7b44896d6dc436cd29 internal/cli/configrevisions/submitreview.go: id: 8d2a0b0ac4cb last_write_checksum: sha1:b73cdb9dd03e51b321596b95fb5f925e5e23f68d @@ -241,12 +241,12 @@ trackedFiles: pristine_git_object: e0a88387d02845db13d7ce15fe2f391e920b9cb3 internal/cli/configs/archiveconfig.go: id: 04986242fda8 - last_write_checksum: sha1:7ca2f00a35499d59236b279a5ce25ef1fff938be - pristine_git_object: dae322037df8bdcf69dbf0a83a43e332203421e5 + last_write_checksum: sha1:02989df43b80c9b1c7e071a3b235602879768f12 + pristine_git_object: 57a56f5e6389ed66b143cc08d0014904ef3312fd internal/cli/configs/create.go: id: 08258456c98b - last_write_checksum: sha1:41d95d53b0237a6fdf347b2824e1e4e8220951a2 - pristine_git_object: f513751dde6f774e93d89bf3f03cc8fcec549b51 + last_write_checksum: sha1:f3945f4f126aaefee6679f52dd373ab247bd2940 + pristine_git_object: 69dba7c715edb4df54de520e402cd9e3e20872ec internal/cli/configs/deleteconfig.go: id: 34989d40d9a6 last_write_checksum: sha1:d3b38930943a13e8eb9d6899bc023e71461a5bf5 @@ -293,8 +293,8 @@ trackedFiles: pristine_git_object: 1b95d14563a661fc6e83148d4ba5843fb3ec7737 internal/cli/configs/updateconfig.go: id: 6bc9e2ed6f82 - last_write_checksum: sha1:c9c58732712c7893ff87e4360fd056160ea799c0 - pristine_git_object: 97d3ad1d922861647aed7d2f8cd93a5ed7ec0c2c + last_write_checksum: sha1:97f6d591b46e3360800a16053ee4f2850fb5ae68 + pristine_git_object: 9f7501108f1a16808c6b2ede0811fbe8e6af4c02 internal/cli/configs/verifyschema.go: id: 6042fc37adfa last_write_checksum: sha1:cdf0b87db3475b6bebcd6828978b17a5d1d7da62 @@ -877,8 +877,8 @@ trackedFiles: pristine_git_object: 9198279cd23ca8df55f8601df5e7ff2f72422dc7 internal/cli/featurerevisions/addrule.go: id: ddd8b48aac2e - last_write_checksum: sha1:fcc58085ab32bcc6a50a264ae903cb2311496e48 - pristine_git_object: 597b7bceee638ec61f541625e1ab1420fe195177 + last_write_checksum: sha1:4e5bd41ebb4a6770d362f41db165a9c0bf87926a + pristine_git_object: fcd2ce51e5a46cdacceef9511ea4f394d86b5e5e internal/cli/featurerevisions/archive.go: id: ef31233d5b82 last_write_checksum: sha1:f8ca1c977ff2fbdab68489cef57ebe35f60b0a1c @@ -933,8 +933,8 @@ trackedFiles: pristine_git_object: bdf415b2dbcc8c1a01a32c323c0bebdf64d6e129 internal/cli/featurerevisions/publish.go: id: 1f482cf3823b - last_write_checksum: sha1:3737bc188abd1b17dd5b5da5ec2b68df80401280 - pristine_git_object: b698ce32722738b15875a830476771f7bb4fd8aa + last_write_checksum: sha1:5329c14a0dccafc6889c8947f1f466138d844a06 + pristine_git_object: 3daf78331dffd2bbef28a5d578c1956ddc593b5e internal/cli/featurerevisions/rebase.go: id: e4dd6e663a45 last_write_checksum: sha1:ea35b496b2a3b297c33a33de94127e50bb96b088 @@ -973,8 +973,8 @@ trackedFiles: pristine_git_object: f486f530bfd905a1c004c3314389020faa32525a internal/cli/featurerevisions/setdefaultvalue.go: id: e55954410129 - last_write_checksum: sha1:d52ca46c280a1e183ed00265f0247c12f6af6c02 - pristine_git_object: 20d3085112a8f69d3751a2ebc6f7f775066bf6b5 + last_write_checksum: sha1:8a02655505ca90b6792c3dfc3adff72ea644a5bc + pristine_git_object: 6f89eedb581761d5249d298a5159e2fe8f7e7135 internal/cli/featurerevisions/setholdout.go: id: 152ae5e7fc58 last_write_checksum: sha1:7ecc3af6da83c526ed4c06dc341fb1c2a900087b @@ -1005,8 +1005,8 @@ trackedFiles: pristine_git_object: 8bad343a6126ec988cb781519aae1fae6af1e552 internal/cli/featurerevisions/updaterule.go: id: d153dd3617ca - last_write_checksum: sha1:1aa2ddff3a599758f9312e440c6d01a251d3f5ab - pristine_git_object: a0446f0386d45320b684bb838ba470a5c349caea + last_write_checksum: sha1:85d2e93e58c8f160f8f028ef63bddc634fd90236 + pristine_git_object: b69cf713e8ec2fd40384430c8b357f2e59a79cdc internal/cli/featurerevisionsv1/create.go: id: 27a9d8fe184b last_write_checksum: sha1:e429d2f1493248e018b317cad2ac29c470292168 @@ -1109,8 +1109,8 @@ trackedFiles: pristine_git_object: 5c9d64bebaf6cec573fc4ebd8dd14dc92b219d75 internal/cli/features/create.go: id: c1e919b20ffa - last_write_checksum: sha1:83c2194f1a589267f4ab3612bc456d9e51b0ce1a - pristine_git_object: f41d26283db1e0e9858db0fe3230948783a80525 + last_write_checksum: sha1:3e72c6c0ad0f56356e3d5b0c3d2c28276a98bc1e + pristine_git_object: 3d96412d8fe8fa6838024d7e21a35024e56d8e14 internal/cli/features/delete.go: id: f9a657ddfd2d last_write_checksum: sha1:43cd382c52d92b58bd065f348d4630561eea8ebd @@ -1145,8 +1145,8 @@ trackedFiles: pristine_git_object: e94a3781deee6f700942392a38bf78723dc41895 internal/cli/features/update.go: id: 97e979f58010 - last_write_checksum: sha1:6e935db067a669e7469815dde815f0471856d562 - pristine_git_object: 0de2bae7e29a127c0f4d0c1ddebe0db6075a81f5 + last_write_checksum: sha1:50a3217ed0278f8bdf04c34c36cb7c50ca2ce6b9 + pristine_git_object: 5ea1347ea2a2c7c8bec7e1819cef9964fa5942a1 internal/cli/featuresv1/create.go: id: ae0c92c62e5d last_write_checksum: sha1:cf1bb9f8eb72aca135c5378a0d89120b819f34e6 @@ -1777,8 +1777,8 @@ trackedFiles: pristine_git_object: 773a22f36454f22ba733858a3f54401690fe8f31 internal/cli/version.go: id: 7b0665492f72 - last_write_checksum: sha1:e9c970d34ec86ec6aa966eacbc4db9f4eb8f9416 - pristine_git_object: 020eb70a13489ce56ad2a9c305e3006716c8e7a7 + last_write_checksum: sha1:037704f005e4d5fb08d4275a45eb34e287e4a881 + pristine_git_object: 8e207db9e549876131ea39db687aaaa5d9fda87d internal/cli/visualchangesets/addvisualchange.go: id: fdbcb9d69b23 last_write_checksum: sha1:62c37780da4a614d14105d11d5241ae225eb0df6 @@ -1905,12 +1905,12 @@ trackedFiles: pristine_git_object: 72fba21982adb366e1fd19b91f45408ed0a8e42e internal/sdk/configrevisions.go: id: c0851429a9cd - last_write_checksum: sha1:d6873c16e95e740b7e8cef054ef4f51ac85b3fc4 - pristine_git_object: 14cc7c50bbae2520bde7315605628b494666d036 + last_write_checksum: sha1:ba79d9fc3aa61badd8c9863bb49848294d3dcd61 + pristine_git_object: 8fd38ba1216dbc82417f82dd62951a7b31b896cb internal/sdk/configs.go: id: 8a11067cac47 - last_write_checksum: sha1:bc646ed9f1d6a5b8c614c9c0fce6babf53a57d62 - pristine_git_object: a00011e19760034c115a8213e8a596bffa9cb4f2 + last_write_checksum: sha1:1c5028507dd01da08a763f05b63ca5733033e75d + pristine_git_object: 5d9aba66fc3f5489b548831e18b7b7b55c4d5601 internal/sdk/constantrevisions.go: id: 242c538fab04 last_write_checksum: sha1:7b8f7ab00a7fa4ba94482d6d653a0d01530b1e77 @@ -1969,16 +1969,16 @@ trackedFiles: pristine_git_object: 1a93565eb355c711b1269de3afeb08e4d5158f58 internal/sdk/featurerevisions.go: id: bb75ed2e6390 - last_write_checksum: sha1:a7e77ad4a12bbe9bfe8476e25ccec2219742a98d - pristine_git_object: 59ca719b28f08e5aa0482920428d5e9aa6885a9c + last_write_checksum: sha1:aa24d3737b8676eb4641ac9cca30db5d2baa7499 + pristine_git_object: 764294a4b30414e7e90346ac23c2a089fc8f6993 internal/sdk/featurerevisionsv1.go: id: f90cbd9c790a last_write_checksum: sha1:f533727d61cf9668b69826169d17454dbc32f33f pristine_git_object: f0cace91a2bebed8c7ce7695344abbe111c10aa7 internal/sdk/features.go: id: 191ad21f984f - last_write_checksum: sha1:33c163d5a7f4e80d7df3393b1b348f509924fc9f - pristine_git_object: dce8ad2f72f24a538943500d0f84fc99d2c7b5b0 + last_write_checksum: sha1:11e07a665464ce49b39f399748fff09573bdc64e + pristine_git_object: 5da37fe3e52ab8a3a071fb02ab405aaec86ef3a9 internal/sdk/featuresv1.go: id: 70ee9a99f0d7 last_write_checksum: sha1:c46446d949e656f249e2469ef1e94be59dfeb809 @@ -2585,8 +2585,8 @@ trackedFiles: pristine_git_object: f143f6f018c57851fad0a761fd26d521e61ed6b2 internal/sdk/models/operations/archiveconfig.go: id: 7ca4aea453a1 - last_write_checksum: sha1:79b23103c959e0154b05f86ffb1eef2f46a65e01 - pristine_git_object: 95546e8e12e2858b85b0f6c2396b398b66fe748d + last_write_checksum: sha1:e81ca680373ef247b9005a19fccebe8ff89b8ff0 + pristine_git_object: 7b56f9ad7f35178263407953e955d549fc7028db internal/sdk/models/operations/archiveconstant.go: id: 6448ed7dfeca last_write_checksum: sha1:a8a30c1e5c4cedcce40e37d07b87660e2c46e4ff @@ -3353,8 +3353,8 @@ trackedFiles: pristine_git_object: 0a941c4918fca321c059c81be899bd3f7839b5a8 internal/sdk/models/operations/postconfig.go: id: 868c4aa41000 - last_write_checksum: sha1:96593e8a063bb4a576e4e057a80358125b0ed58d - pristine_git_object: ed6a33f5f45ce6910c2e685b1b9e7e8069eec62a + last_write_checksum: sha1:6b760a7b9fe650eb597b1c18a89d7293ee1de06e + pristine_git_object: d1f058050611c95b5e95391c36b849c233080582 internal/sdk/models/operations/postconfigrevision.go: id: b05eadb1fc9a last_write_checksum: sha1:28a43b4a21afe8bcfaab360c457a73c1481952b9 @@ -3365,8 +3365,8 @@ trackedFiles: pristine_git_object: da27f83ac1d308dbb1bc34bd7fe593f06b017089 internal/sdk/models/operations/postconfigrevisionpublish.go: id: 2a5a9e401a7d - last_write_checksum: sha1:027a53241710bbd3cafaa5c15c4ee94fac20c73b - pristine_git_object: e7da8f664b96d04f84c4c41fdc95c3e868caa5a8 + last_write_checksum: sha1:8d1a45ffe451ee540dc230ac352d62a989151433 + pristine_git_object: a295d31baca15b7e48654781c7c79dcb71fb3c28 internal/sdk/models/operations/postconfigrevisionrebase.go: id: 8326dad5c030 last_write_checksum: sha1:dd8cfc7c7cb512b1e36f3a2b07bde864c5ae4001 @@ -3385,8 +3385,8 @@ trackedFiles: pristine_git_object: 9228de32703d9a303adcd5d52c95e7124eab7271 internal/sdk/models/operations/postconfigrevisionrevert.go: id: ef1a6b4ef666 - last_write_checksum: sha1:2dcf49665578d5ddf86a7b6c0d19a0b6dd5460e5 - pristine_git_object: 2c2a8e23f3f3e85acc275d85395e067c3dd8ef4d + last_write_checksum: sha1:2f3ffa9d33f0252c513f5880e96fd94fd76bf481 + pristine_git_object: 25b130cbb033492fb702fac5835615ae8e6c65bf internal/sdk/models/operations/postconfigrevisionschedulepublish.go: id: 4f361c65e182 last_write_checksum: sha1:51bfa6c6461c52819f0804128a1c7a0f98cb8ebb @@ -3537,8 +3537,8 @@ trackedFiles: pristine_git_object: 2a9370e4c0d0b7da282b0d949feb94d28f056e97 internal/sdk/models/operations/postfeaturerevisionpublishv2.go: id: 62d5d41cae59 - last_write_checksum: sha1:f4acaf817976eaccb10523f17c3009918cb0a76a - pristine_git_object: 81863eced6895ce7fc029e8f903eeb808b7b0c4d + last_write_checksum: sha1:b566de0fa5230de314b350a98fe034d5ac59c882 + pristine_git_object: c6cf1b812e11ab608dd9ace5c811acdc79c2c009 internal/sdk/models/operations/postfeaturerevisionrebase.go: id: 8d5f4248894d last_write_checksum: sha1:e7446115542dbc59abf770d02fc1a9f9023a10a1 @@ -3581,8 +3581,8 @@ trackedFiles: pristine_git_object: 6d0c5d894fbd89807c416949840e93f7b5dca9a0 internal/sdk/models/operations/postfeaturerevisionruleaddv2.go: id: 83c9f3341fcc - last_write_checksum: sha1:9d7dbb5d4a420a03f12e34a958737e9593ca254b - pristine_git_object: d0be81fe93c9cb7fae07b57e96bfdca65e1f37de + last_write_checksum: sha1:c9aad19fe5e595f9832b8c9ae3709c201c76e436 + pristine_git_object: 15babd5ef0cc3b79eb651a279fc1b1f78fd3fc65 internal/sdk/models/operations/postfeaturerevisionrulesreorder.go: id: d203bbbd897d last_write_checksum: sha1:1b1ad7825b0e990e103fa5a03462705d86c2f920 @@ -3621,8 +3621,8 @@ trackedFiles: pristine_git_object: 3a1b16aa1414fdfff13d83ae84ba0a54f111c462 internal/sdk/models/operations/postfeaturev2.go: id: 549976d0211f - last_write_checksum: sha1:e977c468aeef94f9e8ab61b9b0ce9691d6b911bf - pristine_git_object: 9465418867fab3f7408f13e86e3062d227e2787f + last_write_checksum: sha1:7ec85514cf8961b93d18da565b5bc36f49c35cd5 + pristine_git_object: 8957b93c633b750ff610d74476488bc8a35fd140 internal/sdk/models/operations/postfunnelexploration.go: id: 449e5f49551a last_write_checksum: sha1:6bc03c3fd33f694e2cf7bb8ecb92075a746c01f5 @@ -3757,20 +3757,20 @@ trackedFiles: pristine_git_object: 7dcd15af7608e1a104b7d7e8309e79ad0d07521b internal/sdk/models/operations/putconfigrevisionmetadata.go: id: 8038c6e589ef - last_write_checksum: sha1:7c0a89db257c3ad9cc81b6f363990f1dd0089ae5 - pristine_git_object: 49d89c91fa1332031eeaecb0f4a4860f661161ea + last_write_checksum: sha1:6e27fe9e7a372f08e49e3980e94b8b7aeb74da52 + pristine_git_object: 2c9e3c32be537c200e46a7d2b03ba242f5c8bfc4 internal/sdk/models/operations/putconfigrevisionprojection.go: id: 260b3568b4dd - last_write_checksum: sha1:d943d71f4465a6ac1b2e81df8d0206c034b9eeaa - pristine_git_object: e11860635ee88336a273367e8bf41ab933875194 + last_write_checksum: sha1:7c141210710d1320a666c29c2c588a9c1d425643 + pristine_git_object: 2e0fe0ec8cb653f0bb4664b84e499313e27ac412 internal/sdk/models/operations/putconfigrevisionschema.go: id: 01ce88aa6111 - last_write_checksum: sha1:ebbb646699a108437065069a33e27c5fd24714ea - pristine_git_object: f14e6ddced4243514a1007b149efaf5b99ef5391 + last_write_checksum: sha1:a689309027365bfa0acc8c6e9de15efd99156279 + pristine_git_object: 5c5de36120a5dbff4e5dea144696ece1bee9650b internal/sdk/models/operations/putconfigrevisionvalue.go: id: 8c1533a5b4da - last_write_checksum: sha1:97ca8471b4ab9a0906a37a05852c8bde00e02e98 - pristine_git_object: 32e03a3fd4a13f98f1432a94278c43c3ab21e36b + last_write_checksum: sha1:5cd3afd04ace4e9053be7d4326cc3f8cf89451ea + pristine_git_object: a48d96200c5098371e2666764a797167adf0f515 internal/sdk/models/operations/putconstantrevisionarchive.go: id: bca502fb25d0 last_write_checksum: sha1:16e94081b2c4e5c0e9defde00edab5e083802024 @@ -3805,8 +3805,8 @@ trackedFiles: pristine_git_object: 3e44421c81f5531444fe96ee4a72fb885a9744e6 internal/sdk/models/operations/putfeaturerevisiondefaultvaluev2.go: id: 276dea95b294 - last_write_checksum: sha1:b71ccdfe1c95b45c2eef0d085e68403e46bf365c - pristine_git_object: e9a256386123c8462606ce8b16b9819b204f75b2 + last_write_checksum: sha1:3a3f472d8b98a3751638adb2f5afbd1a7120efae + pristine_git_object: 7efcccaada563d11341832e08353bbd099831ae8 internal/sdk/models/operations/putfeaturerevisionholdout.go: id: 7091ca5bdcf5 last_write_checksum: sha1:86c3f05d55106e67d76deb70dfc9113ff1eaa2ce @@ -3849,8 +3849,8 @@ trackedFiles: pristine_git_object: 4177e6c1ffb78dcb1e40213d3df95a0fa917284d internal/sdk/models/operations/putfeaturerevisionrulev2.go: id: b2f7356bb855 - last_write_checksum: sha1:9fd11a60bfca491a74ee75e41336a74abd0d3083 - pristine_git_object: fce7f87dc61687a3a7da3544a684d3d9bdd31c71 + last_write_checksum: sha1:160dd8f4f6cbf42c0a69ad789cb47b731dac9840 + pristine_git_object: 7763211028215ed51951bd81504a40146044166d internal/sdk/models/operations/putmetric.go: id: df887bc82d8a last_write_checksum: sha1:f31028b2a50cd259010c8b233f00189ba441a385 @@ -3997,8 +3997,8 @@ trackedFiles: pristine_git_object: 68da556097ace57bcefbff087f7e1c24377f0d6f internal/sdk/models/operations/updateconfig.go: id: ec57476bfdd1 - last_write_checksum: sha1:1d098409a97e04d4f6c02a393ca111c67680356f - pristine_git_object: 194d8ffad38888256ca82e186c0ecd6e074db2a5 + last_write_checksum: sha1:cdf1797ae7c0f367f29139794194e2762986b546 + pristine_git_object: 848ea1f4b6f4801303a16547578d1687a07581f7 internal/sdk/models/operations/updateconstant.go: id: b488ce14d3a7 last_write_checksum: sha1:5834c2f97f9f86e33edb188cb0443dbad21b0545 @@ -4069,8 +4069,8 @@ trackedFiles: pristine_git_object: bd31d966e009647c850735f8318d62779ea6e043 internal/sdk/models/operations/updatefeaturev2.go: id: 5e312cd89284 - last_write_checksum: sha1:04f15e7a2d36928d1540f8e7a72161d667b3c90a - pristine_git_object: 73b7a77488846f860100cda829030f96df892ac7 + last_write_checksum: sha1:991bf4bc23341df4f28e172c9fe22964372a447f + pristine_git_object: 245c432bcb26a7b1c3ae398e31916316cc33344a internal/sdk/models/operations/updatelearning.go: id: c92152bf02ac last_write_checksum: sha1:9a59e08d91b029fadca4e8d739acd0a08533433a @@ -4305,8 +4305,8 @@ trackedFiles: pristine_git_object: 159a87ec97aba99e4edd132f69652e123434303e internal/usage/schema.go: id: 0f40f4612437 - last_write_checksum: sha1:9e41ebf06c663d4a36ff9ad043da919ea1040ea9 - pristine_git_object: 615f95792fc3d47ee26540e3575e6d32d11e3601 + last_write_checksum: sha1:d54b6a4681ed03b33fe739a792bc5e7339b07ae2 + pristine_git_object: cdf038c0f4ee37372ffcd1cf915b32087a08faa6 scripts/install.ps1: id: fee0853709e9 last_write_checksum: sha1:f9df93912e2b5d20eaffddbdb2708ce76ec06445 diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 1d88394..4513c9b 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -32,7 +32,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false cli: - version: 2.0.0 + version: 2.0.1 additionalDependencies: {} cliName: growthbook distribution: diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 84d2039..7df8403 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -5939,9 +5939,7 @@ paths: } ``` - parameters: - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' + parameters: [] requestBody: required: true content: @@ -6559,8 +6557,6 @@ paths: Other top-level fields are patch-merged: omit a field to leave it unchanged. The `rules` field, when supplied, replaces the entire `rules` array in one operation. To preserve existing rules, fetch the Feature Flag, update the returned `rules` array, and send the complete array back. Safe-rollout rules round-trip through `safeRolloutId`; use `POST /v2/features/:id/revisions/:version/rules` to create new ones. parameters: - $ref: '#/components/parameters/id' - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -8062,8 +8058,6 @@ paths: schema: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -8437,8 +8431,6 @@ paths: schema: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -8915,8 +8907,6 @@ paths: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - $ref: '#/components/parameters/ruleId' - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -10929,8 +10919,6 @@ paths: schema: type: string - $ref: '#/components/parameters/version' - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -20243,9 +20231,7 @@ paths: summary: Create a single config tags: - configs - parameters: - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' + parameters: [] requestBody: required: true content: @@ -20839,8 +20825,6 @@ paths: schema: description: The key of the config type: string - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -21046,7 +21030,6 @@ paths: schema: description: The key of the config type: string - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -21472,8 +21455,6 @@ paths: schema: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -21574,8 +21555,6 @@ paths: schema: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -21666,8 +21645,6 @@ paths: schema: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -21749,8 +21726,6 @@ paths: schema: type: string description: Revision version number, or "new" to auto-create a draft (only where supported). - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -22415,8 +22390,6 @@ paths: schema: type: string - $ref: '#/components/parameters/version' - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -22533,8 +22506,6 @@ paths: schema: type: string - $ref: '#/components/parameters/version' - - $ref: '#/components/parameters/skipSchemaValidation' - - $ref: '#/components/parameters/ignoreWarnings' requestBody: required: true content: @@ -45048,22 +45019,6 @@ components: description: >- Whether to include archived features. Defaults to `false` (non-archived only). Pass `true` to include archived features alongside non-archived ones. type: boolean - skipSchemaValidation: - name: skipSchemaValidation - in: query - description: Deprecated — pass `skipSchemaValidation` in the request body instead. - schema: - description: Deprecated — pass `skipSchemaValidation` in the request body instead. - deprecated: true - type: boolean - ignoreWarnings: - name: ignoreWarnings - in: query - description: Deprecated — pass `ignoreWarnings` in the request body instead. - schema: - description: Deprecated — pass `ignoreWarnings` in the request body instead. - deprecated: true - type: boolean format: name: format in: query diff --git a/.speakeasy/overlay.yaml b/.speakeasy/overlay.yaml index d1dc128..71a85ac 100644 --- a/.speakeasy/overlay.yaml +++ b/.speakeasy/overlay.yaml @@ -1031,3 +1031,21 @@ actions: update: { required: false } - target: $..[?(@.operationId=="postConfigRevisionReopen")].requestBody update: { required: false } + # 5. Drop the deprecated `ignoreWarnings` / `skipSchemaValidation` QUERY params. + # + # The back-end moved both into the request body (growthbook#6397) and kept the + # query params only for back-compat — the spec marks them `deprecated: true` + # and says "pass ... in the request body instead". But keeping them collides + # with the identically-named body fields, and Speakeasy resolves that collision + # by prefixing the ENTIRE body with `--body-param.` — so two deprecated params + # renamed 142 flags across 15 commands in 2.0.0, including `--description` and + # `--tags`, which never collided with anything. + # + # Removing them lets the body flatten again and restores the 1.x flag names. + # Scripts passing `--ignore-warnings` keep working: the flat body field claims + # that name and lands on the API's intended path. (Their schemas are also + # anyOf-const unions, which degrade to value-swallowing string flags — cli#52.) + - target: $..[?(@['$ref']=="#/components/parameters/ignoreWarnings")] + remove: true + - target: $..[?(@['$ref']=="#/components/parameters/skipSchemaValidation")] + remove: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 8f22da9..0dcb9b9 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.794.0 sources: GrowthBook REST API: sourceNamespace: growth-book-rest-api - sourceRevisionDigest: sha256:c6ffe05e6a78c0734a58a2913f9f6cf725193d807011cd048b2cb343868071ce - sourceBlobDigest: sha256:15761cd6e3508863b8b118183085efffe5aea2a6dc6d346e6cbf03a3e8455133 + sourceRevisionDigest: sha256:0713a3a0f47db12cdaa85784b4be0bf3e70da4a9923ce5dab19ea981ce545d1b + sourceBlobDigest: sha256:4af49337b620c29eaa9baceb5d0b3f7f76da936b8e94013bdaacd5c9d88c84de tags: - latest - 5.0.0 @@ -11,8 +11,8 @@ targets: growthbook: source: GrowthBook REST API sourceNamespace: growth-book-rest-api - sourceRevisionDigest: sha256:c6ffe05e6a78c0734a58a2913f9f6cf725193d807011cd048b2cb343868071ce - sourceBlobDigest: sha256:15761cd6e3508863b8b118183085efffe5aea2a6dc6d346e6cbf03a3e8455133 + sourceRevisionDigest: sha256:0713a3a0f47db12cdaa85784b4be0bf3e70da4a9923ce5dab19ea981ce545d1b + sourceBlobDigest: sha256:4af49337b620c29eaa9baceb5d0b3f7f76da936b8e94013bdaacd5c9d88c84de workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.794.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8013a36..493a0a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,39 @@ ## [Unreleased] +## [2.0.1] - 2026-08-17 + +A narrow fix: 2.0.0 unintentionally renamed the request-body flags, and this restores their +original names. **It does not undo anything else in 2.0.0** — the removals and command renames in +that release still apply, so read the 2.0.0 notes below when upgrading from 1.x. + +If you have not already migrated scripts to `--body-param.*`, this release needs no action from +you. + +### Fixed + +- **`--body-param.` prefixes are gone; request-body flags use their plain names again** + (`--body-param.description` is `--description` once more). 2.0.0 renamed 142 flags across 15 + commands as an unintended side effect: the API deprecated the `ignoreWarnings` and + `skipSchemaValidation` *query* parameters in favour of body fields of the same name, and that + name collision made the generator prefix the entire request body. Dropping the deprecated query + parameters removes the collision. + + `--ignore-warnings` and `--skip-schema-validation` still work on the same commands — they now + set the body field, which is where the API wants them. + + If you already migrated to `--body-param.*`, revert to the plain names. + ## [2.0.0] - 2026-08-17 -Upgrading from 1.x requires two changes: drop `--merge-now`, and update any renamed -`contextual-bandits` / `contextual-bandit-queries` commands. Both fail loudly (unknown -flag / unknown command) rather than silently misbehaving, so a dry run of your scripts -will surface everything that needs attention. +Upgrading from 1.x: drop `--merge-now`, and update any renamed `contextual-bandits` / +`contextual-bandit-queries` commands. Both fail loudly — unknown flag or unknown command — +rather than silently misbehaving, so a dry run of your scripts will surface what needs +attention. + +> **Upgrading to 2.0.1 or later?** Skip the `--body-param.` rename described under "Changed" +> below — it was an unintended side effect and 2.0.1 reverts it. Keep using the plain flag +> names. The rest of this release still applies. ### Removed @@ -17,8 +44,30 @@ will surface everything that needs attention. supports it as part of publish hardening. Scripts passing it will fail with an unknown-flag error rather than silently not merging. +- **`contextual-bandits start` / `stop` / `refresh` no longer accept a request body** — the + `--body` and `--body-param` flags are gone. These commands now take only `--id`. + ### Changed +- **Request-body flags are now prefixed `--body-param.`** on the commands that take a + structured body. For example `growthbook configs update --description X` becomes + `growthbook configs update --body-param.description X`. + + > **Reverted in 2.0.1** — this was an unintended side effect, not a deliberate change. + > Upgrade to 2.0.1 and keep using the plain flag names. + + Affected commands: + + `features create`, `features update`, `configs create`, `configs update`, + `configs archive`, `config-revisions publish`, `config-revisions revert`, + `config-revisions set-metadata`, `config-revisions set-projection`, + `config-revisions set-schema`, `config-revisions set-value`, + `feature-revisions add-rule`, `feature-revisions update-rule`, + `feature-revisions publish`, `feature-revisions set-default-value`. + + Passing raw JSON via `--body` is unaffected, and remains the most stable way to script + these commands. + - **`contextual-bandits` and `contextual-bandit-queries` commands renamed** to drop the redundant group name from every subcommand. These groups were missed by the 1.0.0 naming cleanup; this finishes it. diff --git a/docs/growthbook_config-revisions_publish.md b/docs/growthbook_config-revisions_publish.md index 015a40c..09ed303 100644 --- a/docs/growthbook_config-revisions_publish.md +++ b/docs/growthbook_config-revisions_publish.md @@ -19,16 +19,14 @@ growthbook config-revisions publish [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.bypass-approval Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published. - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for publish - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -b, --bypass-approval Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published. + -h, --help help for publish + -i, --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -k, --key string [required] + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_config-revisions_revert.md b/docs/growthbook_config-revisions_revert.md index 02a792a..84235d9 100644 --- a/docs/growthbook_config-revisions_revert.md +++ b/docs/growthbook_config-revisions_revert.md @@ -19,18 +19,16 @@ growthbook config-revisions revert [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.comment string string value - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.strategy draft Whether to stage the revert as a draft or publish it immediately. Defaults to draft, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish) - --body-param.title string string value - -h, --help help for revert - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -c, --comment string string value + -h, --help help for revert + -i, --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -k, --key string [required] + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --strategy draft Whether to stage the revert as a draft or publish it immediately. Defaults to draft, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish) + -t, --title string string value + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_config-revisions_set-metadata.md b/docs/growthbook_config-revisions_set-metadata.md index 24a4cb3..622cce3 100644 --- a/docs/growthbook_config-revisions_set-metadata.md +++ b/docs/growthbook_config-revisions_set-metadata.md @@ -19,24 +19,22 @@ growthbook config-revisions set-metadata [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.description string string value - --body-param.extends parent Replace the composition mixins layered on top of parent, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. - --body-param.extensible boolean flag - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.name string string value - --body-param.owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. - --body-param.parent key Change the lineage parent (the key to inherit from). Empty string detaches from the parent. - --body-param.project string string value - --body-param.revision-comment string string value - --body-param.revision-title string string value - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for set-metadata - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + --description string string value + --extends parent Replace the composition mixins layered on top of parent, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. + --extensible boolean flag + -h, --help help for set-metadata + -i, --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -k, --key string [required] + -n, --name string string value + --owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. + --parent key Change the lineage parent (the key to inherit from). Empty string detaches from the parent. + --project string string value + --revision-comment string string value + --revision-title string string value + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_config-revisions_set-projection.md b/docs/growthbook_config-revisions_set-projection.md index 26037f4..d9b49d7 100644 --- a/docs/growthbook_config-revisions_set-projection.md +++ b/docs/growthbook_config-revisions_set-projection.md @@ -13,37 +13,35 @@ growthbook config-revisions set-projection [flags] ### Examples ``` - growthbook config-revisions set-projection --key --version-param --body-param.source --body-param.schema '{"type":"rust","value":""}' + growthbook config-revisions set-projection --key --version-param --source --schema '{"type":"rust","value":""}' ``` ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.additional-properties Whether the resulting object schema permits extra keys (family extensibility). - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.revision-comment string string value - --body-param.revision-title string string value - --body-param.schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) - --body-param.schema.go string ConfigSchemaSource_Go variant as JSON - --body-param.schema.go.value struct Go source — a struct definition. [required] - --body-param.schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON - --body-param.schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON - --body-param.schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] - --body-param.schema.python string ConfigSchemaSource_Python variant as JSON - --body-param.schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] - --body-param.schema.rust string ConfigSchemaSource_Rust variant as JSON - --body-param.schema.rust.value struct Rust source — a serde struct definition. [required] - --body-param.schema.typescript string ConfigSchemaSource_Typescript variant as JSON - --body-param.schema.typescript.value string TypeScript source — an interface or object type. [required] - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.source string Identifier of the consuming codebase/service this projection belongs to. [required] - -h, --help help for set-projection - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + -a, --additional-properties Whether the resulting object schema permits extra keys (family extensibility). + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -h, --help help for set-projection + -i, --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -k, --key string [required] + --revision-comment string string value + --revision-title string string value + --schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) + --schema.go string ConfigSchemaSource_Go variant as JSON + --schema.go.value struct Go source — a struct definition. [required] + --schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON + --schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON + --schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] + --schema.python string ConfigSchemaSource_Python variant as JSON + --schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] + --schema.rust string ConfigSchemaSource_Rust variant as JSON + --schema.rust.value struct Rust source — a serde struct definition. [required] + --schema.typescript string ConfigSchemaSource_Typescript variant as JSON + --schema.typescript.value string TypeScript source — an interface or object type. [required] + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --source string Identifier of the consuming codebase/service this projection belongs to. [required] + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_config-revisions_set-schema.md b/docs/growthbook_config-revisions_set-schema.md index bae8bb6..337e218 100644 --- a/docs/growthbook_config-revisions_set-schema.md +++ b/docs/growthbook_config-revisions_set-schema.md @@ -23,31 +23,29 @@ growthbook config-revisions set-schema [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.additional-properties Whether the resulting object schema permits extra keys (family extensibility). - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.infer Derive the schema from the draft's value instead. - --body-param.revision-comment string string value - --body-param.revision-title string string value - --body-param.schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) - --body-param.schema.go string ConfigSchemaSource_Go variant as JSON - --body-param.schema.go.value struct Go source — a struct definition. [required] - --body-param.schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON - --body-param.schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON - --body-param.schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] - --body-param.schema.python string ConfigSchemaSource_Python variant as JSON - --body-param.schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] - --body-param.schema.rust string ConfigSchemaSource_Rust variant as JSON - --body-param.schema.rust.value struct Rust source — a serde struct definition. [required] - --body-param.schema.typescript string ConfigSchemaSource_Typescript variant as JSON - --body-param.schema.typescript.value string TypeScript source — an interface or object type. [required] - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for set-schema - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + -a, --additional-properties Whether the resulting object schema permits extra keys (family extensibility). + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -h, --help help for set-schema + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --infer Derive the schema from the draft's value instead. + -k, --key string [required] + --revision-comment string string value + --revision-title string string value + --schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) + --schema.go string ConfigSchemaSource_Go variant as JSON + --schema.go.value struct Go source — a struct definition. [required] + --schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON + --schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON + --schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] + --schema.python string ConfigSchemaSource_Python variant as JSON + --schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] + --schema.rust string ConfigSchemaSource_Rust variant as JSON + --schema.rust.value struct Rust source — a serde struct definition. [required] + --schema.typescript string ConfigSchemaSource_Typescript variant as JSON + --schema.typescript.value string TypeScript source — an interface or object type. [required] + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_config-revisions_set-value.md b/docs/growthbook_config-revisions_set-value.md index 055fc26..3f29e78 100644 --- a/docs/growthbook_config-revisions_set-value.md +++ b/docs/growthbook_config-revisions_set-value.md @@ -23,19 +23,17 @@ growthbook config-revisions set-value [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.infer-schema-if-missing value When the config has no schema yet, infer one from the supplied value and stage it on the same draft. - --body-param.revision-comment string string value - --body-param.revision-title string string value - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.value string This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value. - -h, --help help for set-value - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -h, --help help for set-value + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --infer-schema-if-missing value When the config has no schema yet, infer one from the supplied value and stage it on the same draft. + -k, --key string [required] + --revision-comment string string value + --revision-title string string value + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --value string This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value. + --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_configs_archive.md b/docs/growthbook_configs_archive.md index 03ead56..caef7ba 100644 --- a/docs/growthbook_configs_archive.md +++ b/docs/growthbook_configs_archive.md @@ -19,13 +19,12 @@ growthbook configs archive [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for archive - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string The key of the config [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -h, --help help for archive + -i, --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -k, --key string The key of the config [required] + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. ``` ### Options inherited from parent commands diff --git a/docs/growthbook_configs_create.md b/docs/growthbook_configs_create.md index 2affe42..4f3a3ef 100644 --- a/docs/growthbook_configs_create.md +++ b/docs/growthbook_configs_create.md @@ -13,44 +13,42 @@ growthbook configs create [flags] ### Examples ``` - growthbook configs create --body-param.key --body-param.name + growthbook configs create --key --name ``` ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.description string string value - --body-param.experiment-guard Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default. - --body-param.extends key Additional composition bases (config keys) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`. - --body-param.extensible boolean flag - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.invariants string Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish. - --body-param.key @config:key Stable reference handle (lowercase slug, unique per org), referenced as @config:key [required] - --body-param.name string The display name of the config [required] - --body-param.owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used. - --body-param.parent key The key of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected). - --body-param.project string string value - --body-param.schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) - --body-param.schema.go string ConfigSchemaSource_Go variant as JSON - --body-param.schema.go.value struct Go source — a struct definition. [required] - --body-param.schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON - --body-param.schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON - --body-param.schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] - --body-param.schema.python string ConfigSchemaSource_Python variant as JSON - --body-param.schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] - --body-param.schema.rust string ConfigSchemaSource_Rust variant as JSON - --body-param.schema.rust.value struct Rust source — a serde struct definition. [required] - --body-param.schema.typescript string ConfigSchemaSource_Typescript variant as JSON - --body-param.schema.typescript.value string TypeScript source — an interface or object type. [required] - --body-param.scoped-overrides key Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by key) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry). - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.source typescript Optional identifier of the consuming codebase/service. When a typed-code schema (typescript/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=&format=` can reproduce those names. - --body-param.value scopedOverrides This config's base value as a JSON object. Per-environment/project variants are expressed via scopedOverrides. - -h, --help help for create - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + --description string string value + --experiment-guard Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default. + --extends key Additional composition bases (config keys) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`. + --extensible boolean flag + -h, --help help for create + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --invariants string Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish. + -k, --key @config:key Stable reference handle (lowercase slug, unique per org), referenced as @config:key [required] + -n, --name string The display name of the config [required] + --owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used. + --parent key The key of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected). + --project string string value + --schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) + --schema.go string ConfigSchemaSource_Go variant as JSON + --schema.go.value struct Go source — a struct definition. [required] + --schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON + --schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON + --schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] + --schema.python string ConfigSchemaSource_Python variant as JSON + --schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] + --schema.rust string ConfigSchemaSource_Rust variant as JSON + --schema.rust.value struct Rust source — a serde struct definition. [required] + --schema.typescript string ConfigSchemaSource_Typescript variant as JSON + --schema.typescript.value string TypeScript source — an interface or object type. [required] + --scoped-overrides key Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by key) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry). + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --source typescript Optional identifier of the consuming codebase/service. When a typed-code schema (typescript/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=&format=` can reproduce those names. + -v, --value scopedOverrides This config's base value as a JSON object. Per-environment/project variants are expressed via scopedOverrides. ``` ### Options inherited from parent commands diff --git a/docs/growthbook_configs_update.md b/docs/growthbook_configs_update.md index 807faf8..79eb69a 100644 --- a/docs/growthbook_configs_update.md +++ b/docs/growthbook_configs_update.md @@ -19,39 +19,37 @@ growthbook configs update [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.bypass-approval Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required. - --body-param.description string string value - --body-param.experiment-guard Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access. - --body-param.extends parent Replace the composition bases (mixins) layered on top of parent, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`. - --body-param.extensible boolean flag - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.invariants string Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged. - --body-param.name string string value - --body-param.owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. - --body-param.parent key Change the lineage parent (the key of the config to inherit from). Set to an empty string to detach from the parent and make this a root config. - --body-param.project string string value - --body-param.schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) - --body-param.schema.go string ConfigSchemaSource_Go variant as JSON - --body-param.schema.go.value struct Go source — a struct definition. [required] - --body-param.schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON - --body-param.schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON - --body-param.schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] - --body-param.schema.python string ConfigSchemaSource_Python variant as JSON - --body-param.schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] - --body-param.schema.rust string ConfigSchemaSource_Rust variant as JSON - --body-param.schema.rust.value struct Rust source — a serde struct definition. [required] - --body-param.schema.typescript string ConfigSchemaSource_Typescript variant as JSON - --body-param.schema.typescript.value string TypeScript source — an interface or object type. [required] - --body-param.scoped-overrides key Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by key) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.source typescript Optional identifier of the consuming codebase/service. When a typescript or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export. - --body-param.value scopedOverrides This config's base value as a JSON object. Per-environment/project variants are expressed via scopedOverrides. - -h, --help help for update - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -k, --key string The key of the config [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -b, --bypass-approval Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required. + --description string string value + --experiment-guard Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access. + --extends parent Replace the composition bases (mixins) layered on top of parent, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`. + --extensible boolean flag + -h, --help help for update + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --invariants string Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged. + -k, --key string The key of the config [required] + -n, --name string string value + --owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. + --parent key Change the lineage parent (the key of the config to inherit from). Set to an empty string to detach from the parent and make this a root config. + --project string string value + --schema string JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string }) + --schema.go string ConfigSchemaSource_Go variant as JSON + --schema.go.value struct Go source — a struct definition. [required] + --schema.json-schema string ConfigSchemaSource_JSONSchema variant as JSON + --schema.protobuf string ConfigSchemaSource_Protobuf variant as JSON + --schema.protobuf.value message Protobuf (proto3) source — a message definition. [required] + --schema.python string ConfigSchemaSource_Python variant as JSON + --schema.python.value BaseModel Python source — a Pydantic BaseModel class. [required] + --schema.rust string ConfigSchemaSource_Rust variant as JSON + --schema.rust.value struct Rust source — a serde struct definition. [required] + --schema.typescript string ConfigSchemaSource_Typescript variant as JSON + --schema.typescript.value string TypeScript source — an interface or object type. [required] + --scoped-overrides key Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by key) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable. + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --source typescript Optional identifier of the consuming codebase/service. When a typescript or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export. + -v, --value scopedOverrides This config's base value as a JSON object. Per-environment/project variants are expressed via scopedOverrides. ``` ### Options inherited from parent commands diff --git a/docs/growthbook_feature-revisions_add-rule.md b/docs/growthbook_feature-revisions_add-rule.md index 03a3aff..280d224 100644 --- a/docs/growthbook_feature-revisions_add-rule.md +++ b/docs/growthbook_feature-revisions_add-rule.md @@ -15,26 +15,24 @@ growthbook feature-revisions add-rule [flags] ### Examples ``` - growthbook feature-revisions add-rule --id --version-param --body-param.rule '{"value":""}' + growthbook feature-revisions add-rule --id --version-param --rule '{"value":""}' ``` ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.ramp-schedule schedule Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with schedule. - --body-param.revision-comment string Comment for a newly created draft. Only used when version is "new"; ignored for existing revisions. - --body-param.revision-title string Title for a newly created draft. Only used when version is "new"; ignored for existing revisions. - --body-param.rule string JSON value (one of: { description: string, enabled: boolean, condition: string, savedGroups: object[], ... }) - --body-param.schedule rampSchedule Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with rampSchedule. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for add-rule - --id string [required] - --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -h, --help help for add-rule + --id string [required] + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --ramp-schedule schedule Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with schedule. + --revision-comment string Comment for a newly created draft. Only used when version is "new"; ignored for existing revisions. + --revision-title string Title for a newly created draft. Only used when version is "new"; ignored for existing revisions. + --rule string JSON value (one of: { description: string, enabled: boolean, condition: string, savedGroups: object[], ... }) + --schedule rampSchedule Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with rampSchedule. + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_feature-revisions_publish.md b/docs/growthbook_feature-revisions_publish.md index b5a6420..d9cb3b8 100644 --- a/docs/growthbook_feature-revisions_publish.md +++ b/docs/growthbook_feature-revisions_publish.md @@ -19,17 +19,15 @@ growthbook feature-revisions publish [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.bypass-approval Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published. - --body-param.comment string string value - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for publish - --id string [required] - --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -b, --bypass-approval Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published. + -c, --comment string string value + -h, --help help for publish + --id string [required] + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_feature-revisions_set-default-value.md b/docs/growthbook_feature-revisions_set-default-value.md index efc1b53..22c7a32 100644 --- a/docs/growthbook_feature-revisions_set-default-value.md +++ b/docs/growthbook_feature-revisions_set-default-value.md @@ -13,25 +13,23 @@ growthbook feature-revisions set-default-value [flags] ### Examples ``` - growthbook feature-revisions set-default-value --id --version-param --body-param.default-value + growthbook feature-revisions set-default-value --id --version-param --default-value ``` ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.default-value baseConfig New default value. In Config mode (feature has baseConfig), the default must be exactly a config with no overrides: send `"{}"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required] - --body-param.default-value-config baseConfig Key of a config within the feature's baseConfig family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field. - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.revision-comment string Comment for a newly created draft. Only used when version is "new"; ignored for existing revisions. - --body-param.revision-title string Title for a newly created draft. Only used when version is "new"; ignored for existing revisions. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for set-default-value - --id string [required] - --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + --default-value baseConfig New default value. In Config mode (feature has baseConfig), the default must be exactly a config with no overrides: send `"{}"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required] + --default-value-config baseConfig Key of a config within the feature's baseConfig family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field. + -h, --help help for set-default-value + --id string [required] + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --revision-comment string Comment for a newly created draft. Only used when version is "new"; ignored for existing revisions. + --revision-title string Title for a newly created draft. Only used when version is "new"; ignored for existing revisions. + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_feature-revisions_update-rule.md b/docs/growthbook_feature-revisions_update-rule.md index dc6f2fb..bde11a3 100644 --- a/docs/growthbook_feature-revisions_update-rule.md +++ b/docs/growthbook_feature-revisions_update-rule.md @@ -15,27 +15,25 @@ growthbook feature-revisions update-rule [flags] ### Examples ``` - growthbook feature-revisions update-rule --id --version-param --rule-id --body-param.rule '{}' + growthbook feature-revisions update-rule --id --version-param --rule-id --rule '{}' ``` ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.ramp-schedule schedule Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with schedule. - --body-param.revision-comment string Comment for a newly created draft. Only used when version is "new"; ignored for existing revisions. - --body-param.revision-title string Title for a newly created draft. Only used when version is "new"; ignored for existing revisions. - --body-param.rule string [required] - --body-param.schedule rampSchedule Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with rampSchedule. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - -h, --help help for update-rule - --id string [required] - --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -r, --rule-id string [required] - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. - -v, --version-param string [required] + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -h, --help help for update-rule + --id string [required] + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + --ramp-schedule schedule Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with schedule. + --revision-comment string Comment for a newly created draft. Only used when version is "new"; ignored for existing revisions. + --revision-title string Title for a newly created draft. Only used when version is "new"; ignored for existing revisions. + --rule string [required] + --rule-id string [required] + --schedule rampSchedule Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with rampSchedule. + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + -v, --version-param string [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_features_create.md b/docs/growthbook_features_create.md index 76e728f..c2e5c79 100644 --- a/docs/growthbook_features_create.md +++ b/docs/growthbook_features_create.md @@ -38,36 +38,34 @@ growthbook features create [flags] ### Examples ``` - growthbook features create --body-param.id --body-param.value-type number --body-param.default-value + growthbook features create --id --value-type number --default-value ``` ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.archived boolean flag - --body-param.base-config valueType: "json" Key of the config backing this flag ("Config mode"). Requires valueType: "json" and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag. - --body-param.custom-fields string value - --body-param.default-value valueType Default value when feature is enabled. Type must match valueType. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `"{}"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required] - --body-param.default-value-config baseConfig Optional. A config within baseConfig's family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own. - --body-param.description string Description of the feature - --body-param.environments rules Per-environment enabled state. V2 rules are specified on the top-level rules field. - --body-param.id string A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required] - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.json-schema string Use JSON schema to validate the payload of a JSON-type feature value (enterprise only). - --body-param.owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400. - --body-param.prerequisites true Feature IDs. Each feature must evaluate to true - --body-param.project string An associated project ID - --body-param.rules allEnvironments Feature rules. Each rule carries its own environment scope via allEnvironments / `environments`. - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.tags stringArray List of associated tags - --body-param.targeting-all-projects project Make this feature discoverable in — and served to — every project, beyond its primary project. Governance/approvals stay with `project`. - --body-param.targeting-projects project Secondary project IDs this feature is targeted in and served to, beyond its primary project. Governance/approvals stay with `project`. - --body-param.value-type string The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required] - -h, --help help for create - -i, --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. + -a, --archived boolean flag + -b, --base-config valueType: "json" Key of the config backing this flag ("Config mode"). Requires valueType: "json" and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag. + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -c, --custom-fields string value + --default-value valueType Default value when feature is enabled. Type must match valueType. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `"{}"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required] + --default-value-config baseConfig Optional. A config within baseConfig's family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own. + --description string Description of the feature + -e, --environments rules Per-environment enabled state. V2 rules are specified on the top-level rules field. + -h, --help help for create + --id string A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required] + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -j, --json-schema string Use JSON schema to validate the payload of a JSON-type feature value (enterprise only). + --owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400. + --prerequisites true Feature IDs. Each feature must evaluate to true + --project string An associated project ID + -r, --rules allEnvironments Feature rules. Each rule carries its own environment scope via allEnvironments / `environments`. + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --tags stringArray List of associated tags + --targeting-all-projects project Make this feature discoverable in — and served to — every project, beyond its primary project. Governance/approvals stay with `project`. + --targeting-projects project Secondary project IDs this feature is targeted in and served to, beyond its primary project. Governance/approvals stay with `project`. + -v, --value-type string The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required] ``` ### Options inherited from parent commands diff --git a/docs/growthbook_features_update.md b/docs/growthbook_features_update.md index 5b0eaf7..65c756a 100644 --- a/docs/growthbook_features_update.md +++ b/docs/growthbook_features_update.md @@ -21,31 +21,29 @@ growthbook features update [flags] ### Options ``` - --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. - --body-param.archived boolean flag - --body-param.base-config string The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected. - --body-param.custom-fields string value - --body-param.default-value string string value - --body-param.default-value-config baseConfig Optional. A config within baseConfig's family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own. - --body-param.description string Description of the feature - --body-param.environments rules Per-environment enabled state. V2 rules are specified on the top-level rules field. - --body-param.holdout null Holdout to assign this feature to. Pass null to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged. - - --body-param.ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. - --body-param.json-schema string Use JSON schema to validate the payload of a JSON-type feature value (enterprise only). - --body-param.owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. - --body-param.prerequisites true Feature IDs. Each feature must evaluate to true - --body-param.project string An associated project ID - --body-param.rules rules Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire rules array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`). - --body-param.skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. - --body-param.tags stringArray List of associated tags. Will override tags completely with submitted list - --body-param.targeting-all-projects project Make this feature discoverable in — and served to — every project, beyond its primary project. Governance/approvals stay with `project`. - --body-param.targeting-projects project Secondary project IDs this feature is targeted in and served to, beyond its primary project. Governance/approvals stay with `project`. - -h, --help help for update - --id string The id of the requested resource [required] - --ignore-warnings ignoreWarnings Deprecated — pass ignoreWarnings in the request body instead. - -s, --skip-schema-validation skipSchemaValidation Deprecated — pass skipSchemaValidation in the request body instead. + -a, --archived boolean flag + -b, --base-config string The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected. + --body string Request body as JSON (alternative to individual flags). Can also be provided via stdin. + -c, --custom-fields string value + --default-value string string value + --default-value-config baseConfig Optional. A config within baseConfig's family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own. + --description string Description of the feature + -e, --environments rules Per-environment enabled state. V2 rules are specified on the top-level rules field. + -h, --help help for update + --holdout null Holdout to assign this feature to. Pass null to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged. + + --id string The id of the requested resource [required] + --ignore-warnings Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. + -j, --json-schema string Use JSON schema to validate the payload of a JSON-type feature value (enterprise only). + --owner string The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. + --prerequisites true Feature IDs. Each feature must evaluate to true + --project string An associated project ID + -r, --rules rules Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire rules array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`). + --skip-hooks skipSchemaValidation Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --skip-schema-validation skipHooks Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. + --tags stringArray List of associated tags. Will override tags completely with submitted list + --targeting-all-projects project Make this feature discoverable in — and served to — every project, beyond its primary project. Governance/approvals stay with `project`. + --targeting-projects project Secondary project IDs this feature is targeted in and served to, beyond its primary project. Governance/approvals stay with `project`. ``` ### Options inherited from parent commands diff --git a/internal/cli/configrevisions/publish.go b/internal/cli/configrevisions/publish.go index 83cf16b..778c0a8 100644 --- a/internal/cli/configrevisions/publish.go +++ b/internal/cli/configrevisions/publish.go @@ -17,12 +17,10 @@ import ( var publishCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.bypass-approval", FieldPath: "Body.BypassApproval", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "bypass-approval", Shorthand: "b", FieldPath: "Body.BypassApproval", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published."}, + {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initPublishCmd initializes the publish command. diff --git a/internal/cli/configrevisions/revert.go b/internal/cli/configrevisions/revert.go index 374512b..f87fb0f 100644 --- a/internal/cli/configrevisions/revert.go +++ b/internal/cli/configrevisions/revert.go @@ -17,14 +17,12 @@ import ( var revertCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.strategy", FieldPath: "Body.Strategy", Kind: flagutil.FlagKindEnum, Optional: true, EnumValues: []string{"draft", "publish"}, Description: "Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)"}, - {FlagName: "body-param.title", FieldPath: "Body.Title", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.comment", FieldPath: "Body.Comment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "strategy", FieldPath: "Body.Strategy", Kind: flagutil.FlagKindEnum, Optional: true, EnumValues: []string{"draft", "publish"}, Description: "Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)"}, + {FlagName: "title", Shorthand: "t", FieldPath: "Body.Title", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "comment", Shorthand: "c", FieldPath: "Body.Comment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initRevertCmd initializes the revert command. diff --git a/internal/cli/configrevisions/setmetadata.go b/internal/cli/configrevisions/setmetadata.go index b33446d..193fac0 100644 --- a/internal/cli/configrevisions/setmetadata.go +++ b/internal/cli/configrevisions/setmetadata.go @@ -17,20 +17,18 @@ import ( var setMetadataCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.name", FieldPath: "Body.Name", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization."}, - {FlagName: "body-param.description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.parent", FieldPath: "Body.Parent", Kind: flagutil.FlagKindString, Optional: true, Description: "Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent."}, - {FlagName: "body-param.extends", FieldPath: "Body.Extends", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins."}, - {FlagName: "body-param.extensible", FieldPath: "Body.Extensible", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "name", Shorthand: "n", FieldPath: "Body.Name", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization."}, + {FlagName: "description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "parent", FieldPath: "Body.Parent", Kind: flagutil.FlagKindString, Optional: true, Description: "Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent."}, + {FlagName: "extends", FieldPath: "Body.Extends", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins."}, + {FlagName: "extensible", FieldPath: "Body.Extensible", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, + {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initSetMetadataCmd initializes the set-metadata command. diff --git a/internal/cli/configrevisions/setprojection.go b/internal/cli/configrevisions/setprojection.go index dde8477..ce74715 100644 --- a/internal/cli/configrevisions/setprojection.go +++ b/internal/cli/configrevisions/setprojection.go @@ -17,33 +17,31 @@ import ( var setProjectionCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.source", FieldPath: "Body.Source", Kind: flagutil.FlagKindString, Required: true, Description: "Identifier of the consuming codebase/service this projection belongs to. [required]"}, - {FlagName: "body-param.schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ - {DiscriminatorValue: "json-schema", FlagName: "body-param.schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, - {DiscriminatorValue: "typescript", FlagName: "body-param.schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "source", FieldPath: "Body.Source", Kind: flagutil.FlagKindString, Required: true, Description: "Identifier of the consuming codebase/service this projection belongs to. [required]"}, + {FlagName: "schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ + {DiscriminatorValue: "json-schema", FlagName: "schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, + {DiscriminatorValue: "typescript", FlagName: "schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, }}, - {DiscriminatorValue: "protobuf", FlagName: "body-param.schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, + {DiscriminatorValue: "protobuf", FlagName: "schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, }}, - {DiscriminatorValue: "python", FlagName: "body-param.schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, + {DiscriminatorValue: "python", FlagName: "schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, }}, - {DiscriminatorValue: "go", FlagName: "body-param.schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, + {DiscriminatorValue: "go", FlagName: "schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, }}, - {DiscriminatorValue: "rust", FlagName: "body-param.schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, + {DiscriminatorValue: "rust", FlagName: "schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, }}, }}}, - {FlagName: "body-param.additional-properties", FieldPath: "Body.AdditionalProperties", Kind: flagutil.FlagKindBool, Optional: true, Description: "Whether the resulting object schema permits extra keys (family extensibility)."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "additional-properties", Shorthand: "a", FieldPath: "Body.AdditionalProperties", Kind: flagutil.FlagKindBool, Optional: true, Description: "Whether the resulting object schema permits extra keys (family extensibility)."}, + {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initSetProjectionCmd initializes the set-projection command. @@ -52,7 +50,7 @@ func initSetProjectionCmd(parent *cobra.Command) error { Use: "set-projection", Short: "Set (or update) a config's per-source render projection on a draft", Long: "Stages a per-source render projection on the draft, AND the schema it implies. Provide a named `schema` source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\" | \"json-schema\", value }`) for the consuming codebase identified by `source`: GrowthBook derives the config's canonical schema from it (so the change projects into the Config) and captures that source's named-type structure under `renderProjections[source]`. Both are staged on the draft and published through the normal flow. Pass `version: \"new\"` to auto-create a draft. Lossy conversions degrade with `warnings`.", - Example: " growthbook config-revisions set-projection --key --version-param --body-param.source --body-param.schema '{\"type\":\"rust\",\"value\":\"\"}'", + Example: " growthbook config-revisions set-projection --key --version-param --source --schema '{\"type\":\"rust\",\"value\":\"\"}'", RunE: runSetProjectionCmd, Aliases: []string{"spr"}, } diff --git a/internal/cli/configrevisions/setschema.go b/internal/cli/configrevisions/setschema.go index b72895b..ba6345d 100644 --- a/internal/cli/configrevisions/setschema.go +++ b/internal/cli/configrevisions/setschema.go @@ -17,33 +17,31 @@ import ( var setSchemaCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", Optional: true, TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ - {DiscriminatorValue: "json-schema", FlagName: "body-param.schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, - {DiscriminatorValue: "typescript", FlagName: "body-param.schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", Optional: true, TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ + {DiscriminatorValue: "json-schema", FlagName: "schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, + {DiscriminatorValue: "typescript", FlagName: "schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, }}, - {DiscriminatorValue: "protobuf", FlagName: "body-param.schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, + {DiscriminatorValue: "protobuf", FlagName: "schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, }}, - {DiscriminatorValue: "python", FlagName: "body-param.schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, + {DiscriminatorValue: "python", FlagName: "schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, }}, - {DiscriminatorValue: "go", FlagName: "body-param.schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, + {DiscriminatorValue: "go", FlagName: "schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, }}, - {DiscriminatorValue: "rust", FlagName: "body-param.schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, + {DiscriminatorValue: "rust", FlagName: "schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, }}, }}}, - {FlagName: "body-param.infer", FieldPath: "Body.Infer", Kind: flagutil.FlagKindBool, Optional: true, Description: "Derive the schema from the draft's value instead."}, - {FlagName: "body-param.additional-properties", FieldPath: "Body.AdditionalProperties", Kind: flagutil.FlagKindBool, Optional: true, Description: "Whether the resulting object schema permits extra keys (family extensibility)."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "infer", FieldPath: "Body.Infer", Kind: flagutil.FlagKindBool, Optional: true, Description: "Derive the schema from the draft's value instead."}, + {FlagName: "additional-properties", Shorthand: "a", FieldPath: "Body.AdditionalProperties", Kind: flagutil.FlagKindBool, Optional: true, Description: "Whether the resulting object schema permits extra keys (family extensibility)."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initSetSchemaCmd initializes the set-schema command. diff --git a/internal/cli/configrevisions/setvalue.go b/internal/cli/configrevisions/setvalue.go index 8b08188..0f8af37 100644 --- a/internal/cli/configrevisions/setvalue.go +++ b/internal/cli/configrevisions/setvalue.go @@ -16,16 +16,14 @@ import ( var setValueCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.value", FieldPath: "Body.Value", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"value,omitempty"`, Description: "This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value."}, - {FlagName: "body-param.infer-schema-if-missing", FieldPath: "Body.InferSchemaIfMissing", Kind: flagutil.FlagKindBool, Optional: true, Description: "When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "version-param", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "value", FieldPath: "Body.Value", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"value,omitempty"`, Description: "This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value."}, + {FlagName: "infer-schema-if-missing", FieldPath: "Body.InferSchemaIfMissing", Kind: flagutil.FlagKindBool, Optional: true, Description: "When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initSetValueCmd initializes the set-value command. diff --git a/internal/cli/configs/archiveconfig.go b/internal/cli/configs/archiveconfig.go index dae3220..57a56f5 100644 --- a/internal/cli/configs/archiveconfig.go +++ b/internal/cli/configs/archiveconfig.go @@ -16,10 +16,9 @@ import ( var archiveConfigCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "The key of the config [required]"}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initArchiveConfigCmd initializes the archive-config command. diff --git a/internal/cli/configs/create.go b/internal/cli/configs/create.go index f513751..69dba7c 100644 --- a/internal/cli/configs/create.go +++ b/internal/cli/configs/create.go @@ -15,42 +15,40 @@ import ( ) var createCmdMeta = []flagutil.FlagMeta{ - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.key", FieldPath: "Body.Key", Kind: flagutil.FlagKindString, Required: true, Description: "Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]"}, - {FlagName: "body-param.name", FieldPath: "Body.Name", Kind: flagutil.FlagKindString, Required: true, Description: "The display name of the config [required]"}, - {FlagName: "body-param.parent", FieldPath: "Body.Parent", Kind: flagutil.FlagKindString, Optional: true, Description: "The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected)."}, - {FlagName: "body-param.extends", FieldPath: "Body.Extends", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`."}, - {FlagName: "body-param.value", FieldPath: "Body.Value", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"value,omitempty"`, Description: "This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`."}, - {FlagName: "body-param.scoped-overrides", FieldPath: "Body.ScopedOverrides", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"scopedOverrides,omitempty"`, Description: "Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry)."}, - {FlagName: "body-param.description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used."}, - {FlagName: "body-param.schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", Optional: true, TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ - {DiscriminatorValue: "json-schema", FlagName: "body-param.schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, - {DiscriminatorValue: "typescript", FlagName: "body-param.schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, + {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]"}, + {FlagName: "name", Shorthand: "n", FieldPath: "Name", Kind: flagutil.FlagKindString, Required: true, Description: "The display name of the config [required]"}, + {FlagName: "parent", FieldPath: "Parent", Kind: flagutil.FlagKindString, Optional: true, Description: "The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected)."}, + {FlagName: "extends", FieldPath: "Extends", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`."}, + {FlagName: "value", Shorthand: "v", FieldPath: "Value", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"value,omitempty"`, Description: "This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`."}, + {FlagName: "scoped-overrides", FieldPath: "ScopedOverrides", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"scopedOverrides,omitempty"`, Description: "Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry)."}, + {FlagName: "description", FieldPath: "Description", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "project", FieldPath: "Project", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "owner", FieldPath: "Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used."}, + {FlagName: "schema", FieldPath: "Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", Optional: true, TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ + {DiscriminatorValue: "json-schema", FlagName: "schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, + {DiscriminatorValue: "typescript", FlagName: "schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, }}, - {DiscriminatorValue: "protobuf", FlagName: "body-param.schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, + {DiscriminatorValue: "protobuf", FlagName: "schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, }}, - {DiscriminatorValue: "python", FlagName: "body-param.schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, + {DiscriminatorValue: "python", FlagName: "schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, }}, - {DiscriminatorValue: "go", FlagName: "body-param.schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, + {DiscriminatorValue: "go", FlagName: "schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, }}, - {DiscriminatorValue: "rust", FlagName: "body-param.schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, + {DiscriminatorValue: "rust", FlagName: "schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, }}, }}}, - {FlagName: "body-param.source", FieldPath: "Body.Source", Kind: flagutil.FlagKindString, Optional: true, Description: "Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=&format=` can reproduce those names."}, - {FlagName: "body-param.extensible", FieldPath: "Body.Extensible", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, - {FlagName: "body-param.experiment-guard", FieldPath: "Body.ExperimentGuard", Kind: flagutil.FlagKindBool, Optional: true, Description: "Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default."}, - {FlagName: "body-param.invariants", FieldPath: "Body.Invariants", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"invariants,omitempty"`, Description: "Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "source", FieldPath: "Source", Kind: flagutil.FlagKindString, Optional: true, Description: "Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=&format=` can reproduce those names."}, + {FlagName: "extensible", FieldPath: "Extensible", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, + {FlagName: "experiment-guard", FieldPath: "ExperimentGuard", Kind: flagutil.FlagKindBool, Optional: true, Description: "Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default."}, + {FlagName: "invariants", FieldPath: "Invariants", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"invariants,omitempty"`, Description: "Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish."}, + {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initCreateCmd initializes the create command. @@ -59,7 +57,7 @@ func initCreateCmd(parent *cobra.Command) error { Use: "create", Short: "Create a single config", Long: "Create a single config", - Example: " growthbook configs create --body-param.key --body-param.name ", + Example: " growthbook configs create --key --name ", RunE: runCreateCmd, } flagutil.RegisterFlags(cmd, createCmdMeta) @@ -81,7 +79,7 @@ func runCreateCmd(cmd *cobra.Command, args []string) error { return err } } - req, err := flagutil.BuildRequest[operations.PostConfigRequest](cmd, createCmdMeta, "Body", "body") + request, err := flagutil.BuildRequest[operations.PostConfigRequest](cmd, createCmdMeta, "", "body") if err != nil { return err } @@ -104,7 +102,7 @@ func runCreateCmd(cmd *cobra.Command, args []string) error { if output.WantsRawJSON(cmd) { sdkOpts = append(sdkOpts, operations.WithSkipDeserialization()) } - res, err := s.Configs.Create(cmd.Context(), *req, sdkOpts...) + res, err := s.Configs.Create(cmd.Context(), *request, sdkOpts...) if err != nil { return output.Error(cmd, err) } diff --git a/internal/cli/configs/updateconfig.go b/internal/cli/configs/updateconfig.go index 97d3ad1..9f75011 100644 --- a/internal/cli/configs/updateconfig.go +++ b/internal/cli/configs/updateconfig.go @@ -16,42 +16,40 @@ import ( var updateConfigCmdMeta = []flagutil.FlagMeta{ {FlagName: "key", Shorthand: "k", FieldPath: "Key", Kind: flagutil.FlagKindString, Required: true, Description: "The key of the config [required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.name", FieldPath: "Body.Name", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.parent", FieldPath: "Body.Parent", Kind: flagutil.FlagKindString, Optional: true, Description: "Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config."}, - {FlagName: "body-param.extends", FieldPath: "Body.Extends", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`."}, - {FlagName: "body-param.value", FieldPath: "Body.Value", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"value,omitempty"`, Description: "This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`."}, - {FlagName: "body-param.scoped-overrides", FieldPath: "Body.ScopedOverrides", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"scopedOverrides,omitempty"`, Description: "Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable."}, - {FlagName: "body-param.description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization."}, - {FlagName: "body-param.schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", Optional: true, TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ - {DiscriminatorValue: "json-schema", FlagName: "body-param.schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, - {DiscriminatorValue: "typescript", FlagName: "body-param.schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, + {FlagName: "name", Shorthand: "n", FieldPath: "Body.Name", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "parent", FieldPath: "Body.Parent", Kind: flagutil.FlagKindString, Optional: true, Description: "Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config."}, + {FlagName: "extends", FieldPath: "Body.Extends", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`."}, + {FlagName: "value", Shorthand: "v", FieldPath: "Body.Value", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"value,omitempty"`, Description: "This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`."}, + {FlagName: "scoped-overrides", FieldPath: "Body.ScopedOverrides", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"scopedOverrides,omitempty"`, Description: "Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable."}, + {FlagName: "description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization."}, + {FlagName: "schema", FieldPath: "Body.Schema", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: true, DiscriminatorKey: "Type", Optional: true, TypeDescription: "JSON value (variants: json-schema: { value: object }, typescript: { value: string }, protobuf: { value: string }, python: { value: string }, go: { value: string }, rust: { value: string })", Variants: []flagutil.UnionVariantMeta{ + {DiscriminatorValue: "json-schema", FlagName: "schema.json-schema", FieldName: "ConfigSchemaSourceJSONSchema", CanExpand: false, Description: "ConfigSchemaSource_JSONSchema variant as JSON"}, + {DiscriminatorValue: "typescript", FlagName: "schema.typescript", FieldName: "ConfigSchemaSourceTypescript", CanExpand: true, Description: "ConfigSchemaSource_Typescript variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.typescript.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "TypeScript source — an interface or object type. [required]"}, }}, - {DiscriminatorValue: "protobuf", FlagName: "body-param.schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, + {DiscriminatorValue: "protobuf", FlagName: "schema.protobuf", FieldName: "ConfigSchemaSourceProtobuf", CanExpand: true, Description: "ConfigSchemaSource_Protobuf variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.protobuf.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Protobuf (proto3) source — a `message` definition. [required]"}, }}, - {DiscriminatorValue: "python", FlagName: "body-param.schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, + {DiscriminatorValue: "python", FlagName: "schema.python", FieldName: "ConfigSchemaSourcePython", CanExpand: true, Description: "ConfigSchemaSource_Python variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.python.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Python source — a Pydantic `BaseModel` class. [required]"}, }}, - {DiscriminatorValue: "go", FlagName: "body-param.schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, + {DiscriminatorValue: "go", FlagName: "schema.go", FieldName: "ConfigSchemaSourceGo", CanExpand: true, Description: "ConfigSchemaSource_Go variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.go.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Go source — a `struct` definition. [required]"}, }}, - {DiscriminatorValue: "rust", FlagName: "body-param.schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ - {FlagName: "body-param.schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, + {DiscriminatorValue: "rust", FlagName: "schema.rust", FieldName: "ConfigSchemaSourceRust", CanExpand: true, Description: "ConfigSchemaSource_Rust variant as JSON", Fields: []flagutil.FlagMeta{ + {FlagName: "schema.rust.value", FieldPath: "Value", Kind: flagutil.FlagKindString, Required: true, Description: "Rust source — a serde `struct` definition. [required]"}, }}, }}}, - {FlagName: "body-param.source", FieldPath: "Body.Source", Kind: flagutil.FlagKindString, Optional: true, Description: "Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export."}, - {FlagName: "body-param.extensible", FieldPath: "Body.Extensible", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, - {FlagName: "body-param.experiment-guard", FieldPath: "Body.ExperimentGuard", Kind: flagutil.FlagKindBool, Optional: true, Description: "Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access."}, - {FlagName: "body-param.invariants", FieldPath: "Body.Invariants", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"invariants,omitempty"`, Description: "Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged."}, - {FlagName: "body-param.bypass-approval", FieldPath: "Body.BypassApproval", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "source", FieldPath: "Body.Source", Kind: flagutil.FlagKindString, Optional: true, Description: "Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export."}, + {FlagName: "extensible", FieldPath: "Body.Extensible", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, + {FlagName: "experiment-guard", FieldPath: "Body.ExperimentGuard", Kind: flagutil.FlagKindBool, Optional: true, Description: "Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access."}, + {FlagName: "invariants", FieldPath: "Body.Invariants", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"invariants,omitempty"`, Description: "Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged."}, + {FlagName: "bypass-approval", Shorthand: "b", FieldPath: "Body.BypassApproval", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initUpdateConfigCmd initializes the update-config command. diff --git a/internal/cli/featurerevisions/addrule.go b/internal/cli/featurerevisions/addrule.go index 597b7bc..fcd2ce5 100644 --- a/internal/cli/featurerevisions/addrule.go +++ b/internal/cli/featurerevisions/addrule.go @@ -17,16 +17,14 @@ import ( var addRuleCmdMeta = []flagutil.FlagMeta{ {FlagName: "id", FieldPath: "ID", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.rule", FieldPath: "Body.Rule", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: false, TypeDescription: "JSON value (one of: { description: string, enabled: boolean, condition: string, savedGroups: object[], ... })"}}, - {FlagName: "body-param.ramp-schedule", FieldPath: "Body.RampSchedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rampSchedule,omitempty"`, Description: "Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`."}, - {FlagName: "body-param.schedule", FieldPath: "Body.Schedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"schedule,omitempty"`, Description: "Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "Title for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "Comment for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "rule", FieldPath: "Body.Rule", Kind: flagutil.FlagKindUnion, Union: &flagutil.UnionMeta{Discriminated: false, TypeDescription: "JSON value (one of: { description: string, enabled: boolean, condition: string, savedGroups: object[], ... })"}}, + {FlagName: "ramp-schedule", FieldPath: "Body.RampSchedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rampSchedule,omitempty"`, Description: "Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`."}, + {FlagName: "schedule", FieldPath: "Body.Schedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"schedule,omitempty"`, Description: "Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`."}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "Title for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "Comment for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initAddRuleCmd initializes the add-rule command. @@ -35,7 +33,7 @@ func initAddRuleCmd(parent *cobra.Command) error { Use: "add-rule", Short: "Add a rule to a draft revision", Long: "Appends a new rule to the revision's rule list. Supply `allEnvironments: true` on the rule to target all environments, or `environments: [...]` to scope to specific ones.\n\n**Scheduling:** For `force` and `rollout` rules, attach a schedule via `rampSchedule` (multi-step ramp) or `schedule` (simple start/end window) — these create standalone ramp actions and set `pendingRamp: \"create\"` on the rule. For `experiment-ref` and `safe-rollout` rules, only `schedule` is supported and is stored as legacy schedule fields on the rule itself (`rampSchedule` is not available for these rule types).", - Example: " growthbook feature-revisions add-rule --id --version-param --body-param.rule '{\"value\":\"\"}'", + Example: " growthbook feature-revisions add-rule --id --version-param --rule '{\"value\":\"\"}'", RunE: runAddRuleCmd, Aliases: []string{"ar"}, } diff --git a/internal/cli/featurerevisions/publish.go b/internal/cli/featurerevisions/publish.go index b698ce3..3daf783 100644 --- a/internal/cli/featurerevisions/publish.go +++ b/internal/cli/featurerevisions/publish.go @@ -17,13 +17,11 @@ import ( var publishCmdMeta = []flagutil.FlagMeta{ {FlagName: "id", FieldPath: "ID", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.comment", FieldPath: "Body.Comment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.bypass-approval", FieldPath: "Body.BypassApproval", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "comment", Shorthand: "c", FieldPath: "Body.Comment", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "bypass-approval", Shorthand: "b", FieldPath: "Body.BypassApproval", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initPublishCmd initializes the publish command. diff --git a/internal/cli/featurerevisions/setdefaultvalue.go b/internal/cli/featurerevisions/setdefaultvalue.go index 20d3085..6f89eed 100644 --- a/internal/cli/featurerevisions/setdefaultvalue.go +++ b/internal/cli/featurerevisions/setdefaultvalue.go @@ -17,15 +17,13 @@ import ( var setDefaultValueCmdMeta = []flagutil.FlagMeta{ {FlagName: "id", FieldPath: "ID", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.default-value", FieldPath: "Body.DefaultValue", Kind: flagutil.FlagKindString, Required: true, Description: "New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\"{}\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]"}, - {FlagName: "body-param.default-value-config", FieldPath: "Body.DefaultValueConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"defaultValueConfig,omitempty"`, Description: "Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "Title for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "Comment for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "default-value", FieldPath: "Body.DefaultValue", Kind: flagutil.FlagKindString, Required: true, Description: "New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\"{}\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]"}, + {FlagName: "default-value-config", FieldPath: "Body.DefaultValueConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"defaultValueConfig,omitempty"`, Description: "Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field."}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "Title for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "Comment for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initSetDefaultValueCmd initializes the set-default-value command. @@ -34,7 +32,7 @@ func initSetDefaultValueCmd(parent *cobra.Command) error { Use: "set-default-value", Short: "Set the default value in a draft revision", Long: "Set the default value in a draft revision", - Example: " growthbook feature-revisions set-default-value --id --version-param --body-param.default-value ", + Example: " growthbook feature-revisions set-default-value --id --version-param --default-value ", RunE: runSetDefaultValueCmd, Aliases: []string{"sdv"}, } diff --git a/internal/cli/featurerevisions/updaterule.go b/internal/cli/featurerevisions/updaterule.go index a0446f0..b69cf71 100644 --- a/internal/cli/featurerevisions/updaterule.go +++ b/internal/cli/featurerevisions/updaterule.go @@ -17,17 +17,15 @@ import ( var updateRuleCmdMeta = []flagutil.FlagMeta{ {FlagName: "id", FieldPath: "ID", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, {FlagName: "version-param", Shorthand: "v", FieldPath: "Version", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "rule-id", Shorthand: "r", FieldPath: "RuleID", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.rule", FieldPath: "Body.Rule", Kind: flagutil.FlagKindJSON, Required: true, Annotations: `json:"rule"`, Description: "[required]"}, - {FlagName: "body-param.ramp-schedule", FieldPath: "Body.RampSchedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rampSchedule,omitempty"`, Description: "Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`."}, - {FlagName: "body-param.schedule", FieldPath: "Body.Schedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"schedule,omitempty"`, Description: "Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`."}, - {FlagName: "body-param.revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "Title for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, - {FlagName: "body-param.revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "Comment for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "rule-id", FieldPath: "RuleID", Kind: flagutil.FlagKindString, Required: true, Description: "[required]"}, + {FlagName: "rule", FieldPath: "Body.Rule", Kind: flagutil.FlagKindJSON, Required: true, Annotations: `json:"rule"`, Description: "[required]"}, + {FlagName: "ramp-schedule", FieldPath: "Body.RampSchedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rampSchedule,omitempty"`, Description: "Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`."}, + {FlagName: "schedule", FieldPath: "Body.Schedule", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"schedule,omitempty"`, Description: "Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`."}, + {FlagName: "revision-title", FieldPath: "Body.RevisionTitle", Kind: flagutil.FlagKindString, Optional: true, Description: "Title for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, + {FlagName: "revision-comment", FieldPath: "Body.RevisionComment", Kind: flagutil.FlagKindString, Optional: true, Description: "Comment for a newly created draft. Only used when version is \"new\"; ignored for existing revisions."}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initUpdateRuleCmd initializes the update-rule command. @@ -36,7 +34,7 @@ func initUpdateRuleCmd(parent *cobra.Command) error { Use: "update-rule", Short: "Update a rule in a draft revision", Long: "Patches fields on an existing rule (identified by `ruleId`). The rule `type` cannot be changed. Scope can be updated via `allEnvironments` / `environments` patch fields.\n\n**Scheduling:** For `force` and `rollout` rules, update the schedule via `rampSchedule` (multi-step ramp) or `schedule` (simple start/end window) — these manage standalone ramp actions and set `pendingRamp: \"create\"` on the rule. For `experiment-ref` and `safe-rollout` rules, only `schedule` is supported and updates legacy schedule fields on the rule itself (`rampSchedule` is not available for these rule types).", - Example: " growthbook feature-revisions update-rule --id --version-param --rule-id --body-param.rule '{}'", + Example: " growthbook feature-revisions update-rule --id --version-param --rule-id --rule '{}'", RunE: runUpdateRuleCmd, Aliases: []string{"uru"}, } diff --git a/internal/cli/features/create.go b/internal/cli/features/create.go index f41d262..3d96412 100644 --- a/internal/cli/features/create.go +++ b/internal/cli/features/create.go @@ -15,28 +15,26 @@ import ( ) var createCmdMeta = []flagutil.FlagMeta{ - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", Shorthand: "i", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.id", FieldPath: "Body.ID", Kind: flagutil.FlagKindString, Required: true, Description: "A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]"}, - {FlagName: "body-param.archived", FieldPath: "Body.Archived", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, - {FlagName: "body-param.description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "Description of the feature"}, - {FlagName: "body-param.owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400."}, - {FlagName: "body-param.project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "An associated project ID"}, - {FlagName: "body-param.targeting-all-projects", FieldPath: "Body.TargetingAllProjects", Kind: flagutil.FlagKindBool, Optional: true, Description: "Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`."}, - {FlagName: "body-param.targeting-projects", FieldPath: "Body.TargetingProjects", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`."}, - {FlagName: "body-param.value-type", FieldPath: "Body.ValueType", Kind: flagutil.FlagKindEnum, Required: true, EnumValues: []string{"boolean", "string", "number", "json"}, Description: "The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]"}, - {FlagName: "body-param.default-value", FieldPath: "Body.DefaultValue", Kind: flagutil.FlagKindString, Required: true, Description: "Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\"{}\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]"}, - {FlagName: "body-param.base-config", FieldPath: "Body.BaseConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"baseConfig,omitempty"`, Description: "Key of the config backing this flag (\"Config mode\"). Requires `valueType: \"json\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag."}, - {FlagName: "body-param.default-value-config", FieldPath: "Body.DefaultValueConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"defaultValueConfig,omitempty"`, Description: "Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own."}, - {FlagName: "body-param.tags", FieldPath: "Body.Tags", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "List of associated tags"}, - {FlagName: "body-param.rules", FieldPath: "Body.Rules", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rules,omitempty"`, Description: "Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`."}, - {FlagName: "body-param.environments", FieldPath: "Body.Environments", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"environments,omitempty"`, Description: "Per-environment enabled state. V2 rules are specified on the top-level `rules` field."}, - {FlagName: "body-param.prerequisites", FieldPath: "Body.Prerequisites", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Feature IDs. Each feature must evaluate to `true`"}, - {FlagName: "body-param.json-schema", FieldPath: "Body.JSONSchema", Kind: flagutil.FlagKindString, Optional: true, Description: "Use JSON schema to validate the payload of a JSON-type feature value (enterprise only)."}, - {FlagName: "body-param.custom-fields", FieldPath: "Body.CustomFields", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"customFields,omitempty"`, Description: "value"}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "id", FieldPath: "ID", Kind: flagutil.FlagKindString, Required: true, Description: "A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]"}, + {FlagName: "archived", Shorthand: "a", FieldPath: "Archived", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, + {FlagName: "description", FieldPath: "Description", Kind: flagutil.FlagKindString, Optional: true, Description: "Description of the feature"}, + {FlagName: "owner", FieldPath: "Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400."}, + {FlagName: "project", FieldPath: "Project", Kind: flagutil.FlagKindString, Optional: true, Description: "An associated project ID"}, + {FlagName: "targeting-all-projects", FieldPath: "TargetingAllProjects", Kind: flagutil.FlagKindBool, Optional: true, Description: "Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`."}, + {FlagName: "targeting-projects", FieldPath: "TargetingProjects", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`."}, + {FlagName: "value-type", Shorthand: "v", FieldPath: "ValueType", Kind: flagutil.FlagKindEnum, Required: true, EnumValues: []string{"boolean", "string", "number", "json"}, Description: "The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]"}, + {FlagName: "default-value", FieldPath: "DefaultValue", Kind: flagutil.FlagKindString, Required: true, Description: "Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\"{}\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]"}, + {FlagName: "base-config", Shorthand: "b", FieldPath: "BaseConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"baseConfig,omitempty"`, Description: "Key of the config backing this flag (\"Config mode\"). Requires `valueType: \"json\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag."}, + {FlagName: "default-value-config", FieldPath: "DefaultValueConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"defaultValueConfig,omitempty"`, Description: "Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own."}, + {FlagName: "tags", FieldPath: "Tags", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "List of associated tags"}, + {FlagName: "rules", Shorthand: "r", FieldPath: "Rules", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rules,omitempty"`, Description: "Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`."}, + {FlagName: "environments", Shorthand: "e", FieldPath: "Environments", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"environments,omitempty"`, Description: "Per-environment enabled state. V2 rules are specified on the top-level `rules` field."}, + {FlagName: "prerequisites", FieldPath: "Prerequisites", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Feature IDs. Each feature must evaluate to `true`"}, + {FlagName: "json-schema", Shorthand: "j", FieldPath: "JSONSchema", Kind: flagutil.FlagKindString, Optional: true, Description: "Use JSON schema to validate the payload of a JSON-type feature value (enterprise only)."}, + {FlagName: "custom-fields", Shorthand: "c", FieldPath: "CustomFields", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"customFields,omitempty"`, Description: "value"}, + {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initCreateCmd initializes the create command. @@ -45,7 +43,7 @@ func initCreateCmd(parent *cobra.Command) error { Use: "create", Short: "Create a single feature", Long: "Creates a new Feature Flag. The caller needs Create access in its Project, plus Publish access for any environment the Feature Flag starts enabled in — one that starts disabled everywhere needs Create alone. Rules are supplied as a top-level `rules` array; each rule includes `allEnvironments` / `environments` scope fields.\n\n### Config-backed features (Config mode)\n\nA JSON feature can be backed by a shared **config** — the config supplies the base JSON value and schema, and the feature's *rule* values become override *patches* merged on top (nested objects deep-merge; arrays and scalars replace). The default value is exactly a config with no overrides (see below). Config backing is set exclusively through dedicated fields — never a raw `$extends: [\"@config:…\"]` inside a value string (that is rejected). `@const:` references inside values still work.\n\n- **Top-level (`baseConfig`):** set `valueType: \"json\"` and `baseConfig: \"\"` to put the Feature Flag in Config mode. The config must be live. This is the family root and the base the default value patches.\n- **Default value:** unlike rules, the default is exactly a config with no overrides of its own — send `defaultValue: \"{}\"` to use `baseConfig`. To resolve the default to a *descendant* of `baseConfig` instead, set `defaultValueConfig` to that descendant's key (it must be within `baseConfig`'s family); omit/null to use `baseConfig` directly.\n- **Rules & experiment variations:** each carries its own `config` field naming the family config that value patches (omit/null to patch the base). `value` is the override patch.\n\nExample:\n\n```json\n{\n\n\n\n \"id\": \"checkout-config\",\n \"valueType\": \"json\",\n \"baseConfig\": \"purchase-flow\",\n \"defaultValue\": \"{}\",\n \"rules\": [\n { \"type\": \"force\", \"config\": \"purchase-flow-vip\", \"value\": \"{\\\"maxItems\\\": 20}\", \"allEnvironments\": true }\n ]\n}\n```", - Example: " growthbook features create --body-param.id --body-param.value-type number --body-param.default-value ", + Example: " growthbook features create --id --value-type number --default-value ", RunE: runCreateCmd, } flagutil.RegisterFlags(cmd, createCmdMeta) @@ -67,7 +65,7 @@ func runCreateCmd(cmd *cobra.Command, args []string) error { return err } } - req, err := flagutil.BuildRequest[operations.PostFeatureV2Request](cmd, createCmdMeta, "Body", "body") + request, err := flagutil.BuildRequest[operations.PostFeatureV2Request](cmd, createCmdMeta, "", "body") if err != nil { return err } @@ -90,7 +88,7 @@ func runCreateCmd(cmd *cobra.Command, args []string) error { if output.WantsRawJSON(cmd) { sdkOpts = append(sdkOpts, operations.WithSkipDeserialization()) } - res, err := s.Features.Create(cmd.Context(), *req, sdkOpts...) + res, err := s.Features.Create(cmd.Context(), *request, sdkOpts...) if err != nil { return output.Error(cmd, err) } diff --git a/internal/cli/features/update.go b/internal/cli/features/update.go index 0de2bae..5ea1347 100644 --- a/internal/cli/features/update.go +++ b/internal/cli/features/update.go @@ -16,27 +16,25 @@ import ( var updateCmdMeta = []flagutil.FlagMeta{ {FlagName: "id", FieldPath: "ID", Kind: flagutil.FlagKindString, Required: true, Description: "The id of the requested resource [required]"}, - {FlagName: "skip-schema-validation", Shorthand: "s", FieldPath: "SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `skipSchemaValidation` in the request body instead."}, - {FlagName: "ignore-warnings", FieldPath: "IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Deprecated — pass `ignoreWarnings` in the request body instead."}, - {FlagName: "body-param.description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "Description of the feature"}, - {FlagName: "body-param.archived", FieldPath: "Body.Archived", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, - {FlagName: "body-param.project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "An associated project ID"}, - {FlagName: "body-param.targeting-all-projects", FieldPath: "Body.TargetingAllProjects", Kind: flagutil.FlagKindBool, Optional: true, Description: "Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`."}, - {FlagName: "body-param.targeting-projects", FieldPath: "Body.TargetingProjects", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`."}, - {FlagName: "body-param.owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization."}, - {FlagName: "body-param.default-value", FieldPath: "Body.DefaultValue", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, - {FlagName: "body-param.base-config", FieldPath: "Body.BaseConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"baseConfig,omitempty"`, Description: "The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected."}, - {FlagName: "body-param.default-value-config", FieldPath: "Body.DefaultValueConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"defaultValueConfig,omitempty"`, Description: "Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own."}, - {FlagName: "body-param.tags", FieldPath: "Body.Tags", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "List of associated tags. Will override tags completely with submitted list"}, - {FlagName: "body-param.rules", FieldPath: "Body.Rules", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rules,omitempty"`, Description: "Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`)."}, - {FlagName: "body-param.environments", FieldPath: "Body.Environments", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"environments,omitempty"`, Description: "Per-environment enabled state. V2 rules are specified on the top-level `rules` field."}, - {FlagName: "body-param.prerequisites", FieldPath: "Body.Prerequisites", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Feature IDs. Each feature must evaluate to `true`"}, - {FlagName: "body-param.json-schema", FieldPath: "Body.JSONSchema", Kind: flagutil.FlagKindString, Optional: true, Description: "Use JSON schema to validate the payload of a JSON-type feature value (enterprise only)."}, - {FlagName: "body-param.custom-fields", FieldPath: "Body.CustomFields", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"customFields,omitempty"`, Description: "value"}, - {FlagName: "body-param.holdout", FieldPath: "Body.Holdout", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"holdout,omitempty"`, Description: "Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\n"}, - {FlagName: "body-param.ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, - {FlagName: "body-param.skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, - {FlagName: "body-param.skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "description", FieldPath: "Body.Description", Kind: flagutil.FlagKindString, Optional: true, Description: "Description of the feature"}, + {FlagName: "archived", Shorthand: "a", FieldPath: "Body.Archived", Kind: flagutil.FlagKindBool, Optional: true, Description: "boolean flag"}, + {FlagName: "project", FieldPath: "Body.Project", Kind: flagutil.FlagKindString, Optional: true, Description: "An associated project ID"}, + {FlagName: "targeting-all-projects", FieldPath: "Body.TargetingAllProjects", Kind: flagutil.FlagKindBool, Optional: true, Description: "Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`."}, + {FlagName: "targeting-projects", FieldPath: "Body.TargetingProjects", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`."}, + {FlagName: "owner", FieldPath: "Body.Owner", Kind: flagutil.FlagKindString, Optional: true, Description: "The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization."}, + {FlagName: "default-value", FieldPath: "Body.DefaultValue", Kind: flagutil.FlagKindString, Optional: true, Description: "string value"}, + {FlagName: "base-config", Shorthand: "b", FieldPath: "Body.BaseConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"baseConfig,omitempty"`, Description: "The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected."}, + {FlagName: "default-value-config", FieldPath: "Body.DefaultValueConfig", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"defaultValueConfig,omitempty"`, Description: "Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own."}, + {FlagName: "tags", FieldPath: "Body.Tags", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "List of associated tags. Will override tags completely with submitted list"}, + {FlagName: "rules", Shorthand: "r", FieldPath: "Body.Rules", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"rules,omitempty"`, Description: "Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`)."}, + {FlagName: "environments", Shorthand: "e", FieldPath: "Body.Environments", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"environments,omitempty"`, Description: "Per-environment enabled state. V2 rules are specified on the top-level `rules` field."}, + {FlagName: "prerequisites", FieldPath: "Body.Prerequisites", Kind: flagutil.FlagKindStringArray, Optional: true, Description: "Feature IDs. Each feature must evaluate to `true`"}, + {FlagName: "json-schema", Shorthand: "j", FieldPath: "Body.JSONSchema", Kind: flagutil.FlagKindString, Optional: true, Description: "Use JSON schema to validate the payload of a JSON-type feature value (enterprise only)."}, + {FlagName: "custom-fields", Shorthand: "c", FieldPath: "Body.CustomFields", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"customFields,omitempty"`, Description: "value"}, + {FlagName: "holdout", FieldPath: "Body.Holdout", Kind: flagutil.FlagKindJSON, Optional: true, Annotations: `json:"holdout,omitempty"`, Description: "Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\n"}, + {FlagName: "ignore-warnings", FieldPath: "Body.IgnoreWarnings", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access."}, + {FlagName: "skip-schema-validation", FieldPath: "Body.SkipSchemaValidation", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, + {FlagName: "skip-hooks", FieldPath: "Body.SkipHooks", Kind: flagutil.FlagKindBool, Optional: true, Description: "Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored."}, } // initUpdateCmd initializes the update command. diff --git a/internal/cli/testdata/command-surface.txt b/internal/cli/testdata/command-surface.txt index 8810c6c..60fb171 100644 --- a/internal/cli/testdata/command-surface.txt +++ b/internal/cli/testdata/command-surface.txt @@ -40,22 +40,22 @@ growthbook config-revisions latest [--key --mine] growthbook config-revisions list [--author --key --limit --mine --offset --skip-pagination --status] growthbook config-revisions list-for-config [--author --key --limit --mine --offset --skip-pagination --status] growthbook config-revisions merge-status [--key --version-param] -growthbook config-revisions publish [--body --body-param.bypass-approval --body-param.ignore-warnings --body-param.skip-hooks --body-param.skip-schema-validation --ignore-warnings --key --skip-schema-validation --version-param] +growthbook config-revisions publish [--body --bypass-approval --ignore-warnings --key --skip-hooks --skip-schema-validation --version-param] growthbook config-revisions rebase [--body --conflict-resolutions --custom-values --key --version-param] growthbook config-revisions recall-review [--body --body-param --key --version-param] growthbook config-revisions reopen [--body --body-param --key --version-param] growthbook config-revisions request-review [--auto-publish-on-approval --body --ignore-warnings --key --skip-hooks --skip-schema-validation --version-param] -growthbook config-revisions revert [--body --body-param.comment --body-param.ignore-warnings --body-param.skip-hooks --body-param.skip-schema-validation --body-param.strategy --body-param.title --ignore-warnings --key --skip-schema-validation --version-param] +growthbook config-revisions revert [--body --comment --ignore-warnings --key --skip-hooks --skip-schema-validation --strategy --title --version-param] growthbook config-revisions schedule-publish [--body --bypass-approval --ignore-warnings --key --lock-edits --lock-others --scheduled-publish-at --skip-hooks --skip-schema-validation --version-param] -growthbook config-revisions set-metadata [--body --body-param.description --body-param.extends --body-param.extensible --body-param.ignore-warnings --body-param.name --body-param.owner --body-param.parent --body-param.project --body-param.revision-comment --body-param.revision-title --body-param.skip-hooks --body-param.skip-schema-validation --ignore-warnings --key --skip-schema-validation --version-param] -growthbook config-revisions set-projection [--body --body-param.additional-properties --body-param.ignore-warnings --body-param.revision-comment --body-param.revision-title --body-param.schema --body-param.schema.go --body-param.schema.go.value --body-param.schema.json-schema --body-param.schema.protobuf --body-param.schema.protobuf.value --body-param.schema.python --body-param.schema.python.value --body-param.schema.rust --body-param.schema.rust.value --body-param.schema.typescript --body-param.schema.typescript.value --body-param.skip-hooks --body-param.skip-schema-validation --body-param.source --ignore-warnings --key --skip-schema-validation --version-param] -growthbook config-revisions set-schema [--body --body-param.additional-properties --body-param.ignore-warnings --body-param.infer --body-param.revision-comment --body-param.revision-title --body-param.schema --body-param.schema.go --body-param.schema.go.value --body-param.schema.json-schema --body-param.schema.protobuf --body-param.schema.protobuf.value --body-param.schema.python --body-param.schema.python.value --body-param.schema.rust --body-param.schema.rust.value --body-param.schema.typescript --body-param.schema.typescript.value --body-param.skip-hooks --body-param.skip-schema-validation --ignore-warnings --key --skip-schema-validation --version-param] -growthbook config-revisions set-value [--body --body-param.ignore-warnings --body-param.infer-schema-if-missing --body-param.revision-comment --body-param.revision-title --body-param.skip-hooks --body-param.skip-schema-validation --body-param.value --ignore-warnings --key --skip-schema-validation --version-param] +growthbook config-revisions set-metadata [--body --description --extends --extensible --ignore-warnings --key --name --owner --parent --project --revision-comment --revision-title --skip-hooks --skip-schema-validation --version-param] +growthbook config-revisions set-projection [--additional-properties --body --ignore-warnings --key --revision-comment --revision-title --schema --schema.go --schema.go.value --schema.json-schema --schema.protobuf --schema.protobuf.value --schema.python --schema.python.value --schema.rust --schema.rust.value --schema.typescript --schema.typescript.value --skip-hooks --skip-schema-validation --source --version-param] +growthbook config-revisions set-schema [--additional-properties --body --ignore-warnings --infer --key --revision-comment --revision-title --schema --schema.go --schema.go.value --schema.json-schema --schema.protobuf --schema.protobuf.value --schema.python --schema.python.value --schema.rust --schema.rust.value --schema.typescript --schema.typescript.value --skip-hooks --skip-schema-validation --version-param] +growthbook config-revisions set-value [--body --ignore-warnings --infer-schema-if-missing --key --revision-comment --revision-title --skip-hooks --skip-schema-validation --value --version-param] growthbook config-revisions submit-review [--body --comment --decision --key --skip-auto-publish --version-param] growthbook config-revisions undo-review [--body --body-param --key --version-param] growthbook configs -growthbook configs archive [--body --body-param.ignore-warnings --body-param.skip-hooks --body-param.skip-schema-validation --ignore-warnings --key] -growthbook configs create [--body --body-param.description --body-param.experiment-guard --body-param.extends --body-param.extensible --body-param.ignore-warnings --body-param.invariants --body-param.key --body-param.name --body-param.owner --body-param.parent --body-param.project --body-param.schema --body-param.schema.go --body-param.schema.go.value --body-param.schema.json-schema --body-param.schema.protobuf --body-param.schema.protobuf.value --body-param.schema.python --body-param.schema.python.value --body-param.schema.rust --body-param.schema.rust.value --body-param.schema.typescript --body-param.schema.typescript.value --body-param.scoped-overrides --body-param.skip-hooks --body-param.skip-schema-validation --body-param.source --body-param.value --ignore-warnings --skip-schema-validation] +growthbook configs archive [--body --ignore-warnings --key --skip-hooks --skip-schema-validation] +growthbook configs create [--body --description --experiment-guard --extends --extensible --ignore-warnings --invariants --key --name --owner --parent --project --schema --schema.go --schema.go.value --schema.json-schema --schema.protobuf --schema.protobuf.value --schema.python --schema.python.value --schema.rust --schema.rust.value --schema.typescript --schema.typescript.value --scoped-overrides --skip-hooks --skip-schema-validation --source --value] growthbook configs delete [--key] growthbook configs get [--key] growthbook configs get-key-usage [--key] @@ -66,7 +66,7 @@ growthbook configs list [--limit --offset] growthbook configs lock [--body --key --reason] growthbook configs unarchive [--body --ignore-warnings --key --skip-hooks --skip-schema-validation] growthbook configs unlock [--key] -growthbook configs update [--body --body-param.bypass-approval --body-param.description --body-param.experiment-guard --body-param.extends --body-param.extensible --body-param.ignore-warnings --body-param.invariants --body-param.name --body-param.owner --body-param.parent --body-param.project --body-param.schema --body-param.schema.go --body-param.schema.go.value --body-param.schema.json-schema --body-param.schema.protobuf --body-param.schema.protobuf.value --body-param.schema.python --body-param.schema.python.value --body-param.schema.rust --body-param.schema.rust.value --body-param.schema.typescript --body-param.schema.typescript.value --body-param.scoped-overrides --body-param.skip-hooks --body-param.skip-schema-validation --body-param.source --body-param.value --ignore-warnings --key --skip-schema-validation] +growthbook configs update [--body --bypass-approval --description --experiment-guard --extends --extensible --ignore-warnings --invariants --key --name --owner --parent --project --schema --schema.go --schema.go.value --schema.json-schema --schema.protobuf --schema.protobuf.value --schema.python --schema.python.value --schema.rust --schema.rust.value --schema.typescript --schema.typescript.value --scoped-overrides --skip-hooks --skip-schema-validation --source --value] growthbook configs verify-schema [--body --key --schema --schema.go --schema.go.value --schema.json-schema --schema.protobuf --schema.protobuf.value --schema.python --schema.python.value --schema.rust --schema.rust.value --schema.typescript --schema.typescript.value] growthbook configure growthbook constant-revisions @@ -215,7 +215,7 @@ growthbook fact-tables update-filter [--body --description --fact-table-id --id growthbook fact-tables update-virtual-column [--body --datatype --description --fact-table-id --id --name --number-format --sql] growthbook feature-revisions growthbook feature-revisions add-log-comment [--body --comment --id --log-id --version-param] -growthbook feature-revisions add-rule [--body --body-param.ignore-warnings --body-param.ramp-schedule --body-param.revision-comment --body-param.revision-title --body-param.rule --body-param.schedule --body-param.skip-hooks --body-param.skip-schema-validation --id --ignore-warnings --skip-schema-validation --version-param] +growthbook feature-revisions add-rule [--body --id --ignore-warnings --ramp-schedule --revision-comment --revision-title --rule --schedule --skip-hooks --skip-schema-validation --version-param] growthbook feature-revisions archive [--archived --body --id --ignore-warnings --revision-comment --revision-title --version-param] growthbook feature-revisions create [--body --comment --id --ignore-warnings --override-draft-limit --title] growthbook feature-revisions delete-log-entry [--body --body-param --id --log-id --version-param] @@ -229,7 +229,7 @@ growthbook feature-revisions list-for-feature [--all --author --id --limit --ma growthbook feature-revisions list-revisions [--all --archived --author --feature-id --limit --max-pages --mine --offset --skip-pagination --status] growthbook feature-revisions log [--id --version-param] growthbook feature-revisions merge-status [--id --version-param] -growthbook feature-revisions publish [--body --body-param.bypass-approval --body-param.comment --body-param.ignore-warnings --body-param.skip-hooks --body-param.skip-schema-validation --id --ignore-warnings --skip-schema-validation --version-param] +growthbook feature-revisions publish [--body --bypass-approval --comment --id --ignore-warnings --skip-hooks --skip-schema-validation --version-param] growthbook feature-revisions rebase [--body --conflict-resolutions --expected-draft-date-updated --expected-live-version --id --ignore-warnings --version-param] growthbook feature-revisions rebase-preview [--body --conflict-resolutions --expected-draft-date-updated --expected-live-version --id --ignore-warnings --version-param] growthbook feature-revisions recall-review [--body --body-param --id --version-param] @@ -238,7 +238,7 @@ growthbook feature-revisions reorder-rules [--body --id --ignore-warnings --rev growthbook feature-revisions request-review [--auto-publish-on-approval --body --comment --id --scheduled-publish-at --scheduled-publish-lock-edits --scheduled-publish-lock-others --version-param] growthbook feature-revisions revert [--body --comment --id --ignore-warnings --skip-hooks --skip-schema-validation --strategy --title --version-param] growthbook feature-revisions schedule-publish [--body --bypass-approval --id --ignore-warnings --lock-edits --lock-others --scheduled-publish-at --skip-hooks --skip-schema-validation --version-param] -growthbook feature-revisions set-default-value [--body --body-param.default-value --body-param.default-value-config --body-param.ignore-warnings --body-param.revision-comment --body-param.revision-title --body-param.skip-hooks --body-param.skip-schema-validation --id --ignore-warnings --skip-schema-validation --version-param] +growthbook feature-revisions set-default-value [--body --default-value --default-value-config --id --ignore-warnings --revision-comment --revision-title --skip-hooks --skip-schema-validation --version-param] growthbook feature-revisions set-holdout [--body --holdout --id --ignore-warnings --revision-comment --revision-title --version-param] growthbook feature-revisions set-metadata [--body --comment --custom-fields --description --id --ignore-warnings --json-schema --never-stale --owner --project --tags --title --version-param] growthbook feature-revisions set-prerequisites [--body --id --ignore-warnings --prerequisites --revision-comment --revision-title --version-param] @@ -246,7 +246,7 @@ growthbook feature-revisions set-rule-ramp-schedule [--body --cutoff-date --end growthbook feature-revisions submit-review [--action --body --comment --id --skip-auto-publish --version-param] growthbook feature-revisions toggle [--body --enabled --environment --id --ignore-warnings --revision-comment --revision-title --version-param] growthbook feature-revisions undo-review [--body --body-param --id --version-param] -growthbook feature-revisions update-rule [--body --body-param.ignore-warnings --body-param.ramp-schedule --body-param.revision-comment --body-param.revision-title --body-param.rule --body-param.schedule --body-param.skip-hooks --body-param.skip-schema-validation --id --ignore-warnings --rule-id --skip-schema-validation --version-param] +growthbook feature-revisions update-rule [--body --id --ignore-warnings --ramp-schedule --revision-comment --revision-title --rule --rule-id --schedule --skip-hooks --skip-schema-validation --version-param] growthbook feature-revisions-v1 growthbook feature-revisions-v1 create [--body --comment --id --ignore-warnings --override-draft-limit --title] growthbook feature-revisions-v1 delete-feature-revision-rule [--body --environment --id --ignore-warnings --revision-comment --revision-title --rule-id --version-param] @@ -273,7 +273,7 @@ growthbook feature-revisions-v1 put-feature-revision-prerequisites [--body --id growthbook feature-revisions-v1 put-feature-revision-rule [--body --environment --id --ignore-warnings --ramp-schedule --revision-comment --revision-title --rule --rule-id --schedule --skip-hooks --skip-schema-validation --version-param] growthbook feature-revisions-v1 put-feature-revision-rule-ramp-schedule [--body --cutoff-date --end-actions --environment --id --ignore-warnings --lockdown-config --monitoring-config --name --requires-start-approval --revision-comment --revision-title --rule-id --start-actions --start-date --steps --template-id --version-param] growthbook features -growthbook features create [--body --body-param.archived --body-param.base-config --body-param.custom-fields --body-param.default-value --body-param.default-value-config --body-param.description --body-param.environments --body-param.id --body-param.ignore-warnings --body-param.json-schema --body-param.owner --body-param.prerequisites --body-param.project --body-param.rules --body-param.skip-hooks --body-param.skip-schema-validation --body-param.tags --body-param.targeting-all-projects --body-param.targeting-projects --body-param.value-type --ignore-warnings --skip-schema-validation] +growthbook features create [--archived --base-config --body --custom-fields --default-value --default-value-config --description --environments --id --ignore-warnings --json-schema --owner --prerequisites --project --rules --skip-hooks --skip-schema-validation --tags --targeting-all-projects --targeting-projects --value-type] growthbook features delete [--id] growthbook features get [--id --with-revisions] growthbook features get-feature-keys [--project-id] @@ -281,7 +281,7 @@ growthbook features get-feature-stale [--ids] growthbook features list [--all --archived --client-key --limit --max-pages --offset --project-id --skip-pagination] growthbook features revert [--body --comment --id --ignore-warnings --revision --skip-hooks --skip-schema-validation] growthbook features toggle [--body --environments --id --reason] -growthbook features update [--body --body-param.archived --body-param.base-config --body-param.custom-fields --body-param.default-value --body-param.default-value-config --body-param.description --body-param.environments --body-param.holdout --body-param.ignore-warnings --body-param.json-schema --body-param.owner --body-param.prerequisites --body-param.project --body-param.rules --body-param.skip-hooks --body-param.skip-schema-validation --body-param.tags --body-param.targeting-all-projects --body-param.targeting-projects --id --ignore-warnings --skip-schema-validation] +growthbook features update [--archived --base-config --body --custom-fields --default-value --default-value-config --description --environments --holdout --id --ignore-warnings --json-schema --owner --prerequisites --project --rules --skip-hooks --skip-schema-validation --tags --targeting-all-projects --targeting-projects] growthbook features-v1 growthbook features-v1 create [--archived --base-config --body --custom-fields --default-value --description --environments --id --ignore-warnings --json-schema --owner --prerequisites --project --skip-hooks --skip-schema-validation --tags --targeting-all-projects --targeting-projects --value-type] growthbook features-v1 delete [--id] diff --git a/internal/cli/version.go b/internal/cli/version.go index 020eb70..8e207db 100644 --- a/internal/cli/version.go +++ b/internal/cli/version.go @@ -13,7 +13,7 @@ import ( // which propagates the value here (see cmd/growthbook/main.go): // // go build -ldflags "-X main.version=x.y.z" ./cmd/growthbook -var Version = "2.0.0" +var Version = "2.0.1" // BuildTime is optionally set at build time via ldflags targeting the main package. var BuildTime string diff --git a/internal/sdk/configrevisions.go b/internal/sdk/configrevisions.go index 14cc7c5..8fd38ba 100644 --- a/internal/sdk/configrevisions.go +++ b/internal/sdk/configrevisions.go @@ -837,10 +837,6 @@ func (s *ConfigRevisions) SetMetadata(ctx context.Context, request operations.Pu req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -997,10 +993,6 @@ func (s *ConfigRevisions) SetValue(ctx context.Context, request operations.PutCo req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -1157,10 +1149,6 @@ func (s *ConfigRevisions) SetSchema(ctx context.Context, request operations.PutC req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -1313,10 +1301,6 @@ func (s *ConfigRevisions) SetProjection(ctx context.Context, request operations. req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -2983,10 +2967,6 @@ func (s *ConfigRevisions) Publish(ctx context.Context, request operations.PostCo req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -3291,10 +3271,6 @@ func (s *ConfigRevisions) Revert(ctx context.Context, request operations.PostCon req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } diff --git a/internal/sdk/configs.go b/internal/sdk/configs.go index a00011e..5d9aba6 100644 --- a/internal/sdk/configs.go +++ b/internal/sdk/configs.go @@ -214,7 +214,7 @@ func (s *Configs) Create(ctx context.Context, request operations.PostConfigReque OperationID: "postConfig", SecuritySource: s.sdkConfiguration.Security, } - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Body", "json", `request:"mediaType=application/json"`) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) if err != nil { return nil, err } @@ -240,10 +240,6 @@ func (s *Configs) Create(ctx context.Context, request operations.PostConfigReque req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -1272,10 +1268,6 @@ func (s *Configs) UpdateConfig(ctx context.Context, request operations.UpdateCon req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -1572,10 +1564,6 @@ func (s *Configs) ArchiveConfig(ctx context.Context, request operations.ArchiveC req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } diff --git a/internal/sdk/featurerevisions.go b/internal/sdk/featurerevisions.go index 59ca719..764294a 100644 --- a/internal/sdk/featurerevisions.go +++ b/internal/sdk/featurerevisions.go @@ -1231,10 +1231,6 @@ func (s *FeatureRevisions) SetDefaultValue(ctx context.Context, request operatio req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -1994,10 +1990,6 @@ func (s *FeatureRevisions) AddRule(ctx context.Context, request operations.PostF req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -2152,10 +2144,6 @@ func (s *FeatureRevisions) UpdateRule(ctx context.Context, request operations.Pu req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -4584,10 +4572,6 @@ func (s *FeatureRevisions) Publish(ctx context.Context, request operations.PostF req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } diff --git a/internal/sdk/features.go b/internal/sdk/features.go index dce8ad2..5da37fe 100644 --- a/internal/sdk/features.go +++ b/internal/sdk/features.go @@ -286,7 +286,7 @@ func (s *Features) Create(ctx context.Context, request operations.PostFeatureV2R OperationID: "postFeatureV2", SecuritySource: s.sdkConfiguration.Security, } - bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Body", "json", `request:"mediaType=application/json"`) + bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`) if err != nil { return nil, err } @@ -312,10 +312,6 @@ func (s *Features) Create(ctx context.Context, request operations.PostFeatureV2R req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } @@ -618,10 +614,6 @@ func (s *Features) Update(ctx context.Context, request operations.UpdateFeatureV req.Header.Set("Content-Type", reqContentType) } - if err := utils.PopulateQueryParams(ctx, req, request, nil, nil); err != nil { - return nil, fmt.Errorf("error populating query params: %w", err) - } - if err := utils.PopulateSecurity(ctx, req, s.sdkConfiguration.Security); err != nil { return nil, err } diff --git a/internal/sdk/models/operations/archiveconfig.go b/internal/sdk/models/operations/archiveconfig.go index 95546e8..7b56f9a 100644 --- a/internal/sdk/models/operations/archiveconfig.go +++ b/internal/sdk/models/operations/archiveconfig.go @@ -39,10 +39,8 @@ func (a *ArchiveConfigRequestBody) GetSkipHooks() *bool { type ArchiveConfigRequest struct { // The key of the config - Key string `pathParam:"style=simple,explode=false,name=key"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body ArchiveConfigRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Body ArchiveConfigRequestBody `request:"mediaType=application/json"` } func (a *ArchiveConfigRequest) GetKey() string { @@ -52,13 +50,6 @@ func (a *ArchiveConfigRequest) GetKey() string { return a.Key } -func (a *ArchiveConfigRequest) GetIgnoreWarnings() *bool { - if a == nil { - return nil - } - return a.IgnoreWarnings -} - func (a *ArchiveConfigRequest) GetBody() ArchiveConfigRequestBody { if a == nil { return ArchiveConfigRequestBody{} diff --git a/internal/sdk/models/operations/postconfig.go b/internal/sdk/models/operations/postconfig.go index ed6a33f..d1f0580 100644 --- a/internal/sdk/models/operations/postconfig.go +++ b/internal/sdk/models/operations/postconfig.go @@ -77,7 +77,7 @@ func (p *PostConfigInvariant) GetMessage() *string { return p.Message } -type PostConfigRequestBody struct { +type PostConfigRequest struct { // Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` Key string `json:"key"` // The display name of the config @@ -110,186 +110,164 @@ type PostConfigRequestBody struct { SkipHooks *bool `json:"skipHooks,omitzero"` } -func (p PostConfigRequestBody) MarshalJSON() ([]byte, error) { +func (p PostConfigRequest) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(p, "", false) } -func (p *PostConfigRequestBody) UnmarshalJSON(data []byte) error { +func (p *PostConfigRequest) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &p, "", false, nil); err != nil { return err } return nil } -func (p *PostConfigRequestBody) GetKey() string { +func (p *PostConfigRequest) GetKey() string { if p == nil { return "" } return p.Key } -func (p *PostConfigRequestBody) GetName() string { +func (p *PostConfigRequest) GetName() string { if p == nil { return "" } return p.Name } -func (p *PostConfigRequestBody) GetParent() *string { +func (p *PostConfigRequest) GetParent() *string { if p == nil { return nil } return p.Parent } -func (p *PostConfigRequestBody) GetExtends() []string { +func (p *PostConfigRequest) GetExtends() []string { if p == nil { return nil } return p.Extends } -func (p *PostConfigRequestBody) GetValue() map[string]any { +func (p *PostConfigRequest) GetValue() map[string]any { if p == nil { return nil } return p.Value } -func (p *PostConfigRequestBody) GetScopedOverrides() []PostConfigScopedOverride { +func (p *PostConfigRequest) GetScopedOverrides() []PostConfigScopedOverride { if p == nil { return nil } return p.ScopedOverrides } -func (p *PostConfigRequestBody) GetDescription() *string { +func (p *PostConfigRequest) GetDescription() *string { if p == nil { return nil } return p.Description } -func (p *PostConfigRequestBody) GetProject() *string { +func (p *PostConfigRequest) GetProject() *string { if p == nil { return nil } return p.Project } -func (p *PostConfigRequestBody) GetOwner() *string { +func (p *PostConfigRequest) GetOwner() *string { if p == nil { return nil } return p.Owner } -func (p *PostConfigRequestBody) GetSchema() *components.ConfigSchemaSource { +func (p *PostConfigRequest) GetSchema() *components.ConfigSchemaSource { if p == nil { return nil } return p.Schema } -func (p *PostConfigRequestBody) GetSchemaJSONSchema() *components.ConfigSchemaSourceJSONSchema { +func (p *PostConfigRequest) GetSchemaJSONSchema() *components.ConfigSchemaSourceJSONSchema { if v := p.GetSchema(); v != nil { return v.ConfigSchemaSourceJSONSchema } return nil } -func (p *PostConfigRequestBody) GetSchemaTypescript() *components.ConfigSchemaSourceTypescript { +func (p *PostConfigRequest) GetSchemaTypescript() *components.ConfigSchemaSourceTypescript { if v := p.GetSchema(); v != nil { return v.ConfigSchemaSourceTypescript } return nil } -func (p *PostConfigRequestBody) GetSchemaProtobuf() *components.ConfigSchemaSourceProtobuf { +func (p *PostConfigRequest) GetSchemaProtobuf() *components.ConfigSchemaSourceProtobuf { if v := p.GetSchema(); v != nil { return v.ConfigSchemaSourceProtobuf } return nil } -func (p *PostConfigRequestBody) GetSchemaPython() *components.ConfigSchemaSourcePython { +func (p *PostConfigRequest) GetSchemaPython() *components.ConfigSchemaSourcePython { if v := p.GetSchema(); v != nil { return v.ConfigSchemaSourcePython } return nil } -func (p *PostConfigRequestBody) GetSchemaGo() *components.ConfigSchemaSourceGo { +func (p *PostConfigRequest) GetSchemaGo() *components.ConfigSchemaSourceGo { if v := p.GetSchema(); v != nil { return v.ConfigSchemaSourceGo } return nil } -func (p *PostConfigRequestBody) GetSchemaRust() *components.ConfigSchemaSourceRust { +func (p *PostConfigRequest) GetSchemaRust() *components.ConfigSchemaSourceRust { if v := p.GetSchema(); v != nil { return v.ConfigSchemaSourceRust } return nil } -func (p *PostConfigRequestBody) GetSource() *string { +func (p *PostConfigRequest) GetSource() *string { if p == nil { return nil } return p.Source } -func (p *PostConfigRequestBody) GetExtensible() *bool { +func (p *PostConfigRequest) GetExtensible() *bool { if p == nil { return nil } return p.Extensible } -func (p *PostConfigRequestBody) GetExperimentGuard() *bool { +func (p *PostConfigRequest) GetExperimentGuard() *bool { if p == nil { return nil } return p.ExperimentGuard } -func (p *PostConfigRequestBody) GetInvariants() []PostConfigInvariant { +func (p *PostConfigRequest) GetInvariants() []PostConfigInvariant { if p == nil { return nil } return p.Invariants } -func (p *PostConfigRequestBody) GetIgnoreWarnings() *bool { +func (p *PostConfigRequest) GetIgnoreWarnings() *bool { if p == nil { return nil } return p.IgnoreWarnings } -func (p *PostConfigRequestBody) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PostConfigRequestBody) GetSkipHooks() *bool { - if p == nil { - return nil - } - return p.SkipHooks -} - -type PostConfigRequest struct { - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PostConfigRequestBody `request:"mediaType=application/json"` -} - func (p *PostConfigRequest) GetSkipSchemaValidation() *bool { if p == nil { return nil @@ -297,18 +275,11 @@ func (p *PostConfigRequest) GetSkipSchemaValidation() *bool { return p.SkipSchemaValidation } -func (p *PostConfigRequest) GetIgnoreWarnings() *bool { +func (p *PostConfigRequest) GetSkipHooks() *bool { if p == nil { return nil } - return p.IgnoreWarnings -} - -func (p *PostConfigRequest) GetBody() PostConfigRequestBody { - if p == nil { - return PostConfigRequestBody{} - } - return p.Body + return p.SkipHooks } // PostConfigResponseBody - Resource created diff --git a/internal/sdk/models/operations/postconfigrevisionpublish.go b/internal/sdk/models/operations/postconfigrevisionpublish.go index e7da8f6..a295d31 100644 --- a/internal/sdk/models/operations/postconfigrevisionpublish.go +++ b/internal/sdk/models/operations/postconfigrevisionpublish.go @@ -47,13 +47,9 @@ func (p *PostConfigRevisionPublishRequestBody) GetSkipHooks() *bool { } type PostConfigRevisionPublishRequest struct { - Key string `pathParam:"style=simple,explode=false,name=key"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PostConfigRevisionPublishRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PostConfigRevisionPublishRequestBody `request:"mediaType=application/json"` } func (p *PostConfigRevisionPublishRequest) GetKey() string { @@ -70,20 +66,6 @@ func (p *PostConfigRevisionPublishRequest) GetVersion() string { return p.Version } -func (p *PostConfigRevisionPublishRequest) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PostConfigRevisionPublishRequest) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PostConfigRevisionPublishRequest) GetBody() PostConfigRevisionPublishRequestBody { if p == nil { return PostConfigRevisionPublishRequestBody{} diff --git a/internal/sdk/models/operations/postconfigrevisionrevert.go b/internal/sdk/models/operations/postconfigrevisionrevert.go index 2c2a8e2..25b130c 100644 --- a/internal/sdk/models/operations/postconfigrevisionrevert.go +++ b/internal/sdk/models/operations/postconfigrevisionrevert.go @@ -92,13 +92,9 @@ func (p *PostConfigRevisionRevertRequestBody) GetSkipHooks() *bool { } type PostConfigRevisionRevertRequest struct { - Key string `pathParam:"style=simple,explode=false,name=key"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PostConfigRevisionRevertRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PostConfigRevisionRevertRequestBody `request:"mediaType=application/json"` } func (p *PostConfigRevisionRevertRequest) GetKey() string { @@ -115,20 +111,6 @@ func (p *PostConfigRevisionRevertRequest) GetVersion() string { return p.Version } -func (p *PostConfigRevisionRevertRequest) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PostConfigRevisionRevertRequest) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PostConfigRevisionRevertRequest) GetBody() PostConfigRevisionRevertRequestBody { if p == nil { return PostConfigRevisionRevertRequestBody{} diff --git a/internal/sdk/models/operations/postfeaturerevisionpublishv2.go b/internal/sdk/models/operations/postfeaturerevisionpublishv2.go index 81863ec..c6cf1b8 100644 --- a/internal/sdk/models/operations/postfeaturerevisionpublishv2.go +++ b/internal/sdk/models/operations/postfeaturerevisionpublishv2.go @@ -58,13 +58,9 @@ func (p *PostFeatureRevisionPublishV2RequestBody) GetSkipHooks() *bool { // #endregion class-body-postfeaturerevisionpublishv2requestbody type PostFeatureRevisionPublishV2Request struct { - ID string `pathParam:"style=simple,explode=false,name=id"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PostFeatureRevisionPublishV2RequestBody `request:"mediaType=application/json"` + ID string `pathParam:"style=simple,explode=false,name=id"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PostFeatureRevisionPublishV2RequestBody `request:"mediaType=application/json"` } func (p *PostFeatureRevisionPublishV2Request) GetID() string { @@ -81,20 +77,6 @@ func (p *PostFeatureRevisionPublishV2Request) GetVersion() string { return p.Version } -func (p *PostFeatureRevisionPublishV2Request) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PostFeatureRevisionPublishV2Request) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PostFeatureRevisionPublishV2Request) GetBody() PostFeatureRevisionPublishV2RequestBody { if p == nil { return PostFeatureRevisionPublishV2RequestBody{} diff --git a/internal/sdk/models/operations/postfeaturerevisionruleaddv2.go b/internal/sdk/models/operations/postfeaturerevisionruleaddv2.go index d0be81f..15babd5 100644 --- a/internal/sdk/models/operations/postfeaturerevisionruleaddv2.go +++ b/internal/sdk/models/operations/postfeaturerevisionruleaddv2.go @@ -1136,13 +1136,9 @@ func (p *PostFeatureRevisionRuleAddV2RequestBody) GetSkipHooks() *bool { // #endregion class-body-postfeaturerevisionruleaddv2requestbody type PostFeatureRevisionRuleAddV2Request struct { - ID string `pathParam:"style=simple,explode=false,name=id"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PostFeatureRevisionRuleAddV2RequestBody `request:"mediaType=application/json"` + ID string `pathParam:"style=simple,explode=false,name=id"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PostFeatureRevisionRuleAddV2RequestBody `request:"mediaType=application/json"` } func (p *PostFeatureRevisionRuleAddV2Request) GetID() string { @@ -1159,20 +1155,6 @@ func (p *PostFeatureRevisionRuleAddV2Request) GetVersion() string { return p.Version } -func (p *PostFeatureRevisionRuleAddV2Request) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PostFeatureRevisionRuleAddV2Request) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PostFeatureRevisionRuleAddV2Request) GetBody() PostFeatureRevisionRuleAddV2RequestBody { if p == nil { return PostFeatureRevisionRuleAddV2RequestBody{} diff --git a/internal/sdk/models/operations/postfeaturev2.go b/internal/sdk/models/operations/postfeaturev2.go index 9465418..8957b93 100644 --- a/internal/sdk/models/operations/postfeaturev2.go +++ b/internal/sdk/models/operations/postfeaturev2.go @@ -1407,7 +1407,7 @@ func (p *PostFeatureV2Environments) GetEnabled() *bool { // #region class-body-postfeaturev2environments // #endregion class-body-postfeaturev2environments -type PostFeatureV2RequestBody struct { +type PostFeatureV2Request struct { // A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. ID string `json:"id"` Archived *bool `json:"archived,omitzero"` @@ -1448,168 +1448,143 @@ type PostFeatureV2RequestBody struct { SkipHooks *bool `json:"skipHooks,omitzero"` } -func (p PostFeatureV2RequestBody) MarshalJSON() ([]byte, error) { +func (p PostFeatureV2Request) MarshalJSON() ([]byte, error) { return utils.MarshalJSON(p, "", false) } -func (p *PostFeatureV2RequestBody) UnmarshalJSON(data []byte) error { +func (p *PostFeatureV2Request) UnmarshalJSON(data []byte) error { if err := utils.UnmarshalJSON(data, &p, "", false, nil); err != nil { return err } return nil } -func (p *PostFeatureV2RequestBody) GetID() string { +func (p *PostFeatureV2Request) GetID() string { if p == nil { return "" } return p.ID } -func (p *PostFeatureV2RequestBody) GetArchived() *bool { +func (p *PostFeatureV2Request) GetArchived() *bool { if p == nil { return nil } return p.Archived } -func (p *PostFeatureV2RequestBody) GetDescription() *string { +func (p *PostFeatureV2Request) GetDescription() *string { if p == nil { return nil } return p.Description } -func (p *PostFeatureV2RequestBody) GetOwner() *string { +func (p *PostFeatureV2Request) GetOwner() *string { if p == nil { return nil } return p.Owner } -func (p *PostFeatureV2RequestBody) GetProject() *string { +func (p *PostFeatureV2Request) GetProject() *string { if p == nil { return nil } return p.Project } -func (p *PostFeatureV2RequestBody) GetTargetingAllProjects() *bool { +func (p *PostFeatureV2Request) GetTargetingAllProjects() *bool { if p == nil { return nil } return p.TargetingAllProjects } -func (p *PostFeatureV2RequestBody) GetTargetingProjects() []string { +func (p *PostFeatureV2Request) GetTargetingProjects() []string { if p == nil { return nil } return p.TargetingProjects } -func (p *PostFeatureV2RequestBody) GetValueType() PostFeatureV2ValueType { +func (p *PostFeatureV2Request) GetValueType() PostFeatureV2ValueType { if p == nil { return PostFeatureV2ValueType("") } return p.ValueType } -func (p *PostFeatureV2RequestBody) GetDefaultValue() string { +func (p *PostFeatureV2Request) GetDefaultValue() string { if p == nil { return "" } return p.DefaultValue } -func (p *PostFeatureV2RequestBody) GetBaseConfig() optionalnullable.OptionalNullable[string] { +func (p *PostFeatureV2Request) GetBaseConfig() optionalnullable.OptionalNullable[string] { if p == nil { return nil } return p.BaseConfig } -func (p *PostFeatureV2RequestBody) GetDefaultValueConfig() optionalnullable.OptionalNullable[string] { +func (p *PostFeatureV2Request) GetDefaultValueConfig() optionalnullable.OptionalNullable[string] { if p == nil { return nil } return p.DefaultValueConfig } -func (p *PostFeatureV2RequestBody) GetTags() []string { +func (p *PostFeatureV2Request) GetTags() []string { if p == nil { return nil } return p.Tags } -func (p *PostFeatureV2RequestBody) GetRules() []PostFeatureV2RuleUnion { +func (p *PostFeatureV2Request) GetRules() []PostFeatureV2RuleUnion { if p == nil { return nil } return p.Rules } -func (p *PostFeatureV2RequestBody) GetEnvironments() map[string]PostFeatureV2Environments { +func (p *PostFeatureV2Request) GetEnvironments() map[string]PostFeatureV2Environments { if p == nil { return nil } return p.Environments } -func (p *PostFeatureV2RequestBody) GetPrerequisites() []string { +func (p *PostFeatureV2Request) GetPrerequisites() []string { if p == nil { return nil } return p.Prerequisites } -func (p *PostFeatureV2RequestBody) GetJSONSchema() *string { +func (p *PostFeatureV2Request) GetJSONSchema() *string { if p == nil { return nil } return p.JSONSchema } -func (p *PostFeatureV2RequestBody) GetCustomFields() map[string]string { +func (p *PostFeatureV2Request) GetCustomFields() map[string]string { if p == nil { return nil } return p.CustomFields } -func (p *PostFeatureV2RequestBody) GetIgnoreWarnings() *bool { +func (p *PostFeatureV2Request) GetIgnoreWarnings() *bool { if p == nil { return nil } return p.IgnoreWarnings } -func (p *PostFeatureV2RequestBody) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PostFeatureV2RequestBody) GetSkipHooks() *bool { - if p == nil { - return nil - } - return p.SkipHooks -} - -// #region class-body-postfeaturev2requestbody -// #endregion class-body-postfeaturev2requestbody - -type PostFeatureV2Request struct { - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PostFeatureV2RequestBody `request:"mediaType=application/json"` -} - func (p *PostFeatureV2Request) GetSkipSchemaValidation() *bool { if p == nil { return nil @@ -1617,18 +1592,11 @@ func (p *PostFeatureV2Request) GetSkipSchemaValidation() *bool { return p.SkipSchemaValidation } -func (p *PostFeatureV2Request) GetIgnoreWarnings() *bool { +func (p *PostFeatureV2Request) GetSkipHooks() *bool { if p == nil { return nil } - return p.IgnoreWarnings -} - -func (p *PostFeatureV2Request) GetBody() PostFeatureV2RequestBody { - if p == nil { - return PostFeatureV2RequestBody{} - } - return p.Body + return p.SkipHooks } // #region class-body-postfeaturev2request diff --git a/internal/sdk/models/operations/putconfigrevisionmetadata.go b/internal/sdk/models/operations/putconfigrevisionmetadata.go index 49d89c9..2c9e3c3 100644 --- a/internal/sdk/models/operations/putconfigrevisionmetadata.go +++ b/internal/sdk/models/operations/putconfigrevisionmetadata.go @@ -124,13 +124,9 @@ func (p *PutConfigRevisionMetadataRequestBody) GetSkipHooks() *bool { } type PutConfigRevisionMetadataRequest struct { - Key string `pathParam:"style=simple,explode=false,name=key"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PutConfigRevisionMetadataRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PutConfigRevisionMetadataRequestBody `request:"mediaType=application/json"` } func (p *PutConfigRevisionMetadataRequest) GetKey() string { @@ -147,20 +143,6 @@ func (p *PutConfigRevisionMetadataRequest) GetVersion() string { return p.Version } -func (p *PutConfigRevisionMetadataRequest) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PutConfigRevisionMetadataRequest) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PutConfigRevisionMetadataRequest) GetBody() PutConfigRevisionMetadataRequestBody { if p == nil { return PutConfigRevisionMetadataRequestBody{} diff --git a/internal/sdk/models/operations/putconfigrevisionprojection.go b/internal/sdk/models/operations/putconfigrevisionprojection.go index e118606..2e0fe0e 100644 --- a/internal/sdk/models/operations/putconfigrevisionprojection.go +++ b/internal/sdk/models/operations/putconfigrevisionprojection.go @@ -104,13 +104,9 @@ func (p *PutConfigRevisionProjectionRequestBody) GetSkipHooks() *bool { } type PutConfigRevisionProjectionRequest struct { - Key string `pathParam:"style=simple,explode=false,name=key"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PutConfigRevisionProjectionRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PutConfigRevisionProjectionRequestBody `request:"mediaType=application/json"` } func (p *PutConfigRevisionProjectionRequest) GetKey() string { @@ -127,20 +123,6 @@ func (p *PutConfigRevisionProjectionRequest) GetVersion() string { return p.Version } -func (p *PutConfigRevisionProjectionRequest) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PutConfigRevisionProjectionRequest) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PutConfigRevisionProjectionRequest) GetBody() PutConfigRevisionProjectionRequestBody { if p == nil { return PutConfigRevisionProjectionRequestBody{} diff --git a/internal/sdk/models/operations/putconfigrevisionschema.go b/internal/sdk/models/operations/putconfigrevisionschema.go index f14e6dd..5c5de36 100644 --- a/internal/sdk/models/operations/putconfigrevisionschema.go +++ b/internal/sdk/models/operations/putconfigrevisionschema.go @@ -122,13 +122,9 @@ func (p *PutConfigRevisionSchemaRequestBody) GetSkipHooks() *bool { } type PutConfigRevisionSchemaRequest struct { - Key string `pathParam:"style=simple,explode=false,name=key"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PutConfigRevisionSchemaRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PutConfigRevisionSchemaRequestBody `request:"mediaType=application/json"` } func (p *PutConfigRevisionSchemaRequest) GetKey() string { @@ -145,20 +141,6 @@ func (p *PutConfigRevisionSchemaRequest) GetVersion() string { return p.Version } -func (p *PutConfigRevisionSchemaRequest) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PutConfigRevisionSchemaRequest) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PutConfigRevisionSchemaRequest) GetBody() PutConfigRevisionSchemaRequestBody { if p == nil { return PutConfigRevisionSchemaRequestBody{} diff --git a/internal/sdk/models/operations/putconfigrevisionvalue.go b/internal/sdk/models/operations/putconfigrevisionvalue.go index 32e03a3..a48d962 100644 --- a/internal/sdk/models/operations/putconfigrevisionvalue.go +++ b/internal/sdk/models/operations/putconfigrevisionvalue.go @@ -83,13 +83,9 @@ func (p *PutConfigRevisionValueRequestBody) GetSkipHooks() *bool { } type PutConfigRevisionValueRequest struct { - Key string `pathParam:"style=simple,explode=false,name=key"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PutConfigRevisionValueRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PutConfigRevisionValueRequestBody `request:"mediaType=application/json"` } func (p *PutConfigRevisionValueRequest) GetKey() string { @@ -106,20 +102,6 @@ func (p *PutConfigRevisionValueRequest) GetVersion() string { return p.Version } -func (p *PutConfigRevisionValueRequest) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PutConfigRevisionValueRequest) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PutConfigRevisionValueRequest) GetBody() PutConfigRevisionValueRequestBody { if p == nil { return PutConfigRevisionValueRequestBody{} diff --git a/internal/sdk/models/operations/putfeaturerevisiondefaultvaluev2.go b/internal/sdk/models/operations/putfeaturerevisiondefaultvaluev2.go index e9a2563..7efccca 100644 --- a/internal/sdk/models/operations/putfeaturerevisiondefaultvaluev2.go +++ b/internal/sdk/models/operations/putfeaturerevisiondefaultvaluev2.go @@ -78,13 +78,9 @@ func (p *PutFeatureRevisionDefaultValueV2RequestBody) GetSkipHooks() *bool { // #endregion class-body-putfeaturerevisiondefaultvaluev2requestbody type PutFeatureRevisionDefaultValueV2Request struct { - ID string `pathParam:"style=simple,explode=false,name=id"` - Version string `pathParam:"style=simple,explode=false,name=version"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PutFeatureRevisionDefaultValueV2RequestBody `request:"mediaType=application/json"` + ID string `pathParam:"style=simple,explode=false,name=id"` + Version string `pathParam:"style=simple,explode=false,name=version"` + Body PutFeatureRevisionDefaultValueV2RequestBody `request:"mediaType=application/json"` } func (p *PutFeatureRevisionDefaultValueV2Request) GetID() string { @@ -101,20 +97,6 @@ func (p *PutFeatureRevisionDefaultValueV2Request) GetVersion() string { return p.Version } -func (p *PutFeatureRevisionDefaultValueV2Request) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PutFeatureRevisionDefaultValueV2Request) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PutFeatureRevisionDefaultValueV2Request) GetBody() PutFeatureRevisionDefaultValueV2RequestBody { if p == nil { return PutFeatureRevisionDefaultValueV2RequestBody{} diff --git a/internal/sdk/models/operations/putfeaturerevisionrulev2.go b/internal/sdk/models/operations/putfeaturerevisionrulev2.go index fce7f87..7763211 100644 --- a/internal/sdk/models/operations/putfeaturerevisionrulev2.go +++ b/internal/sdk/models/operations/putfeaturerevisionrulev2.go @@ -1326,14 +1326,10 @@ func (p *PutFeatureRevisionRuleV2RequestBody) GetSkipHooks() *bool { // #endregion class-body-putfeaturerevisionrulev2requestbody type PutFeatureRevisionRuleV2Request struct { - ID string `pathParam:"style=simple,explode=false,name=id"` - Version string `pathParam:"style=simple,explode=false,name=version"` - RuleID string `pathParam:"style=simple,explode=false,name=ruleId"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body PutFeatureRevisionRuleV2RequestBody `request:"mediaType=application/json"` + ID string `pathParam:"style=simple,explode=false,name=id"` + Version string `pathParam:"style=simple,explode=false,name=version"` + RuleID string `pathParam:"style=simple,explode=false,name=ruleId"` + Body PutFeatureRevisionRuleV2RequestBody `request:"mediaType=application/json"` } func (p *PutFeatureRevisionRuleV2Request) GetID() string { @@ -1357,20 +1353,6 @@ func (p *PutFeatureRevisionRuleV2Request) GetRuleID() string { return p.RuleID } -func (p *PutFeatureRevisionRuleV2Request) GetSkipSchemaValidation() *bool { - if p == nil { - return nil - } - return p.SkipSchemaValidation -} - -func (p *PutFeatureRevisionRuleV2Request) GetIgnoreWarnings() *bool { - if p == nil { - return nil - } - return p.IgnoreWarnings -} - func (p *PutFeatureRevisionRuleV2Request) GetBody() PutFeatureRevisionRuleV2RequestBody { if p == nil { return PutFeatureRevisionRuleV2RequestBody{} diff --git a/internal/sdk/models/operations/updateconfig.go b/internal/sdk/models/operations/updateconfig.go index 194d8ff..848ea1f 100644 --- a/internal/sdk/models/operations/updateconfig.go +++ b/internal/sdk/models/operations/updateconfig.go @@ -283,12 +283,8 @@ func (u *UpdateConfigRequestBody) GetSkipHooks() *bool { type UpdateConfigRequest struct { // The key of the config - Key string `pathParam:"style=simple,explode=false,name=key"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body UpdateConfigRequestBody `request:"mediaType=application/json"` + Key string `pathParam:"style=simple,explode=false,name=key"` + Body UpdateConfigRequestBody `request:"mediaType=application/json"` } func (u *UpdateConfigRequest) GetKey() string { @@ -298,20 +294,6 @@ func (u *UpdateConfigRequest) GetKey() string { return u.Key } -func (u *UpdateConfigRequest) GetSkipSchemaValidation() *bool { - if u == nil { - return nil - } - return u.SkipSchemaValidation -} - -func (u *UpdateConfigRequest) GetIgnoreWarnings() *bool { - if u == nil { - return nil - } - return u.IgnoreWarnings -} - func (u *UpdateConfigRequest) GetBody() UpdateConfigRequestBody { if u == nil { return UpdateConfigRequestBody{} diff --git a/internal/sdk/models/operations/updatefeaturev2.go b/internal/sdk/models/operations/updatefeaturev2.go index 73b7a77..245c432 100644 --- a/internal/sdk/models/operations/updatefeaturev2.go +++ b/internal/sdk/models/operations/updatefeaturev2.go @@ -1586,12 +1586,8 @@ func (u *UpdateFeatureV2RequestBody) GetSkipHooks() *bool { type UpdateFeatureV2Request struct { // The id of the requested resource - ID string `pathParam:"style=simple,explode=false,name=id"` - // Deprecated — pass `skipSchemaValidation` in the request body instead. - SkipSchemaValidation *bool `queryParam:"style=form,explode=true,name=skipSchemaValidation"` - // Deprecated — pass `ignoreWarnings` in the request body instead. - IgnoreWarnings *bool `queryParam:"style=form,explode=true,name=ignoreWarnings"` - Body UpdateFeatureV2RequestBody `request:"mediaType=application/json"` + ID string `pathParam:"style=simple,explode=false,name=id"` + Body UpdateFeatureV2RequestBody `request:"mediaType=application/json"` } func (u *UpdateFeatureV2Request) GetID() string { @@ -1601,20 +1597,6 @@ func (u *UpdateFeatureV2Request) GetID() string { return u.ID } -func (u *UpdateFeatureV2Request) GetSkipSchemaValidation() *bool { - if u == nil { - return nil - } - return u.SkipSchemaValidation -} - -func (u *UpdateFeatureV2Request) GetIgnoreWarnings() *bool { - if u == nil { - return nil - } - return u.IgnoreWarnings -} - func (u *UpdateFeatureV2Request) GetBody() UpdateFeatureV2RequestBody { if u == nil { return UpdateFeatureV2RequestBody{} diff --git a/internal/usage/schema.go b/internal/usage/schema.go index 615f957..cdf038c 100644 --- a/internal/usage/schema.go +++ b/internal/usage/schema.go @@ -10,7 +10,7 @@ import ( ) var usageSchemas = map[string]string{ - "": "name \"growthbook\"\nbin \"growthbook\"\nabout \"GrowthBook REST API: A command-line interface for GrowthBook — manage feature flags, experiments, metrics, and more from your terminal.\\n\\nEndpoints are versioned by path prefix: `/v1` (stable) and `/v2` (improved shapes). Each command group targets the newest version of its endpoint; superseded versions remain available under a `-vN` suffix.\\n\\nAuthenticate with a Secret Key or Personal Access Token via `--bearer-auth` (or the `GBCLI_BEARER_AUTH` environment variable). Run `growthbook configure` to store credentials, or `growthbook whoami` to check the active configuration.\"\nversion \"2.0.0\"\nconfig {\n file \"~/.config/growthbook/config.yaml\"\n}\nflag \"--usage\" help=\"Print the CLI Usage schema in KDL format\" global=#true\nflag \"-o --output-format \" help=\"Specify the output format. Options: pretty, json, yaml, table, toon.\" global=#true config=\"output_format\" default=\"pretty\"\nflag \"--color \" help=\"Control colored output: auto (color when output is a TTY), always, or never. Respects NO_COLOR and FORCE_COLOR env vars.\" global=#true default=\"auto\"\nflag \"-q --jq \" help=\"Filter and transform output using a jq expression (e.g., '.name', '.items[] | .id')\" global=#true\nflag \"--server-url \" help=\"Override the default server URL\" global=#true\nflag \"--server \" help=\"Select a server by index (for indexed servers) or name (for named servers)\" global=#true\nflag \"-H --header \" help=\"Set a custom HTTP request header (format: \\\"Key: Value\\\"). Can be specified multiple times.\" global=#true var=#true\nflag \"--include-headers\" help=\"Include HTTP response headers in the output\" global=#true default=#false\nflag \"--timeout \" help=\"HTTP request timeout (e.g., 30s, 5m, 100ms)\" global=#true config=\"timeout\"\nflag \"--dry-run\" help=\"Preview the request that would be sent without executing it (output to stderr)\" global=#true default=#false\nflag \"-d --debug\" help=\"Log request and response diagnostics to stderr\" global=#true default=#false\nflag \"--agent-mode\" help=\"Enable structured errors and default TOON output for AI coding agents. Automatically enabled when a known agent environment is detected (CLAUDE_CODE, CURSOR_AGENT, etc.). Use --agent-mode=false to disable.\" global=#true default=#false\nflag \"--domain \" help=\"Server template variable: domain\" global=#true\nflag \"--bearer-auth \" help=\"Bearer auth token: your Secret Key or Personal Access Token, sent as an Authorization Bearer header.\" global=#true env=\"GBCLI_BEARER_AUTH\" config=\"security.bearer_auth\"\nflag \"--username \" help=\"HTTP Basic auth: use your GrowthBook Secret Key as the username and leave the password empty. username\" global=#true env=\"GBCLI_USERNAME\" config=\"security.username\"\nflag \"--password \" help=\"HTTP Basic auth: use your GrowthBook Secret Key as the username and leave the password empty. password\" global=#true env=\"GBCLI_PASSWORD\" config=\"security.password\"\ncmd \"get-SDK-payload\" help=\"Get a SDK payload\" {\n alias \"gSp\"\n flag \"--key \" help=\"[required]\"\n}\ncmd \"copy-transform\" help=\"Copy Transform\" {\n alias \"ct\"\n flag \"--visual-changeset-id \" help=\"[required]\"\n flag \"--copy \" help=\"[required]\"\n flag \"--mode \" help=\"options: energetic, concise, humorous [required]\"\n flag \"--body \" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\ncmd \"features-v1\" help=\"Control your feature flags programatically\" {\n alias \"fv\"\n cmd \"list\" help=\"Get all features\" {\n flag \"--limit \" help=\"The number of items to return\" default=10\n flag \"--offset \" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id \" help=\"Filter by project id\"\n flag \"--client-key \" help=\"Filter by a SDK connection's client key\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages \" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single feature\" {\n flag \"--id \" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--description \" help=\"Description of the feature\"\n flag \"--owner \" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--project \" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects \" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--value-type \" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--default-value \" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) this is the JSON override patch merged on top of the config. [required]\"\n flag \"--base-config \" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config; `defaultValue` and rule values become override patches on top. null or omitted for a plain flag.\"\n flag \"--tags \" help=\"List of associated tags\" var=#true\n flag \"--environments \" help=\"A dictionary of environments that are enabled for this feature. Keys supply the names of environments. Environments belong to organization and are not specified will be disabled by default.\"\n flag \"--prerequisites \" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema \" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields \" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body \" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single feature\" {\n flag \"--id \" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions \" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n }\n cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id \" help=\"The id of the requested resource [required]\"\n flag \"--description \" help=\"Description of the feature\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--project \" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects \" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--owner \" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--default-value \" help=\"string value\"\n flag \"--base-config \" help=\"The config backing this flag (\\\"Config mode\\\"), fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value (or null to detach) is rejected.\"\n flag \"--tags \" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--environments \" help=\"value\"\n flag \"--prerequisites \" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema \" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields \" help=\"value\"\n flag \"--holdout \" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body \" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id \" help=\"The id of the requested resource [required]\"\n }\n cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id \" help=\"The id of the requested resource [required]\"\n flag \"--reason \" help=\"string value\"\n flag \"--environments \" help=\"[required]\"\n flag \"--body \" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id \" help=\"The id of the requested resource [required]\"\n flag \"--revision \" help=\"[required]\"\n flag \"--comment \" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body \" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id \" help=\"Filter by project id\"\n }\n cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids \" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n }\n}\ncmd \"feature-revisions-v1\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"frv\"\n cmd \"list-revisions\" help=\"List feature revisions\" {\n alias \"lr\"\n flag \"--limit \" help=\"The number of items to return\" default=10\n flag \"--offset \" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id \" help=\"string value\"\n flag \"--status \" help=\"string | array of string\"\n flag \"--author \" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages \" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id \" help=\"The id of the requested resource [required]\"\n flag \"--limit \" help=\"The number of items to return\" default=10\n flag \"--offset \" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status \" help=\"string | array of string\"\n flag \"--author \" help=\"string value\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages \" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id \" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment \" help=\"string value\"\n flag \"--title \" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-revision-latest\" help=\"Get the most recent active draft revision\" {\n alias \"gfrl\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get-feature-revision\" help=\"Get a single feature revision\" {\n alias \"gfr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"put-feature-revision-metadata\" help=\"Update revision metadata (comment, title, feature metadata)\" {\n alias \"pfrm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"pfrdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"pfrpr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"pfrh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-archive\" help=\"Set archived state in a draft revision\" {\n alias \"pfra\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n alias \"pfrt\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-rule-add\" help=\"Add a rule to a draft revision\" {\n alias \"pfrra\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"JSON object\"\n flag \"--schedule <schedule>\" help=\"JSON object\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-rule\" help=\"Update a rule in a draft revision\" {\n alias \"pfrru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"JSON object\"\n flag \"--schedule <schedule>\" help=\"JSON object\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-feature-revision-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dfrr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-rules-reorder\" help=\"Reorder rules in an environment\" {\n alias \"pfrrre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"pfrrrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-feature-revision-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"dfrrrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-request-review\" help=\"Request review for a draft revision\" {\n alias \"pfrrr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"pfrsr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-revision-merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"gfrms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"post-feature-revision-rebase\" help=\"Rebase a draft revision onto the current live version\" {\n alias \"pfrr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-publish\" help=\"Publish a draft revision\" {\n alias \"pfrp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-discard\" help=\"Discard a draft revision\" {\n alias \"pfrd\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-revert\" help=\"Revert the feature to a prior revision\" {\n alias \"pfrre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"features\" help=\"Control your feature flags programatically\" {\n cmd \"list\" help=\"Get all features\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--client-key <client_key>\" help=\"Filter by a SDK connection's client key\"\n flag \"--archived\" help=\"Whether to include archived features. Defaults to `false` (non-archived only). Pass `true` to include archived features alongside non-archived ones.\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single feature\" {\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--body-param.archived\" help=\"boolean flag\"\n flag \"--body-param.description <description>\" help=\"Description of the feature\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--body-param.project <project>\" help=\"An associated project ID\"\n flag \"--body-param.targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--body-param.targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--body-param.value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--body-param.default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag.\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--body-param.tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--body-param.rules <rules>\" help=\"Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`.\"\n flag \"--body-param.environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--body-param.prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--body-param.json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--body-param.custom-fields <custom_fields>\" help=\"value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions <with_revisions>\" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n }\n cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.description <description>\" help=\"Description of the feature\"\n flag \"--body-param.archived\" help=\"boolean flag\"\n flag \"--body-param.project <project>\" help=\"An associated project ID\"\n flag \"--body-param.targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--body-param.targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.default-value <default_value>\" help=\"string value\"\n flag \"--body-param.base-config <base_config>\" help=\"The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected.\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--body-param.tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--body-param.rules <rules>\" help=\"Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`).\"\n flag \"--body-param.environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--body-param.prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--body-param.json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--body-param.custom-fields <custom_fields>\" help=\"value\"\n flag \"--body-param.holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--environments <environments>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--revision <revision>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n }\n}\ncmd \"feature-revisions\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"fr\"\n cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user.\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"Filter to drafts created by this user (userId).\"\n }\n cmd \"get\" help=\"Get a single feature revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n }\n cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"[required]\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"srrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--start-state <start_state>\" help=\"The rule state to roll back to (the rollback/jump-to-start anchor). Merged onto the rule's current state, so `{ \\\"coverage\\\": 0 }` keeps existing targeting but rolls back to 0%. This affects rollbacks only — it is NOT applied when the ramp starts. On create, omitting it infers the anchor from the rule's current coverage (and returns a warning if that isn't 0%); on update of a live schedule, omitting it leaves the existing anchor unchanged.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"drrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"date/time value\"\n flag \"--scheduled-publish-lock-edits\" help=\"boolean flag\"\n flag \"--scheduled-publish-lock-others\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish for a draft revision\" {\n alias \"sp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request (revert to draft)\" {\n alias \"rr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Undo a reviewer's own review verdict\" {\n alias \"ur\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"log\" help=\"List the activity log for a revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"add-log-comment\" help=\"Edit the comment text of an owned log entry\" {\n alias \"alc\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"New comment text. Replaces existing comment text. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-log-entry\" help=\"Delete an owned revision Comment entry\" {\n alias \"dle\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"archetypes\" help=\"Archetypes allow you to simulate the result of targeting rules on pre-set user attributes\" {\n cmd \"list\" help=\"Get the organization's archetypes\"\n cmd \"create\" help=\"Create a single archetype\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--is-public\" help=\"Whether to make this Archetype available to other team members [required]\"\n flag \"--attributes <attributes>\" help=\"The attributes to set when using this Archetype\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--environments <environments...>\" help=\"Limit this Archetype to specific environments. Omit or leave empty to apply to all environments.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single archetype\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single archetype\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--is-public\" help=\"Whether to make this Archetype available to other team members\"\n flag \"--attributes <attributes>\" help=\"The attributes to set when using this Archetype\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--environments <environments...>\" help=\"Limit this Archetype to specific environments. Omit or leave empty to apply to all environments.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single archetype\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"experiments\" help=\"Experiments (A/B Tests)\" {\n cmd \"list\" help=\"Get all experiments\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--tracking-key <tracking_key>\" help=\"Filter by experiment tracking key\"\n flag \"--experiment-id <experiment_id>\" help=\"Filter the returned list by the experiment tracking key (not the internal experiment ID). Note, this was deprecated to help reduce confusion, consider using `trackingKey` instead, which is functionally identical. You cannot use both params at the same time.\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--q <q>\" help=\"Raw experiment search/filter string (same syntax as the app's experiment list filters, e.g. `status:running tag:checkout`). Negation (`!`) and operators (`~`, `^`, `>`, `<`, `=`) are not supported and return a 400\"\n flag \"--owner <owner>\" help=\"Filter by comma-separated owner ids, names, or emails\"\n flag \"--result <result...>\" help=\"Filter by comma-separated results (won, lost, inconclusive, dnf). Matches the experiment's recorded result — set when an experiment is stopped and retained if it's later restarted, so running experiments can match too\" var=#true\n flag \"--tag <tag>\" help=\"Filter by comma-separated tags\"\n flag \"--implementation-type <implementation_type...>\" help=\"Filter by comma-separated implementation types (feature, visualChange, redirect) — the kinds of changes linked to the experiment. To filter standard experiments vs bandits, use `bandits` instead\" var=#true\n flag \"--metric-id <metric_id>\" help=\"Filter by comma-separated metric ids. Matches experiments that use a metric as a goal, secondary, or guardrail metric\"\n flag \"--bandits <bandits>\" help=\"When true, return only multi-armed bandits; when false, exclude them (options: true, false)\"\n flag \"--archived\" help=\"Filter by archived status. Set to `true` to return only archived experiments, `false` to exclude them. If omitted, both archived and non-archived experiments are returned.\"\n flag \"--sort-by <sort_by>\" help=\"Field to sort the results by (options: dateCreated, dateUpdated, name)\" default=\"dateCreated\"\n flag \"--sort-order <sort_order>\" help=\"Sort direction (used with `sortBy`) (options: asc, desc)\" default=\"asc\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single experiment\" {\n flag \"--datasource-id <datasource_id>\" help=\"ID for the [DataSource](#tag/DataSource_model). Can only be set if a templateId is not provided.\"\n flag \"--assignment-query-id <assignment_query_id>\" help=\"The ID property of one of the assignment query objects associated with the datasource. Can only be set if a templateId is not provided.\"\n flag \"--tracking-key <tracking_key>\" help=\"[required]\"\n flag \"--bypass-duplicate-key-check\" help=\"If true, allow creating an experiment even if another experiment with the same tracking key already exists. This is ignored if the organization requires unique tracking keys as a rule.\"\n flag \"--name <name>\" help=\"Name of the experiment [required]\"\n flag \"--type <type>\" help=\"options: standard, multi-armed-bandit\"\n flag \"--project <project>\" help=\"Project ID which the experiment belongs to\"\n flag \"--template-id <template_id>\" help=\"ID of the [ExperimentTemplate](#tag/ExperimentTemplate_model) this experiment was created from. Template fields are applied by default and overridden by explicitly provided payload fields.\"\n flag \"--hypothesis <hypothesis>\" help=\"Hypothesis of the experiment\"\n flag \"--description <description>\" help=\"Description of the experiment\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metrics <metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Users must convert on this metric before being included\"\n flag \"--segment-id <segment_id>\" help=\"Only users in this segment will be included\"\n flag \"--query-filter <query_filter>\" help=\"WHERE clause to add to the default experiment query\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--auto-refresh\" help=\"boolean flag\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--hash-version <hash_version>\" help=\"number value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--bucket-version <bucket_version>\" help=\"number value\"\n flag \"--min-bucket-version <min_bucket_version>\" help=\"number value\"\n flag \"--released-variation-id <released_variation_id>\" help=\"string value\"\n flag \"--exclude-from-payload\" help=\"boolean flag\"\n flag \"--in-progress-conversions <in_progress_conversions>\" help=\"options: loose, strict\"\n flag \"--attribution-model <attribution_model>\" help=\"Setting attribution model to `\\\"experimentDuration\\\"` is the same as selecting \\\"Ignore Conversion Windows\\\" for the Conversion Window Override. Setting it to `\\\"lookbackOverride\\\"` requires a `lookbackOverride` object to be provided. (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"Controls the lookback override for the experiment. For type \\\"window\\\", value must be a non-negative number and valueUnit is required.\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist\"\n flag \"--variations <variations>\" help=\"[required]\"\n flag \"--phases <phases>\" help=\"list of values\"\n flag \"--regression-adjustment-enabled\" help=\"Controls whether regression adjustment (CUPED) is enabled for experiment analyses\"\n flag \"--sequential-testing-enabled\" help=\"Only applicable to frequentist analyses\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"number value\"\n flag \"--share-level <share_level>\" help=\"options: public, organization\"\n flag \"--bandit-schedule-value <bandit_schedule_value>\" help=\"number value\"\n flag \"--bandit-schedule-unit <bandit_schedule_unit>\" help=\"options: days, hours\"\n flag \"--bandit-burn-in-value <bandit_burn_in_value>\" help=\"number value\"\n flag \"--bandit-burn-in-unit <bandit_burn_in_unit>\" help=\"options: days, hours\"\n flag \"--bandit-conversion-window-value <bandit_conversion_window_value>\" help=\"number value\"\n flag \"--bandit-conversion-window-unit <bandit_conversion_window_unit>\" help=\"options: days, hours\"\n flag \"--post-stratification-enabled <post_stratification_enabled>\" help=\"When null, the organization default is used.\"\n flag \"--decision-framework-settings <decision_framework_settings>\" help=\"Controls the decision framework and metric overrides for the experiment. Replaces the entire stored object on update (does not patch individual fields).\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric analysis overrides for this experiment. Replaces the entire stored array (does not patch individual entries).\"\n flag \"--default-dashboard-id <default_dashboard_id>\" help=\"ID of the default dashboard for this experiment.\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom slices that apply to ALL applicable metrics in the experiment\"\n flag \"--precomputed-unit-dimension-ids <precomputed_unit_dimension_ids...>\" help=\"list of values\" var=#true\n flag \"--status-update-schedule <status_update_schedule>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list-results\" help=\"Get latest results for many experiments\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--tracking-key <tracking_key>\" help=\"Filter by experiment tracking key\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get\" help=\"Get a single experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--datasource-id <datasource_id>\" help=\"Can only be set if existing experiment does not have a datasource\"\n flag \"--assignment-query-id <assignment_query_id>\" help=\"string value\"\n flag \"--tracking-key <tracking_key>\" help=\"string value\"\n flag \"--bypass-duplicate-key-check\" help=\"If true, allow updating the tracking key even if another experiment with the same tracking key already exist. This is ignored if the organization requires unique tracking keys as a rule.\"\n flag \"--name <name>\" help=\"Name of the experiment\"\n flag \"--type <type>\" help=\"options: standard, multi-armed-bandit\"\n flag \"--project <project>\" help=\"Project ID which the experiment belongs to\"\n flag \"--hypothesis <hypothesis>\" help=\"Hypothesis of the experiment\"\n flag \"--description <description>\" help=\"Description of the experiment\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metrics <metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Users must convert on this metric before being included\"\n flag \"--segment-id <segment_id>\" help=\"Only users in this segment will be included\"\n flag \"--query-filter <query_filter>\" help=\"WHERE clause to add to the default experiment query\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--auto-refresh\" help=\"boolean flag\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--hash-version <hash_version>\" help=\"number value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--bucket-version <bucket_version>\" help=\"number value\"\n flag \"--min-bucket-version <min_bucket_version>\" help=\"number value\"\n flag \"--results <results>\" help=\"The result status of the experiment. Maps to resultSummary.status in the GET response. (options: dnf, won, lost, inconclusive)\"\n flag \"--winner <winner>\" help=\"The index of the winning variation (0-indexed). Maps to resultSummary.winner (variation ID) in the GET response.\"\n flag \"--analysis <analysis>\" help=\"Analysis summary or conclusions for the experiment. Maps to resultSummary.conclusions in the GET response.\"\n flag \"--released-variation-id <released_variation_id>\" help=\"The ID of the released variation. Maps to resultSummary.releasedVariationId in the GET response.\"\n flag \"--exclude-from-payload\" help=\"If true, the experiment is excluded from the SDK payload. Maps to resultSummary.excludeFromPayload in the GET response.\"\n flag \"--in-progress-conversions <in_progress_conversions>\" help=\"options: loose, strict\"\n flag \"--attribution-model <attribution_model>\" help=\"Setting attribution model to `\\\"experimentDuration\\\"` is the same as selecting \\\"Ignore Conversion Windows\\\" for the Conversion Window Override. Setting it to `\\\"lookbackOverride\\\"` requires a `lookbackOverride` object to be provided. (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"Controls the lookback override for the experiment. For type \\\"window\\\", value must be a non-negative number and valueUnit is required.\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist\"\n flag \"--variations <variations>\" help=\"list of values\"\n flag \"--phases <phases>\" help=\"list of values\"\n flag \"--regression-adjustment-enabled\" help=\"Controls whether regression adjustment (CUPED) is enabled for experiment analyses\"\n flag \"--sequential-testing-enabled\" help=\"Only applicable to frequentist analyses\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"number value\"\n flag \"--share-level <share_level>\" help=\"options: public, organization\"\n flag \"--bandit-schedule-value <bandit_schedule_value>\" help=\"number value\"\n flag \"--bandit-schedule-unit <bandit_schedule_unit>\" help=\"options: days, hours\"\n flag \"--bandit-burn-in-value <bandit_burn_in_value>\" help=\"number value\"\n flag \"--bandit-burn-in-unit <bandit_burn_in_unit>\" help=\"options: days, hours\"\n flag \"--bandit-conversion-window-value <bandit_conversion_window_value>\" help=\"number value\"\n flag \"--bandit-conversion-window-unit <bandit_conversion_window_unit>\" help=\"options: days, hours\"\n flag \"--post-stratification-enabled <post_stratification_enabled>\" help=\"When null, the organization default is used.\"\n flag \"--decision-framework-settings <decision_framework_settings>\" help=\"Controls the decision framework and metric overrides for the experiment. Replaces the entire stored object on update (does not patch individual fields).\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric analysis overrides for this experiment. Replaces the entire stored array (does not patch individual entries).\"\n flag \"--default-dashboard-id <default_dashboard_id>\" help=\"ID of the default dashboard for this experiment.\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom slices that apply to ALL applicable metrics in the experiment\"\n flag \"--status-update-schedule <status_update_schedule>\" help=\"JSON object\"\n flag \"--precomputed-unit-dimension-ids <precomputed_unit_dimension_ids...>\" help=\"list of values\" var=#true\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-start-checklist\" help=\"Get an experiment pre-launch checklist status\" {\n alias \"gsc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"results\" help=\"Get results for an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--phase <phase>\" help=\"string value\"\n flag \"--dimension <dimension>\" help=\"string value\"\n }\n cmd \"start\" help=\"Start/Stage an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--skip-checklist\" help=\"If true, skips validating the experiment satisifies all pre-launch checklist items\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"complete-start-checklist\" help=\"Mark manual pre-launch checklist items complete\" {\n alias \"csc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--keys <keys...>\" help=\"Manual pre-launch checklist item keys to mark as complete (auto-computed items cannot be updated via this endpoint). [required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"stop\" help=\"Stop an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--results <results>\" help=\"The experiment conclusion status. (options: dnf, won, lost, inconclusive) [required]\"\n flag \"--enable-temporary-rollout\" help=\"If true, include this stopped experiment in SDK payload and force the release variation (`releasedVariationId`) to all traffic.\"\n flag \"--released-variation-id <released_variation_id>\" help=\"Required if enableTemporaryRollout is true. Variation ID (e.g. var_abc123) to release to 100% of traffic eligible for this experiment.\"\n flag \"--winner-variation-id <winner_variation_id>\" help=\"Variation ID (e.g. var_abc123) of the winning variation. Used only as metadata. Required if results is 'won' and there are multiple test variations. Otherwise, defaults to the test variation when results is 'won' and to the baseline variation for other results.\"\n flag \"--analysis <analysis>\" help=\"Optional markdown summary displayed on the experiment results page.\"\n flag \"--reason <reason>\" help=\"Optional reason for ending the phase stored on the latest phase metadata.\"\n flag \"--date-ended <date_ended>\" help=\"Optional ISO datetime for ending the latest phase. Defaults to the current date and time.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schedule\" help=\"Set an experiment's schedule and shipping automation\" {\n alias \"ss\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--start-at <start_at>\" help=\"ISO datetime when the experiment should start; must be in the future. Omit to clear a scheduled start. Staging still happens via POST /experiments/{id}/start.\"\n flag \"--stop-at <stop_at>\" help=\"Absolute ISO datetime to stop the experiment.\"\n flag \"--stop-after <stop_after>\" help=\"Deferred relative end, resolved to a concrete stop at the experiment's actual start (or now, if already running).\"\n flag \"--scheduled-stop-plan <scheduled_stop_plan>\" help=\"What happens at the scheduled end date. `notify` keeps the experiment running and just notifies (soft). `auto-ship` (requires the Decision Framework) ships the winning variation and stops; multi-winner ties break on `tiebreakerMetricId` (higher lift); with no clear winner, `fallback` either keeps running (`notify`) or ships `fallbackVariationId`. `force-ship` stops and rolls out `fallbackVariationId`. `stop` is a hard deadline that stops with no rollout. For `force-ship` and `stop`, the Decision Framework verdict (won/lost/inconclusive) is recorded as metadata when available.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"modify-temporary-rollout\" help=\"Modify temporary rollout status for a stopped experiment\" {\n alias \"mtr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--enable-temporary-rollout\" help=\"If true, keep the stopped experiment in SDK payload and force traffic to the winner variation. If false, end temporary rollout and remove from SDK payload. [required]\"\n flag \"--released-variation-id <released_variation_id>\" help=\"Variation ID (e.g. var_abc123) to release to 100% of traffic eligible for this experiment. Required if enableTemporaryRollout is true.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create-snapshot\" help=\"Create Experiment Snapshot\" {\n alias \"cs\"\n flag \"--id <id>\" help=\"The experiment id of the experiment to update [required]\"\n flag \"--triggered-by <triggered_by>\" help=\"Set to \\\"schedule\\\" if you want this request to trigger notifications and other events as it if were a scheduled update. Defaults to manual. (options: manual, schedule)\"\n flag \"--dimension <dimension>\" help=\"Dimension to break results down by. For Unit Dimensions, use the dimension id (e.g. \\\"dim_abc123\\\"). For Experiment Dimensions, use \\\"exp:<dimensionName>\\\" (e.g. \\\"exp:country\\\"). Built-in pre-exposure dimensions include \\\"pre:date\\\" and, when configured, \\\"pre:activation\\\". Omit this field to create a standard snapshot.\"\n flag \"--phase <phase>\" help=\"Zero-based phase index to snapshot, where 0 is the first experiment phase. Defaults to the latest phase.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"upload-variation-screenshot\" help=\"Upload a variation screenshot\" {\n alias \"uvs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--variation-id <variation_id>\" help=\"[required]\"\n flag \"--screenshot <screenshot>\" help=\"Base64-encoded screenshot data [required]\"\n flag \"--content-type <content_type>\" help=\"MIME type of the screenshot (options: image/png, image/jpeg, image/gif) [required]\"\n flag \"--description <description>\" help=\"Optional description for the screenshot\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-variation-screenshot\" help=\"Delete a variation screenshot\" {\n alias \"dvs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--variation-id <variation_id>\" help=\"[required]\"\n flag \"--path <path>\" help=\"The screenshot path/URL to delete (from upload response) [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list-names\" help=\"Get a list of experiments with names and ids\" {\n alias \"ln\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n}\ncmd \"snapshots\" help=\"Experiment Snapshots (the individual updates of an experiment)\" {\n cmd \"create-snapshot\" help=\"Create Experiment Snapshot\" {\n alias \"cs\"\n flag \"--id <id>\" help=\"The experiment id of the experiment to update [required]\"\n flag \"--triggered-by <triggered_by>\" help=\"Set to \\\"schedule\\\" if you want this request to trigger notifications and other events as it if were a scheduled update. Defaults to manual. (options: manual, schedule)\"\n flag \"--dimension <dimension>\" help=\"Dimension to break results down by. For Unit Dimensions, use the dimension id (e.g. \\\"dim_abc123\\\"). For Experiment Dimensions, use \\\"exp:<dimensionName>\\\" (e.g. \\\"exp:country\\\"). Built-in pre-exposure dimensions include \\\"pre:date\\\" and, when configured, \\\"pre:activation\\\". Omit this field to create a standard snapshot.\"\n flag \"--phase <phase>\" help=\"Zero-based phase index to snapshot, where 0 is the first experiment phase. Defaults to the latest phase.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-experiment\" help=\"Get an experiment snapshot status\" {\n alias \"ge\"\n flag \"--id <id>\" help=\"The id of the requested resource (a snapshot ID, not experiment ID) [required]\"\n }\n}\ncmd \"visual-changesets\" help=\"Groups of visual changes made by the visual editor to a single page\" {\n alias \"vc\"\n cmd \"list\" help=\"Get all visual changesets\" {\n flag \"--id <id>\" help=\"The experiment id the visual changesets belong to [required]\"\n }\n cmd \"create\" help=\"Create a visual changeset for an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--editor-url <editor_url>\" help=\"URL of the page opened in the visual editor when creating this changeset [required]\"\n flag \"--url-patterns <url_patterns>\" help=\"URL patterns that determine which pages this visual changeset applies to [required]\"\n flag \"--additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single visual changeset\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--include-experiment <include_experiment>\" help=\"Include the associated experiment in payload\"\n }\n cmd \"update\" help=\"Update a visual changeset\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--editor-url <editor_url>\" help=\"URL of the page opened in the visual editor when creating this changeset\"\n flag \"--url-patterns <url_patterns>\" help=\"URL patterns that determine which pages this visual changeset applies to\"\n flag \"--visual-changes <visual_changes>\" help=\"list of values\"\n flag \"--additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-visual-change\" help=\"Create a visual change for a visual changeset\" {\n alias \"avc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--body-param.id <id>\" help=\"string value\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.css <css>\" help=\"string value\"\n flag \"--body-param.js <js>\" help=\"string value\"\n flag \"--body-param.variation <variation>\" help=\"[required]\"\n flag \"--body-param.dom-mutations <dom_mutations>\" help=\"list of values\"\n flag \"--body-param.additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-visual-change\" help=\"Update a visual change for a visual changeset\" {\n alias \"uvc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--visual-change-id <visual_change_id>\" help=\"Specify a specific visual change [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--css <css>\" help=\"string value\"\n flag \"--js <js>\" help=\"string value\"\n flag \"--variation <variation>\" help=\"string value\"\n flag \"--dom-mutations <dom_mutations>\" help=\"list of values\"\n flag \"--additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"contextual-bandits\" help=\"Operations for contextual-bandits\" {\n alias \"cb\"\n cmd \"get-current-weights\" help=\"Get current Contextual Bandit leaf weights and latest event\" {\n alias \"gcw\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"list-snapshots\" help=\"List Contextual Bandit snapshots\" {\n alias \"ls\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--limit <limit>\" help=\"integer value\"\n }\n cmd \"get-snapshot\" help=\"Get a single Contextual Bandit snapshot\" {\n alias \"gs\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--snapshot-id <snapshot_id>\" help=\"The snapshot id [required]\"\n }\n cmd \"list-events\" help=\"List Contextual Bandit weight-update events\" {\n alias \"le\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--limit <limit>\" help=\"integer value\"\n }\n cmd \"get-event\" help=\"Get a single Contextual Bandit weight-update event\" {\n alias \"ge\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--event-id <event_id>\" help=\"The event id [required]\"\n }\n cmd \"get-results\" help=\"Get latest Contextual Bandit results\" {\n alias \"gr\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"list-linked-features\" help=\"Get features linked to a Contextual Bandit\" {\n alias \"llf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"add-linked-feature\" help=\"Link a feature to a Contextual Bandit\" {\n alias \"alf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--feature-id <feature_id>\" help=\"The linked feature id [required]\"\n flag \"--variations <variations>\" help=\"One entry per Contextual Bandit variation. Every variation must be covered exactly once. [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--enabled\" help=\"boolean flag\"\n flag \"--all-environments\" help=\"Apply the rule in every environment. Defaults to true.\"\n flag \"--environments <environments...>\" help=\"Environments to apply the rule in when not all.\" var=#true\n flag \"--all-projects\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--auto-publish\" help=\"Publish the resulting revision immediately instead of leaving it as a draft.\"\n flag \"--draft-version <draft_version>\" help=\"Add the rule to this existing draft revision instead of starting a new one.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-linked-feature\" help=\"Replace a Contextual Bandit's rule on a linked feature\" {\n alias \"ulf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--feature-id <feature_id>\" help=\"The linked feature id [required]\"\n flag \"--variations <variations>\" help=\"One entry per Contextual Bandit variation. Every variation must be covered exactly once. [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--enabled\" help=\"boolean flag\"\n flag \"--all-environments\" help=\"Apply the rule in every environment. Defaults to true.\"\n flag \"--environments <environments...>\" help=\"Environments to apply the rule in when not all.\" var=#true\n flag \"--all-projects\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--auto-publish\" help=\"Publish the resulting revision immediately instead of leaving it as a draft.\"\n flag \"--draft-version <draft_version>\" help=\"Update the rule on this existing draft revision instead of starting a new one.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-linked-feature\" help=\"Unlink a feature from a Contextual Bandit\" {\n alias \"dlf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--feature-id <feature_id>\" help=\"The linked feature id [required]\"\n flag \"--auto-publish <auto_publish>\" help=\"Publish the resulting revision immediately instead of leaving it as a draft.\"\n flag \"--draft-version <draft_version>\" help=\"Remove the rule from this existing draft revision instead of live. Required when the rule hasn't been published yet — omitting it targets the live revision, which has nothing to remove.\"\n }\n cmd \"get\" help=\"Get a single contextualBandit\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single contextualBandit\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--tracking-key <tracking_key>\" help=\"string value\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--variations <variations>\" help=\"list of values\"\n flag \"--datasource <datasource>\" help=\"string value\"\n flag \"--contextual-bandit-query-id <contextual_bandit_query_id>\" help=\"string value\"\n flag \"--contextual-attributes <contextual_attributes...>\" help=\"list of values\" var=#true\n flag \"--decision-metric <decision_metric>\" help=\"string value\"\n flag \"--min-users-per-leaf <min_users_per_leaf>\" help=\"integer value\"\n flag \"--max-leaves <max_leaves>\" help=\"integer value\"\n flag \"--schedule-value <schedule_value>\" help=\"number value\"\n flag \"--schedule-unit <schedule_unit>\" help=\"options: days, hours\"\n flag \"--burn-in-value <burn_in_value>\" help=\"number value\"\n flag \"--burn-in-unit <burn_in_unit>\" help=\"options: days, hours\"\n flag \"--conversion-window-value <conversion_window_value>\" help=\"number value\"\n flag \"--conversion-window-unit <conversion_window_unit>\" help=\"options: hours, days\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--coverage <coverage>\" help=\"number value\"\n flag \"--condition <condition>\" help=\"string value\"\n flag \"--saved-groups <saved_groups>\" help=\"list of values\"\n flag \"--prerequisites <prerequisites>\" help=\"list of values\"\n flag \"--seed <seed>\" help=\"string value\"\n flag \"--variation-weights <variation_weights>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single contextualBandit\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--tracking-key <tracking_key>\" help=\"[required]\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--decision-metric <decision_metric>\" help=\"[required]\"\n flag \"--variations <variations>\" help=\"[required]\"\n flag \"--datasource <datasource>\" help=\"[required]\"\n flag \"--contextual-bandit-query-id <contextual_bandit_query_id>\" help=\"[required]\"\n flag \"--contextual-attributes <contextual_attributes...>\" help=\"[required]\" var=#true\n flag \"--min-users-per-leaf <min_users_per_leaf>\" help=\"integer value\"\n flag \"--max-leaves <max_leaves>\" help=\"integer value\"\n flag \"--schedule-value <schedule_value>\" help=\"number value\"\n flag \"--schedule-unit <schedule_unit>\" help=\"options: days, hours\"\n flag \"--burn-in-value <burn_in_value>\" help=\"number value\"\n flag \"--burn-in-unit <burn_in_unit>\" help=\"options: days, hours\"\n flag \"--conversion-window-value <conversion_window_value>\" help=\"number value\"\n flag \"--conversion-window-unit <conversion_window_unit>\" help=\"options: hours, days\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all contextualBandits\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n flag \"--datasource-id <datasource_id>\" help=\"string value\"\n flag \"--tracking-key <tracking_key>\" help=\"string value\"\n }\n cmd \"start\" help=\"Start a Contextual Bandit\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"stop\" help=\"Stop a Contextual Bandit\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"refresh\" help=\"Trigger a Contextual Bandit snapshot refresh\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"cancel\" help=\"Cancel a running Contextual Bandit snapshot refresh\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n}\ncmd \"metrics\" help=\"Metrics used as goals and guardrails for experiments\" {\n cmd \"list\" help=\"Get all metrics\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single metric\" {\n flag \"--datasource-id <datasource_id>\" help=\"ID for the [DataSource](#tag/DataSource_model) [required]\"\n flag \"--managed-by <managed_by>\" help=\"Where this metric must be managed from. If not set (empty string), it can be managed from anywhere. If set to \\\"api\\\", it can be managed via the API only. (options: , api)\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--name <name>\" help=\"Name of the metric [required]\"\n flag \"--description <description>\" help=\"Description of the metric\"\n flag \"--type <type>\" help=\"Type of metric. See [Metrics documentation](/app/metrics/legacy) (options: binomial, count, duration, revenue) [required]\"\n flag \"--tags <tags...>\" help=\"List of tags\" var=#true\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this metric\" var=#true\n flag \"--archived\" help=\"boolean flag\"\n flag \"--behavior <behavior>\" help=\"JSON object\"\n flag \"--sql <sql>\" help=\"Preferred way to define SQL. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed, and at least one must be specified.\"\n flag \"--sql-builder <sql_builder>\" help=\"An alternative way to specify a SQL metric, rather than a full query. Using `sql` is preferred to `sqlBuilder`. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed, and at least one must be specified.\"\n flag \"--mixpanel <mixpanel>\" help=\"Only use for MixPanel (non-SQL) Data Sources. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed, and at least one must be specified.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--managed-by <managed_by>\" help=\"Where this metric must be managed from. If not set (empty string), it can be managed from anywhere. If set to \\\"api\\\", it can be managed via the API only. Please note that we have deprecated support for setting the managedBy property to \\\"admin\\\". Your existing Legacy Metrics with this value will continue to work, but we suggest migrating to Fact Metrics instead. (options: , api, admin)\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--name <name>\" help=\"Name of the metric\"\n flag \"--description <description>\" help=\"Description of the metric\"\n flag \"--type <type>\" help=\"Type of metric. See [Metrics documentation](/app/metrics/legacy) (options: binomial, count, duration, revenue)\"\n flag \"--tags <tags...>\" help=\"List of tags\" var=#true\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this metric\" var=#true\n flag \"--archived\" help=\"boolean flag\"\n flag \"--behavior <behavior>\" help=\"JSON object\"\n flag \"--sql <sql>\" help=\"Preferred way to define SQL. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed.\"\n flag \"--sql-builder <sql_builder>\" help=\"An alternative way to specify a SQL metric, rather than a full query. Using `sql` is preferred to `sqlBuilder`. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed\"\n flag \"--mixpanel <mixpanel>\" help=\"Only use for MixPanel (non-SQL) Data Sources. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"list-experiments\" help=\"Get results for all experiments that use a metric\" {\n alias \"le\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--q <q>\" help=\"Raw experiment search/filter string (same syntax as the app's experiment list filters, e.g. `status:running tag:checkout`). Negation (`!`) and operators (`~`, `^`, `>`, `<`, `=`) are not supported and return a 400\"\n flag \"--project-id <project_id>\" help=\"Filter by comma-separated project ids or names\"\n flag \"--owner <owner>\" help=\"Filter by comma-separated owner ids, names, or emails\"\n flag \"--status <status>\" help=\"Filter by comma-separated statuses (draft, running, stopped)\"\n flag \"--result <result>\" help=\"Filter by comma-separated results (won, lost, inconclusive, dnf)\"\n flag \"--tag <tag>\" help=\"Filter by comma-separated tags\"\n flag \"--type <type>\" help=\"Filter by comma-separated experiment types (feature, visualChange, redirect)\"\n flag \"--bandits <bandits>\" help=\"When true, return only multi-armed bandits; when false, exclude them (options: true, false)\"\n flag \"--start-date <start_date>\" help=\"Only include experiments that have a phase which ended on or after this date\"\n flag \"--end-date <end_date>\" help=\"Only include experiments that have a phase which ended on or before this date\"\n }\n}\ncmd \"usage-metrics\" help=\"Operations for usage-metrics\" {\n alias \"um\"\n cmd \"get\" help=\"Get metric usage across experiments\" {\n flag \"--ids <ids>\" help=\"List of comma-separated metric IDs (both fact and legacy) to get usage for, e.g. ids=met_123,fact_456 [required]\"\n }\n}\ncmd \"segments\" help=\"Segments used during experiment analysis\" {\n cmd \"list\" help=\"Get all segments\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single segment\" {\n flag \"--name <name>\" help=\"Name of the segment [required]\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"Description of the segment\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this segment belongs to [required]\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.) [required]\"\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this segment\" var=#true\n flag \"--managed-by <managed_by>\" help=\"Where this Segment must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--type <type>\" help=\"GrowthBook supports two types of Segments, SQL and FACT. SQL segments are defined by a SQL query, and FACT segments are defined by a fact table and filters. (options: SQL, FACT) [required]\"\n flag \"--query <query>\" help=\"SQL query that defines the Segment. This is required for SQL segments.\"\n flag \"--fact-table-id <fact_table_id>\" help=\"ID of the fact table this segment belongs to. This is required for FACT segments.\"\n flag \"--filters <filters...>\" help=\"Optional array of fact table filter ids that can further define the Fact Table based Segment.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single segment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single segment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Name of the segment\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"Description of the segment\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this segment belongs to\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.)\"\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this segment\" var=#true\n flag \"--managed-by <managed_by>\" help=\"Where this Segment must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--type <type>\" help=\"GrowthBook supports two types of Segments, SQL and FACT. SQL segments are defined by a SQL query, and FACT segments are defined by a fact table and filters. (options: SQL, FACT)\"\n flag \"--query <query>\" help=\"SQL query that defines the Segment. This is required for SQL segments.\"\n flag \"--fact-table-id <fact_table_id>\" help=\"ID of the fact table this segment belongs to. This is required for FACT segments.\"\n flag \"--filters <filters...>\" help=\"Optional array of fact table filter ids that can further define the Fact Table based Segment.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single segment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"dimensions\" help=\"Dimensions used during experiment analysis\" {\n cmd \"list\" help=\"Get all dimensions\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single dimension\" {\n flag \"--name <name>\" help=\"Name of the dimension [required]\"\n flag \"--description <description>\" help=\"Description of the dimension\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this dimension belongs to [required]\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.) [required]\"\n flag \"--query <query>\" help=\"SQL query or equivalent for the dimension [required]\"\n flag \"--managed-by <managed_by>\" help=\"Where this dimension must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single dimension\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single dimension\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Name of the dimension\"\n flag \"--description <description>\" help=\"Description of the dimension\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this dimension belongs to\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.)\"\n flag \"--query <query>\" help=\"SQL query or equivalent for the dimension\"\n flag \"--managed-by <managed_by>\" help=\"Where this dimension must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single dimension\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"projects\" help=\"Projects are used to organize your feature flags and experiments\" {\n cmd \"list\" help=\"Get all projects\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single project\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--public-id <public_id>\" help=\"URL-safe slug (lowercase letters, numbers, dashes). Auto-generated from name if not provided.\"\n flag \"--settings <settings>\" help=\"Project stats settings that, when set, override the organization settings.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single project\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Edit a single project\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Project name.\"\n flag \"--description <description>\" help=\"Project description.\"\n flag \"--public-id <public_id>\" help=\"URL-safe slug (lowercase letters, numbers, dashes).\"\n flag \"--settings <settings>\" help=\"Project stats settings that, when set, override the organization settings.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single project\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"environments\" help=\"GrowthBook comes with one environment by default (production), but you can add as many as you need\" {\n cmd \"list\" help=\"Get the organization's environments\"\n cmd \"create\" help=\"Create a new environment\" {\n flag \"--id <id>\" help=\"The ID of the new environment [required]\"\n flag \"--description <description>\" help=\"The description of the new environment\"\n flag \"--toggle-on-list\" help=\"Show on feature list page\"\n flag \"--default-state\" help=\"Default state for new features\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--parent <parent>\" help=\"An environment that the new environment should inherit feature rules from. Requires an enterprise license\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update\" help=\"Update an environment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--description <description>\" help=\"The description of the new environment\"\n flag \"--toggle-on-list\" help=\"Show on feature list page\"\n flag \"--default-state\" help=\"Default state for new features\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single environment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"attributes\" help=\"Used when targeting feature flags and experiments\" {\n cmd \"list\" help=\"Get the organization's attributes\" {\n flag \"--project-id <project_id>\" help=\"Filter to attributes available in this project — includes org-wide attributes (no project restriction) and attributes explicitly scoped to this project.\"\n }\n cmd \"create\" help=\"Create a new attribute\" {\n flag \"--property <property>\" help=\"The attribute property [required]\"\n flag \"--datatype <datatype>\" help=\"The attribute datatype (options: boolean, string, number, secureString, enum, string[], number[], secureString[]) [required]\"\n flag \"--description <description>\" help=\"The description of the new attribute\"\n flag \"--archived\" help=\"The attribute is archived\"\n flag \"--hash-attribute\" help=\"Shall the attribute be hashed\"\n flag \"--enum <enum>\" help=\"Comma-separated list of allowed values. Required for the 'enum' datatype. For array datatypes (string[], number[], secureString[]) it optionally restricts the list to these values. Ignored for all other datatypes.\"\n flag \"--format-param <format_param>\" help=\"The attribute's format (options: , version, date, isoCountryCode)\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update\" help=\"Update an attribute\" {\n flag \"--property <property>\" help=\"The attribute property [required]\"\n flag \"--datatype <datatype>\" help=\"The attribute datatype (options: boolean, string, number, secureString, enum, string[], number[], secureString[])\"\n flag \"--description <description>\" help=\"The description of the new attribute\"\n flag \"--archived\" help=\"The attribute is archived\"\n flag \"--hash-attribute\" help=\"Shall the attribute be hashed\"\n flag \"--enum <enum>\" help=\"Comma-separated list of allowed values. Required for the 'enum' datatype. For array datatypes (string[], number[], secureString[]) it optionally restricts the list to these values. Ignored for all other datatypes.\"\n flag \"--format-param <format_param>\" help=\"The attribute's format (options: , version, date, isoCountryCode)\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single attribute\" {\n flag \"--property <property>\" help=\"The attribute property [required]\"\n }\n}\ncmd \"SDK-connections\" help=\"Client keys and settings for connecting SDKs to a GrowthBook instance\" {\n alias \"Sc\"\n cmd \"list\" help=\"Get all sdk connections\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--with-proxy <with_proxy>\" help=\"string value\"\n flag \"--multi-org <multi_org>\" help=\"string value\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single sdk connection\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--language <language>\" help=\"[required]\"\n flag \"--sdk-version <sdk_version>\" help=\"string value\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--encrypt-payload\" help=\"boolean flag\"\n flag \"--include-visual-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiment-refs\" help=\"When true, experiment-ref rules linked to draft experiments are included in feature definitions. Off by default.\"\n flag \"--include-experiment-names\" help=\"boolean flag\"\n flag \"--include-redirect-experiments\" help=\"boolean flag\"\n flag \"--include-rule-ids\" help=\"boolean flag\"\n flag \"--include-project-id-in-metadata\" help=\"boolean flag\"\n flag \"--include-custom-fields-in-metadata\" help=\"boolean flag\"\n flag \"--allowed-custom-fields-in-metadata <allowed_custom_fields_in_metadata...>\" help=\"list of values\" var=#true\n flag \"--include-tags-in-metadata\" help=\"boolean flag\"\n flag \"--include-experiment-schedule-in-metadata\" help=\"boolean flag\"\n flag \"--proxy-enabled\" help=\"boolean flag\"\n flag \"--proxy-host <proxy_host>\" help=\"string value\"\n flag \"--hash-secure-attributes\" help=\"boolean flag\"\n flag \"--remote-eval-enabled\" help=\"boolean flag\"\n flag \"--saved-group-references-enabled\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single sdk connection\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single sdk connection\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--language <language>\" help=\"string value\"\n flag \"--sdk-version <sdk_version>\" help=\"string value\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--encrypt-payload\" help=\"boolean flag\"\n flag \"--include-visual-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiment-refs\" help=\"When true, experiment-ref rules linked to draft experiments are included in feature definitions. Off by default.\"\n flag \"--include-experiment-names\" help=\"boolean flag\"\n flag \"--include-redirect-experiments\" help=\"boolean flag\"\n flag \"--include-rule-ids\" help=\"boolean flag\"\n flag \"--include-project-id-in-metadata\" help=\"boolean flag\"\n flag \"--include-custom-fields-in-metadata\" help=\"boolean flag\"\n flag \"--allowed-custom-fields-in-metadata <allowed_custom_fields_in_metadata...>\" help=\"list of values\" var=#true\n flag \"--include-tags-in-metadata\" help=\"boolean flag\"\n flag \"--include-experiment-schedule-in-metadata\" help=\"boolean flag\"\n flag \"--proxy-enabled\" help=\"boolean flag\"\n flag \"--proxy-host <proxy_host>\" help=\"string value\"\n flag \"--hash-secure-attributes\" help=\"boolean flag\"\n flag \"--remote-eval-enabled\" help=\"boolean flag\"\n flag \"--saved-group-references-enabled\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single SDK connection\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"lookup-SDK-connection-by-key\" help=\"Find a single sdk connection by its key\" {\n alias \"lScbk\"\n flag \"--key <key>\" help=\"The key of the requested sdkConnection [required]\"\n }\n}\ncmd \"data-sources\" help=\"How GrowthBook connects and queries your data, including cached database schema metadata (information schemas) for tables and columns\" {\n alias \"ds\"\n cmd \"list\" help=\"Get all data sources\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get\" help=\"Get a single data source\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"get-information-schema\" help=\"Get a Data Source's Information Schema\" {\n alias \"gis\"\n flag \"--data-source-id <data_source_id>\" help=\"The id of the data source [required]\"\n }\n cmd \"get-information-schema-table\" help=\"Get a single Information Schema Table by id\" {\n alias \"gist\"\n flag \"--table-id <table_id>\" help=\"The id of the information schema table [required]\"\n }\n}\ncmd \"saved-groups\" help=\"Defined sets of attribute values which can be used with feature rules for targeting features at particular users\" {\n alias \"sg\"\n cmd \"list\" help=\"Get all saved group\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single saved group\" {\n flag \"--name <name>\" help=\"The display name of the Saved Group [required]\"\n flag \"--type <type>\" help=\"The type of Saved Group (inferred from other arguments if missing) (options: condition, list)\"\n flag \"--condition <condition>\" help=\"When type = 'condition', this is the JSON-encoded condition for the group\"\n flag \"--attribute-key <attribute_key>\" help=\"When type = 'list', this is the attribute key the group is based on\"\n flag \"--values <values...>\" help=\"When type = 'list', this is the list of values for the attribute key\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--bypass-approval\" help=\"Set to true to create the live Saved Group without approval. The caller must have Bypass draft approvals access in every assigned Project. This field has no effect when approval is not required.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Partially update a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"The display name of the Saved Group\"\n flag \"--condition <condition>\" help=\"When type = 'condition', this is the JSON-encoded condition for the group\"\n flag \"--values <values...>\" help=\"When type = 'list', this is the list of values for the attribute key\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--bypass-approval\" help=\"Set to true to update the live Saved Group without approval. The caller must have Bypass draft approvals access in every current and destination Project. This field has no effect when approval is not required.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"archive\" help=\"Archive a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"get-saved-group-references\" help=\"Get features, experiments, and saved groups that reference this saved group\" {\n alias \"gsgr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"saved-group-revisions\" help=\"Draft revisions for saved groups, including pending changes, approvals, and lifecycle (publish, discard, revert)\" {\n alias \"sgr\"\n cmd \"list\" help=\"List saved-group revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--saved-group-id <saved_group_id>\" help=\"Restrict results to revisions for a single saved group. When omitted, returns revisions across every saved group the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-saved-group\" help=\"List revisions for a saved group\" {\n alias \"lfsg\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single saved group revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update saved group metadata in a draft revision\" {\n alias \"sm\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-condition\" help=\"Update the condition of a condition saved group draft revision\" {\n alias \"sc\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--condition <condition>\" help=\"The JSON-encoded condition for the saved group [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-values\" help=\"Replace the values list in a list saved group draft revision\" {\n alias \"sv\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--values <values...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-items\" help=\"Append items to a list saved group draft revision\" {\n alias \"ai\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--items <items...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"remove-items\" help=\"Remove items from a list saved group draft revision\" {\n alias \"ri\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--items <items...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live saved group\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the saved group to a prior revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"constants\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"list\" help=\"Get all constants\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single constant\" {\n flag \"--key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@const:key` [required]\"\n flag \"--name <name>\" help=\"The display name of the constant [required]\"\n flag \"--type <type>\" help=\"`string` (interpolated as `" + string([]byte{'{', '{'}) + " @const:key " + string([]byte{'}', '}'}) + "`) or `json` (substituted as a whole value) (options: string, json) [required]\"\n flag \"--value <value>\" help=\"string value\"\n flag \"--environment-values <environment_values>\" help=\"value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-references\" help=\"Get features and constants that reference this constant\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n }\n cmd \"get\" help=\"Get a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n }\n cmd \"update\" help=\"Partially update a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--value <value>\" help=\"string value\"\n flag \"--environment-values <environment_values>\" help=\"Per-environment value overrides (environment id → value). When provided, this REPLACES the entire override map — send the complete set, not just the environments you want to change (omit the field to leave overrides unchanged).\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--bypass-approval\" help=\"Set to true to write directly to the live Constant without approval. The caller must have Bypass draft approvals access in the Constant's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n }\n cmd \"archive\" help=\"Archive a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"constant-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"crev\"\n cmd \"list\" help=\"List constant revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single constant (by its key). When omitted, returns revisions across every constant the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-constant\" help=\"List revisions for a constant\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single constant revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update constant metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a constant draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"The default value (raw string for `string` constants, JSON-encoded for `json` constants)\"\n flag \"--environment-values <environment_values>\" help=\"Per-environment value overrides (environment id → value)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live constant\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the constant to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"configs\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"list\" help=\"Get all configs\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"create\" help=\"Create a single config\" {\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]\"\n flag \"--body-param.name <name>\" help=\"The display name of the config [required]\"\n flag \"--body-param.parent <parent>\" help=\"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).\"\n flag \"--body-param.extends <extends...>\" help=\"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--body-param.value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--body-param.scoped-overrides <scoped_overrides>\" help=\"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.source <source>\" help=\"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=<id>&format=<lang>` can reproduce those names.\"\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.experiment-guard\" help=\"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.\"\n flag \"--body-param.invariants <invariants>\" help=\"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-references\" help=\"Get features and configs that reference this config\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-key-usage\" help=\"Get the feature rules and default values implementing each key\" {\n alias \"gku\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-lineage\" help=\"Get the full lineage (family tree) for a config\" {\n alias \"gl\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"verify-schema\" help=\"Verify a config's schema against a source (drift check)\" {\n alias \"vs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-schema\" help=\"Export a config's schema\" {\n alias \"gs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--format-param <format_param>\" help=\"Output format. `json-schema` (default) returns a JSON Schema document; `typescript`, `protobuf`, `python` (Pydantic), `go`, and `rust` (serde) render the schema as source in that language. (options: json-schema, typescript, protobuf, python, go, rust)\"\n flag \"--effective\" help=\"When true, includes fields inherited across the lineage (the family's accumulated schema). When false (default), returns only this config's own fields.\"\n flag \"--source <source>\" help=\"Render using a previously-captured source projection (its named types). Only affects the typed-code formats (`typescript`/`protobuf`/`python`/`go`/`rust`); ignored if the source has no projection.\"\n }\n cmd \"get\" help=\"Get a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"update\" help=\"Partially update a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--body-param.value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--body-param.scoped-overrides <scoped_overrides>\" help=\"Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.source <source>\" help=\"Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export.\"\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.experiment-guard\" help=\"Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.\"\n flag \"--body-param.invariants <invariants>\" help=\"Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.\"\n flag \"--body-param.bypass-approval\" help=\"Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"archive\" help=\"Archive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"lock\" help=\"Lock a config at its current published revision\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--reason <reason>\" help=\"Optional note explaining why the config was locked.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unlock\" help=\"Unlock a config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n}\ncmd \"config-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"cre\"\n cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--body-param.infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--body-param.title <title>\" help=\"string value\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"releases\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"publish-revisions\" help=\"Atomically publish revisions across multiple entities\" {\n alias \"pr\"\n flag \"--revisions <revisions>\" help=\"The revisions to publish, at most one per entity. [required]\"\n flag \"--dry-run\" help=\"Report every gate and outcome without writing anything.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge warnings from experiment guards, schema changes, or archives. It can also force-publish an out-of-date draft when the caller has Bypass draft approvals access for that resource.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema or invariant failures. Validation still runs and the response still reports each failure. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite Custom Hook rejections. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--comment <comment>\" help=\"An optional publish comment recorded on every revision in this release — it appears in each entity's revision history and is passed to any custom validation hooks that run for the publish.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"custom-hooks\" help=\"Sandboxed JavaScript validation hooks that run when features, configs, or their revisions are saved or published\" {\n alias \"ch\"\n cmd \"list\" help=\"Get all custom hooks\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"create\" help=\"Create a single custom hook\" {\n flag \"--name <name>\" help=\"The display name of the custom hook [required]\"\n flag \"--hook <hook>\" help=\"options: validateFeature, validateFeatureRevision, validateConfig, validateConfigRevision, validateExperiment [required]\"\n flag \"--code <code>\" help=\"[required]\"\n flag \"--enabled\" help=\"boolean flag\" default=#true\n flag \"--projects <projects...>\" help=\"Project ids the hook applies to (empty/omitted = all)\" var=#true\n flag \"--entity-type <entity_type>\" help=\"options: feature, config, experiment\"\n flag \"--entity-id <entity_id>\" help=\"string value\"\n flag \"--incremental-changes-only\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"test\" help=\"Dry-run hook code in the sandbox\" {\n flag \"--function-body <function_body>\" help=\"JavaScript function body to execute in the sandbox [required]\"\n flag \"--function-args <function_args>\" help=\"Arguments exposed to the function as named globals (e.g. `feature`, `config`, `revision`)\"\n flag \"--entity-type <entity_type>\" help=\"options: feature, config, experiment\"\n flag \"--entity-id <entity_id>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single custom hook\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n }\n cmd \"update\" help=\"Partially update a single custom hook\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--hook <hook>\" help=\"options: validateFeature, validateFeatureRevision, validateConfig, validateConfigRevision, validateExperiment\"\n flag \"--code <code>\" help=\"string value\"\n flag \"--enabled\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--entity-type <entity_type>\" help=\"Retarget the hook's scope (set with entityId). Pass null (with entityId: null) to make the hook global/project-scoped; omit to leave unchanged. (options: feature, config, experiment)\"\n flag \"--entity-id <entity_id>\" help=\"The scoped resource: a feature id, or a config key. Pass null (with entityType: null) to clear the scope; omit to leave unchanged.\"\n flag \"--incremental-changes-only\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single custom hook\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n }\n cmd \"list-history\" help=\"List a custom hook's version history\" {\n alias \"lh\"\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"revert\" help=\"Revert a custom hook to a previous version\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n flag \"--audit-id <audit_id>\" help=\"The version to restore (from the history endpoint) [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"organizations\" help=\"Organizations are used for multi-org deployments where different teams can run their own isolated feature flags and experiments\" {\n cmd \"list\" help=\"Get all organizations (only for super admins on multi-org Enterprise Plan only)\" {\n flag \"--search <search>\" help=\"Search string to search organization names, owner emails, and external ids by\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single organization (only for super admins on multi-org Enterprise Plan only)\" {\n flag \"--name <name>\" help=\"The name of the organization [required]\"\n flag \"--external-id <external_id>\" help=\"An optional identifier that you use within your company for the organization\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update\" help=\"Edit a single organization (only for super admins on multi-org Enterprise Plan only)\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"The name of the organization\"\n flag \"--external-id <external_id>\" help=\"An optional identifier that you use within your company for the organization\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"fact-tables\" help=\"Fact Tables describe the shape of your data warehouse tables\" {\n alias \"ft\"\n cmd \"list\" help=\"Get all fact tables\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single fact table\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"Description of the fact table\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"List of associated project ids\" var=#true\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--datasource <datasource>\" help=\"The datasource id [required]\"\n flag \"--user-id-types <user_id_types...>\" help=\"List of identifier columns in this table. For example, \\\"id\\\" or \\\"anonymous_id\\\" [required]\" var=#true\n flag \"--aggregated-fact-table-settings <aggregated_fact_table_settings>\" help=\"Settings for maintaining shared daily aggregated tables (a subset of userIdTypes plus the daily update time and restate lookback window) used to speed up CUPED. Requires the data pipeline (pipeline-mode) feature.\"\n flag \"--sql <sql>\" help=\"The SQL query for this fact table [required]\"\n flag \"--event-name <event_name>\" help=\"The event name used in SQL template variables\"\n flag \"--columns <columns>\" help=\"Optional array of column definitions to store for this fact table. Supplied columns are stored as-is. Omit `datatype` (or send \\\"\\\") on a column to have it auto-detected from the SQL.\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single fact table\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single fact table\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"Description of the fact table\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"List of associated project ids\" var=#true\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--user-id-types <user_id_types...>\" help=\"List of identifier columns in this table. For example, \\\"id\\\" or \\\"anonymous_id\\\"\" var=#true\n flag \"--aggregated-fact-table-settings <aggregated_fact_table_settings>\" help=\"Settings for maintaining shared daily aggregated tables (a subset of userIdTypes plus the daily update time and restate lookback window) used to speed up CUPED. Requires the data pipeline (pipeline-mode) feature.\"\n flag \"--sql <sql>\" help=\"The SQL query for this fact table\"\n flag \"--event-name <event_name>\" help=\"The event name used in SQL template variables\"\n flag \"--columns <columns>\" help=\"Optional array of columns to upsert by `column`: existing columns are patched, new columns are created, and columns not included are left unchanged. Omit `datatype` to leave an existing column's type untouched; send \\\"\\\" to reset it for auto-detection; new columns are auto-detected when `datatype` is omitted or \\\"\\\". Slice-related properties require an enterprise license.\"\n flag \"--columns-error <columns_error>\" help=\"Error message if there was an issue parsing the SQL schema\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single fact table\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"list-filters\" help=\"Get all filters for a fact table\" {\n alias \"lf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create-filter\" help=\"Create a single fact table filter\" {\n alias \"cf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"Description of the fact table filter\"\n flag \"--value <value>\" help=\"The SQL expression for this filter. [required]\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI. Before you do this, the Fact Table itself must also be marked as \\\"api\\\" (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-filter\" help=\"Get a single fact filter\" {\n alias \"gf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update-filter\" help=\"Update a single fact table filter\" {\n alias \"uf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"Description of the fact table filter\"\n flag \"--value <value>\" help=\"The SQL expression for this filter.\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI. Before you do this, the Fact Table itself must also be marked as \\\"api\\\" (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-filter\" help=\"Deletes a single fact table filter\" {\n alias \"df\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"create-virtual-column\" help=\"Create a virtual (computed) column on a fact table\" {\n alias \"cvc\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--column <column>\" help=\"The column identifier used in generated SQL. Must contain only letters, numbers, and underscores and end with `_vc`. [required]\"\n flag \"--name <name>\" help=\"Display name for the column\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--number-format <number_format>\" help=\"options: , currency, time:seconds, memory:bytes, memory:kilobytes\"\n flag \"--datatype <datatype>\" help=\"The data type of the computed column (options: number, string, date, boolean, json, binary, other) [required]\"\n flag \"--sql <sql>\" help=\"The SQL expression that computes the column value [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-virtual-column\" help=\"Update a virtual (computed) column on a fact table\" {\n alias \"uvc\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Display name for the column\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--number-format <number_format>\" help=\"options: , currency, time:seconds, memory:bytes, memory:kilobytes\"\n flag \"--datatype <datatype>\" help=\"The data type of the computed column (options: number, string, date, boolean, json, binary, other)\"\n flag \"--sql <sql>\" help=\"The SQL expression that computes the column value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-virtual-column\" help=\"Delete a virtual (computed) column from a fact table\" {\n alias \"dvc\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"get-aggregated\" help=\"Get the materialization status of a fact table's shared daily aggregated tables\" {\n alias \"ga\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"refresh-aggregated\" help=\"Force a refresh or full restate of a fact table's shared daily aggregated tables\" {\n alias \"ra\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--id-type <id_type>\" help=\"Limit the refresh to a single id type. If omitted, all of the fact table's aggregatedFactTableSettings.idTypes are refreshed.\"\n flag \"--full-restate\" help=\"Drop and recreate the table, re-scanning the retained window. This is significantly more expensive than the default incremental append (it scans ~2-3 months of history).\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list-aggregated-table-runs\" help=\"List aggregated table runs\" {\n alias \"latr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--id-type <id_type>\" help=\"Only return runs for this id type. When omitted, runs for all id types are returned.\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get-aggregated-table-run\" help=\"Get a single aggregated table run\" {\n alias \"gatr\"\n flag \"--id <id>\" help=\"The id of the fact table [required]\"\n flag \"--run-id <run_id>\" help=\"The id of the aggregated table run (e.g. aftr_...) [required]\"\n }\n cmd \"bulk-import\" help=\"Bulk import fact tables, filters, and metrics\" {\n alias \"bi\"\n flag \"--fact-tables <fact_tables>\" help=\"list of values\"\n flag \"--fact-table-filters <fact_table_filters>\" help=\"list of values\"\n flag \"--fact-metrics <fact_metrics>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"fact-metrics\" help=\"Fact Metrics are metrics built on top of Fact Table definitions\" {\n alias \"fm\"\n cmd \"list\" help=\"Get all fact metrics\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Filter by Fact Table Id (for ratio metrics, only the numerator is considered)\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single fact metric\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metric-type <metric_type>\" help=\"options: proportion, retention, mean, quantile, ratio, dailyParticipation, funnel [required]\"\n flag \"--numerator <numerator>\" help=\"JSON object\"\n flag \"--denominator <denominator>\" help=\"Only when metricType is 'ratio'\"\n flag \"--inverse\" help=\"Set to true for things like Bounce Rate, where you want the metric to decrease\"\n flag \"--quantile-settings <quantile_settings>\" help=\"Controls the settings for quantile metrics (mandatory if metricType is \\\"quantile\\\")\"\n flag \"--funnel-settings <funnel_settings>\" help=\"Funnel metric settings (required when metricType is \\\"funnel\\\")\"\n flag \"--capping-settings <capping_settings>\" help=\"Controls how outliers are handled\"\n flag \"--window-settings <window_settings>\" help=\"Controls the conversion window for the metric\"\n flag \"--prior-settings <prior_settings>\" help=\"Controls the bayesian prior for the metric. If omitted, organization defaults will be used.\"\n flag \"--regression-adjustment-settings <regression_adjustment_settings>\" help=\"Controls the regression adjustment (CUPED) settings for the metric\"\n flag \"--risk-threshold-success <risk_threshold_success>\" help=\"No longer used. Threshold for Risk to be considered low enough, as a proportion (e.g. put 0.0025 for 0.25%). <br/> Must be a non-negative number and must not be higher than `riskThresholdDanger`.\"\n flag \"--risk-threshold-danger <risk_threshold_danger>\" help=\"No longer used. Threshold for Risk to be considered too high, as a proportion (e.g. put 0.0125 for 1.25%). <br/> Must be a non-negative number.\"\n flag \"--display-as-percentage\" help=\"If true and the metric is a ratio or dailyParticipation metric, variation means will be displayed as a percentage. Defaults to true for dailyParticipation metrics and false for ratio metrics.\"\n flag \"--min-percent-change <min_percent_change>\" help=\"Minimum percent change to consider uplift significant, as a proportion (e.g. put 0.005 for 0.5%)\"\n flag \"--max-percent-change <max_percent_change>\" help=\"Maximum percent change to consider uplift significant, as a proportion (e.g. put 0.5 for 50%)\"\n flag \"--min-sample-size <min_sample_size>\" help=\"number value\"\n flag \"--target-mde <target_mde>\" help=\"The percentage change that you want to reliably detect before ending an experiment, as a proportion (e.g. put 0.1 for 10%). This is used to estimate the \\\"Days Left\\\" for running experiments.\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--metric-auto-slices <metric_auto_slices...>\" help=\"Array of slice column names that will be automatically included in metric analysis. This is an enterprise feature.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single fact metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single fact metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metric-type <metric_type>\" help=\"options: proportion, retention, mean, quantile, ratio, dailyParticipation, funnel\"\n flag \"--numerator <numerator>\" help=\"JSON object\"\n flag \"--denominator <denominator>\" help=\"Only when metricType is 'ratio'\"\n flag \"--inverse\" help=\"Set to true for things like Bounce Rate, where you want the metric to decrease\"\n flag \"--quantile-settings <quantile_settings>\" help=\"Controls the settings for quantile metrics (mandatory if metricType is \\\"quantile\\\")\"\n flag \"--funnel-settings <funnel_settings>\" help=\"Funnel metric settings (required when metricType is \\\"funnel\\\")\"\n flag \"--capping-settings <capping_settings>\" help=\"Controls how outliers are handled\"\n flag \"--window-settings <window_settings>\" help=\"Controls the conversion window for the metric\"\n flag \"--prior-settings <prior_settings>\" help=\"Controls the bayesian prior for the metric. If omitted, organization defaults will be used.\"\n flag \"--regression-adjustment-settings <regression_adjustment_settings>\" help=\"Controls the regression adjustment (CUPED) settings for the metric\"\n flag \"--risk-threshold-success <risk_threshold_success>\" help=\"No longer used. Threshold for Risk to be considered low enough, as a proportion (e.g. put 0.0025 for 0.25%). <br/> Must be a non-negative number and must not be higher than `riskThresholdDanger`.\"\n flag \"--risk-threshold-danger <risk_threshold_danger>\" help=\"No longer used. Threshold for Risk to be considered too high, as a proportion (e.g. put 0.0125 for 1.25%). <br/> Must be a non-negative number.\"\n flag \"--display-as-percentage\" help=\"If true and the metric is a ratio or dailyParticipation metric, variation means will be displayed as a percentage. Defaults to true for dailyParticipation metrics and false for ratio metrics.\"\n flag \"--min-percent-change <min_percent_change>\" help=\"Minimum percent change to consider uplift significant, as a proportion (e.g. put 0.005 for 0.5%)\"\n flag \"--max-percent-change <max_percent_change>\" help=\"Maximum percent change to consider uplift significant, as a proportion (e.g. put 0.5 for 50%)\"\n flag \"--min-sample-size <min_sample_size>\" help=\"number value\"\n flag \"--target-mde <target_mde>\" help=\"number value\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--metric-auto-slices <metric_auto_slices...>\" help=\"Array of slice column names that will be automatically included in metric analysis. This is an enterprise feature.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single fact metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"create-analysis\" help=\"Create a fact metric analysis\" {\n alias \"ca\"\n flag \"--id <id>\" help=\"The fact metric id to analyze [required]\"\n flag \"--user-id-type <user_id_type>\" help=\"The identifier type to use for the analysis. If not provided, defaults to the first available identifier type in the fact table.\"\n flag \"--lookback-days <lookback_days>\" help=\"Number of days to look back for the analysis. Defaults to 30.\"\n flag \"--population-type <population_type>\" help=\"The type of population to analyze. Defaults to 'factTable', meaning the analysis will return the metric value for all units found in the fact table. (options: factTable, segment)\"\n flag \"--population-id <population_id>\" help=\"The ID of the population (e.g., segment ID) when populationType is not 'factTable'. Defaults to null.\"\n flag \"--additional-numerator-filters <additional_numerator_filters...>\" help=\"We support passing in adhoc filters for an analysis that don't live on the metric itself. These are in addition to the metric's filters. To use this, you can pass in an array of Fact Table Filter Ids.\" var=#true\n flag \"--additional-denominator-filters <additional_denominator_filters...>\" help=\"We support passing in adhoc filters for an analysis that don't live on the metric itself. These are in addition to the metric's filters. To use this, you can pass in an array of Fact Table Filter Ids.\" var=#true\n flag \"--use-cache\" help=\"Whether to use a cached query if one exists. Defaults to true.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"code-references\" help=\"Intended for use with our code reference CI utility, [`gb-find-code-refs`](https://github\" {\n alias \"cr\"\n cmd \"submit\" help=\"Submit list of code references\" {\n flag \"--delete-missing <delete_missing>\" help=\"Whether to delete code references that are no longer present in the submitted data (options: true, false)\" default=\"false\"\n flag \"--branch <branch>\" help=\"[required]\"\n flag \"--repo-name <repo_name>\" help=\"[required]\"\n flag \"--refs <refs>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get list of all code references for the current organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get-for-feature\" help=\"Get list of code references for a single feature id\" {\n alias \"gff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"members\" help=\"Members are users who have been invited to an organization\" {\n cmd \"list\" help=\"Get all organization members\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--user-name <user_name>\" help=\"Name of the user.\"\n flag \"--user-email <user_email>\" help=\"Email address of the user.\"\n flag \"--global-role <global_role>\" help=\"Name of the global role\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"update-member-role\" help=\"Update a member's global role (including any enviroment restrictions, if applicable). Can also update a member's project roles if your plan supports it.\" {\n alias \"umr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--member <member>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Removes a single user from an organization\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"queries\" help=\"Retrieve queries used in experiments to calculate results\" {\n cmd \"get-query\" help=\"Get a single query\" {\n alias \"gq\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"settings\" help=\"Get the organization settings\" {\n cmd \"get\" help=\"Get organization settings\"\n}\ncmd \"meta\" help=\"Server metadata, including the running build's version and commit for version-skew checks\" {\n cmd \"get-version\" help=\"Get the GrowthBook server version and build info\" {\n alias \"gv\"\n }\n}\ncmd \"ramp-schedules\" help=\"Multi-step rollout schedules that gradually increase feature rule traffic over time, with optional real-time monitoring\" {\n alias \"rs\"\n cmd \"list\" help=\"Get all rampSchedules\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"Filter by schedule status (options: pending, ready, running, paused, completed, rolled-back)\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a ramp schedule\" {\n flag \"--name <name>\" help=\"string value\"\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--rule-id <rule_id>\" help=\"string value\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"date/time value\"\n flag \"--cutoff-date <cutoff_date>\" help=\"date/time value\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"When true, the ramp holds at step -1 with its rule disabled (zero traffic) until a human approves the start via /actions/approve-step. Composes with startDate.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--experiment-health-action <experiment_health_action>\" help=\"options: rollback, hold, warn\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"start\" help=\"Start a ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"pause\" help=\"Pause a ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"resume\" help=\"Resume a paused ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"rollback\" help=\"Roll back a ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"restart\" help=\"Restart a terminal ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"jump\" help=\"Jump to a specific step\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--target-step-index <target_step_index>\" help=\"Zero-based index of the step to jump to; -1 = pre-start [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"complete\" help=\"Complete a ramp schedule immediately\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--disable-rule\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"approve-step\" help=\"Approve the pending approval gate\" {\n alias \"as\"\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"add-target\" help=\"Add a target rule to a ramp schedule\" {\n alias \"at\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--feature-id <feature_id>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"Deprecated pre-v2 disambiguator; ignored on v2 rules where `rule.id` is uniquely sufficient.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"eject-target\" help=\"Remove a target rule from a ramp schedule\" {\n alias \"et\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--target-id <target_id>\" help=\"Target ID (from the targets array)\"\n flag \"--rule-id <rule_id>\" help=\"Rule ID — use as an alternative to targetId\"\n flag \"--environment <environment>\" help=\"Deprecated pre-v2 disambiguator. Optional when used with ruleId; omit on v2 ramps.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"api-advance\" help=\"Advance to the next step, overriding any holds\" {\n alias \"aa\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"Reason for advancing\"\n flag \"--force\" help=\"Bypass a pending approval gate on the current step. Requires admin-level (`FlagsBypassApprovals`) permission. When omitted or `false`, a 409 is returned if the step has an unsatisfied `holdConditions.requiresApproval` gate.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-ramp-schedule-status\" help=\"Get ramp schedule status summary\" {\n alias \"grss\"\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"set-monitoring-mode\" help=\"Set ramp monitoring mode\" {\n alias \"smm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--monitoring-mode <monitoring_mode>\" help=\"`auto` schedules snapshots automatically while allowed by ramp state. `manual` disables agenda updates and relies on manual Update clicks. (options: auto, manual) [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-auto-update\" help=\"Toggle automatic monitoring updates\" {\n alias \"sau\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--enabled\" help=\"Legacy alias for monitoring mode (`true` => auto, `false` => manual). [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-ramp-schedule-monitoring\" help=\"Update ramp monitoring configuration\" {\n alias \"ursm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--datasource-id <datasource_id>\" help=\"[required]\"\n flag \"--exposure-query-id <exposure_query_id>\" help=\"[required]\"\n flag \"--guardrail-metric-ids <guardrail_metric_ids...>\" help=\"[required]\" var=#true\n flag \"--signal-metric-ids <signal_metric_ids...>\" help=\"list of values\" var=#true\n flag \"--update-schedule-minutes <update_schedule_minutes>\" help=\"number value\"\n flag \"--monitoring-mode <monitoring_mode>\" help=\"options: auto, manual\"\n flag \"--auto-update\" help=\"boolean flag\"\n flag \"--srm-action <srm_action>\" help=\"options: rollback, hold, warn\"\n flag \"--no-traffic-action <no_traffic_action>\" help=\"options: rollback, hold, warn\"\n flag \"--no-traffic-grace-period-hours <no_traffic_grace_period_hours>\" help=\"How long to wait for traffic before applying `noTrafficAction`. Defaults to 24 hours when null or not set.\"\n flag \"--multiple-exposure-action <multiple_exposure_action>\" help=\"options: rollback, hold, warn\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-ramp-schedule-lockdown\" help=\"Update ramp lockdown configuration\" {\n alias \"ursl\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mode <mode>\" help=\"options: none, locked [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-ramp-schedule-steps\" help=\"Update ramp schedule steps\" {\n alias \"urss\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--steps <steps>\" help=\"Full replacement of the steps array. Step-level coverage patches (`actions`) are intentionally excluded — those require a revision publish because they change the SDK payload. Use the revision flow to modify coverage/targeting; use this endpoint to update monitoring flags and hold conditions. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"refresh-monitoring\" help=\"Trigger a manual monitoring update\" {\n alias \"rm\"\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"get\" help=\"Get a single rampSchedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single rampSchedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single rampSchedule\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"date/time value\"\n flag \"--cutoff-date <cutoff_date>\" help=\"date/time value\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--experiment-health-action <experiment_health_action>\" help=\"options: rollback, hold, warn\"\n flag \"--lockdown-config <lockdown_config>\" help=\"When mode is 'locked', blocks all feature edits while the ramp is actively running.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"reports\" help=\"Custom analysis reports built on top of experiment snapshots\" {\n cmd \"list\" help=\"Get all reports\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--experiment-id <experiment_id>\" help=\"Filter reports by experiment id\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a new report\" {\n flag \"--experiment-id <experiment_id>\" help=\"The experiment to create a report for [required]\"\n flag \"--title <title>\" help=\"Report title (defaults to experiment name)\"\n flag \"--description <description>\" help=\"Report description\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--stats-engine <stats_engine>\" help=\"Stats engine override (options: bayesian, frequentist)\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"Goal metric IDs (defaults to experiment's goal metrics)\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"Secondary metric IDs (defaults to experiment's secondary metrics)\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"Guardrail metric IDs (defaults to experiment's guardrail metrics)\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Activation metric ID\"\n flag \"--dimension <dimension>\" help=\"Dimension to cut results by\"\n flag \"--date-started <date_started>\" help=\"Analysis start date (ISO 8601)\"\n flag \"--date-ended <date_ended>\" help=\"Analysis end date (ISO 8601)\"\n flag \"--regression-adjustment-enabled\" help=\"Enable CUPED regression adjustment\"\n flag \"--sequential-testing-enabled\" help=\"Enable sequential testing\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"Tuning parameter for sequential testing (frequentist only)\"\n flag \"--difference-type <difference_type>\" help=\"How lifts are expressed in results. Defaults to experiment setting. (options: relative, absolute, scaled)\"\n flag \"--attribution-model <attribution_model>\" help=\"Metric conversion window attribution model. Defaults to experiment setting. (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"{ value: value } | { value: number, valueUnit: string }\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric window, risk, and regression-adjustment overrides\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom metric slice definitions\"\n flag \"--segment <segment>\" help=\"Segment ID to filter users by. Defaults to experiment setting.\"\n flag \"--query-filter <query_filter>\" help=\"Raw SQL WHERE clause added to the exposure query. Defaults to experiment setting.\"\n flag \"--skip-partial-data\" help=\"When true, exclude users who have not completed the full conversion window.\"\n flag \"--share-level <share_level>\" help=\"Visibility of the created report. Defaults to `private`. Set to `public` to receive a shareable `shareUrl` in the response. (options: public, organization, private)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single report\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"refresh\" help=\"Refresh a report by re-running its analysis\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"set-metadata\" help=\"Update report metadata (title, description, visibility)\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--title <title>\" help=\"Report title\"\n flag \"--description <description>\" help=\"Report description\"\n flag \"--status <status>\" help=\"UI lifecycle marker for the report (options: published, private)\"\n flag \"--share-level <share_level>\" help=\"Visibility of the report. Setting to `public` enables a shareable `shareUrl`; setting back to `organization` or `private` revokes public access (the share token is preserved, so re-publishing exposes the same URL). (options: public, organization, private)\"\n flag \"--edit-level <edit_level>\" help=\"Who can edit the report in the GrowthBook UI. `organization` allows any org member with the `createAnalyses` permission; `private` restricts editing to the report owner. (options: organization, private)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-settings\" help=\"Update report analysis settings\" {\n alias \"ss\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--stats-engine <stats_engine>\" help=\"Stats engine override (options: bayesian, frequentist)\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"Goal metric IDs\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"Secondary metric IDs\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"Guardrail metric IDs\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Activation metric ID\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric window, risk, and regression-adjustment overrides\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom metric slice definitions\"\n flag \"--dimension <dimension>\" help=\"Dimension to cut results by\"\n flag \"--difference-type <difference_type>\" help=\"How lifts are expressed in results (options: relative, absolute, scaled)\"\n flag \"--date-started <date_started>\" help=\"Analysis start date (ISO 8601)\"\n flag \"--date-ended <date_ended>\" help=\"Analysis end date (ISO 8601). Pass `null` to clear the end date and analyze through today.\"\n flag \"--regression-adjustment-enabled\" help=\"Enable CUPED regression adjustment\"\n flag \"--sequential-testing-enabled\" help=\"Enable sequential testing\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"Tuning parameter for sequential testing (frequentist only)\"\n flag \"--attribution-model <attribution_model>\" help=\"Metric conversion window attribution model (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"{ value: value } | { value: number, valueUnit: string }\"\n flag \"--segment <segment>\" help=\"Segment ID to filter users by\"\n flag \"--query-filter <query_filter>\" help=\"Raw SQL WHERE clause added to the exposure query\"\n flag \"--skip-partial-data\" help=\"When true, exclude users who have not completed the full conversion window\"\n flag \"--variations <variations>\" help=\"Override variation names, keys, or traffic weights used in this report. Weights are merged into the latest phase. Changes take effect on the next refresh.\"\n flag \"--coverage <coverage>\" help=\"Traffic coverage (0–1) for the latest phase. Used when computing scaled impact.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"namespaces\" help=\"Namespaces partition your user population into buckets so that experiments using the same hash attribute do not overlap unintentionally\" {\n cmd \"list\" help=\"Get all namespaces\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a namespace\" {\n flag \"--display-name <display_name>\" help=\"Human-readable display name. Must be unique within the organization. [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--status <status>\" help=\"options: active, inactive\"\n flag \"--format-param <format_param>\" help=\"Namespace format. Defaults to 'multiRange', which supports multiple ranges per experiment and a configurable hash attribute. (options: legacy, multiRange)\"\n flag \"--hash-attribute <hash_attribute>\" help=\"Required when format is 'multiRange'. The user attribute (e.g. 'id', 'device_id') used to assign users to namespace buckets.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single namespace\" {\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n }\n cmd \"update\" help=\"Update a namespace\" {\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n flag \"--display-name <display_name>\" help=\"Human-readable display name.\"\n flag \"--description <description>\" help=\"Namespace description.\"\n flag \"--status <status>\" help=\"Set to 'inactive' to disable the namespace. (options: active, inactive)\"\n flag \"--hash-attribute <hash_attribute>\" help=\"Only applies to multiRange namespaces. Changes which user attribute is used for bucket hashing going forward.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a namespace\" {\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n }\n cmd \"get-memberships\" help=\"Get namespace membership\" {\n alias \"gm\"\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"rotate-seed\" help=\"Rotate namespace seed\" {\n alias \"rs\"\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n flag \"--seed <seed>\" help=\"A specific value to use as the new seed. If omitted, a random value is generated.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"dashboards\" help=\"Operations for dashboards\" {\n cmd \"get\" help=\"Get a single dashboard\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single dashboard\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single dashboard\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--title <title>\" help=\"The display name of the Dashboard\"\n flag \"--edit-level <edit_level>\" help=\"Dashboards that are \\\"published\\\" are editable by organization members with appropriate permissions (options: published, private)\"\n flag \"--share-level <share_level>\" help=\"General Dashboards only. Dashboards that are \\\"published\\\" are viewable by organization members with appropriate permissions (options: published, private)\"\n flag \"--enable-auto-updates\" help=\"If enabled for a General Dashboard, also requires an updateSchedule\"\n flag \"--update-schedule <update_schedule>\" help=\"{ hours: number } | { cron: string }\"\n flag \"--projects <projects...>\" help=\"General Dashboards only, Experiment Dashboards use the experiment's projects\" var=#true\n flag \"--global-controls <global_controls>\" help=\"JSON object\"\n flag \"--blocks <blocks>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single dashboard\" {\n flag \"--title <title>\" help=\"The display name of the Dashboard [required]\"\n flag \"--edit-level <edit_level>\" help=\"Dashboards that are \\\"published\\\" are editable by organization members with appropriate permissions (options: published, private) [required]\"\n flag \"--share-level <share_level>\" help=\"General Dashboards only. Dashboards that are \\\"published\\\" are viewable by organization members with appropriate permissions (options: published, private) [required]\"\n flag \"--enable-auto-updates\" help=\"If enabled for a General Dashboard, also requires an updateSchedule [required]\"\n flag \"--update-schedule <update_schedule>\" help=\"{ hours: number } | { cron: string }\"\n flag \"--experiment-id <experiment_id>\" help=\"The parent experiment for an Experiment Dashboard, or undefined for a general dashboard\"\n flag \"--projects <projects...>\" help=\"General Dashboards only, Experiment Dashboards use the experiment's projects\" var=#true\n flag \"--global-controls <global_controls>\" help=\"JSON object\"\n flag \"--blocks <blocks>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all dashboards\"\n cmd \"list-for-experiment\" help=\"Get all dashboards for an experiment\" {\n alias \"lfe\"\n flag \"--experiment-id <experiment_id>\" help=\"[required]\"\n }\n}\ncmd \"contextual-bandit-queries\" help=\"Operations for contextual-bandit-queries\" {\n alias \"cbq\"\n cmd \"get\" help=\"Get a single contextualBanditQuery\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single contextualBanditQuery\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single contextualBanditQuery\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--user-id-type <user_id_type>\" help=\"string value\"\n flag \"--query <query>\" help=\"string value\"\n flag \"--targeting-attribute-columns <targeting_attribute_columns...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single contextualBanditQuery\" {\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--datasource-id <datasource_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--user-id-type <user_id_type>\" help=\"[required]\"\n flag \"--query <query>\" help=\"[required]\"\n flag \"--targeting-attribute-columns <targeting_attribute_columns...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all contextualBanditQueries\" {\n flag \"--datasource-id <datasource_id>\" help=\"string value\"\n }\n}\ncmd \"custom-fields\" help=\"Operations for custom-fields\" {\n alias \"cf\"\n cmd \"create\" help=\"Create a single customField\" {\n flag \"--id <id>\" help=\"The unique key for the custom field [required]\"\n flag \"--name <name>\" help=\"The display name of the custom field [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--placeholder <placeholder>\" help=\"string value\"\n flag \"--default-value <default_value>\" help=\"string | number | boolean | date-time | date | array of string | array of number | array of boolean | array of date-time | array of date\"\n flag \"--type <type>\" help=\"The type of value this custom field will take (options: text, textarea, markdown, enum, multiselect, url, number, boolean, date, datetime) [required]\"\n flag \"--values <values>\" help=\"string value\"\n flag \"--required\" help=\"[required]\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--sections <sections...>\" help=\"What types of objects this custom field is applicable to (feature, experiment) [required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all custom fields\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n }\n cmd \"delete\" help=\"Delete a single customField\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--index <index>\" help=\"string value\"\n }\n cmd \"get\" help=\"Get a single customField\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single customField\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"The display name of the custom field\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--placeholder <placeholder>\" help=\"string value\"\n flag \"--default-value <default_value>\" help=\"string | number | boolean | date-time | date | array of string | array of number | array of boolean | array of date-time | array of date\"\n flag \"--values <values>\" help=\"string value\"\n flag \"--required\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--sections <sections...>\" help=\"What types of objects this custom field is applicable to (feature, experiment)\" var=#true\n flag \"--active\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"metric-groups\" help=\"Operations for metric-groups\" {\n alias \"mg\"\n cmd \"get\" help=\"Get a single metricGroup\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single metricGroup\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single metricGroup\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--metrics <metrics...>\" help=\"list of values\" var=#true\n flag \"--datasource <datasource>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single metricGroup\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"[required]\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"[required]\" var=#true\n flag \"--metrics <metrics...>\" help=\"[required]\" var=#true\n flag \"--datasource <datasource>\" help=\"[required]\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all metricGroups\"\n}\ncmd \"teams\" help=\"Operations for teams\" {\n cmd \"get\" help=\"Get a single team\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single team\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--created-by <created_by>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--role <role>\" help=\"The global role for members of this team\"\n flag \"--limit-access-by-environment\" help=\"boolean flag\"\n flag \"--environments <environments...>\" help=\"An empty array means 'all environments'\" var=#true\n flag \"--project-roles <project_roles>\" help=\"list of values\"\n flag \"--managed-by <managed_by>\" help=\"{ resourceId: string }\"\n flag \"--default-project <default_project>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single team\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--delete-members <delete_members>\" help=\"When 'true', enables deleting a team that contains members\"\n }\n cmd \"create\" help=\"Create a single team\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--created-by <created_by>\" help=\"string value\"\n flag \"--description <description>\" help=\"[required]\"\n flag \"--role <role>\" help=\"The global role for members of this team [required]\"\n flag \"--limit-access-by-environment\" help=\"boolean flag\"\n flag \"--environments <environments...>\" help=\"An empty array means 'all environments'\" var=#true\n flag \"--project-roles <project_roles>\" help=\"list of values\"\n flag \"--managed-by <managed_by>\" help=\"{ resourceId: string }\"\n flag \"--default-project <default_project>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all teams\"\n cmd \"add-team-members\" help=\"Add members to team\" {\n alias \"atm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--members <members...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"remove-team-member\" help=\"Remove members from team\" {\n alias \"rtm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--members <members...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"experiment-templates\" help=\"Operations for experiment-templates\" {\n alias \"et\"\n cmd \"get\" help=\"Get a single experimentTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single experimentTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single experimentTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--template-metadata <template_metadata>\" help=\"JSON object\"\n flag \"--type <type>\" help=\"options: standard\"\n flag \"--hypothesis <hypothesis>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--datasource <datasource>\" help=\"string value\"\n flag \"--exposure-query-id <exposure_query_id>\" help=\"string value\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"string value\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist\"\n flag \"--segment <segment>\" help=\"string value\"\n flag \"--skip-partial-data\" help=\"boolean flag\"\n flag \"--targeting <targeting>\" help=\"JSON object\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single experimentTemplate\" {\n flag \"--project <project>\" help=\"string value\"\n flag \"--template-metadata <template_metadata>\" help=\"[required]\"\n flag \"--type <type>\" help=\"options: standard [required]\"\n flag \"--hypothesis <hypothesis>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--datasource <datasource>\" help=\"[required]\"\n flag \"--exposure-query-id <exposure_query_id>\" help=\"[required]\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"string value\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist [required]\"\n flag \"--segment <segment>\" help=\"string value\"\n flag \"--skip-partial-data\" help=\"boolean flag\"\n flag \"--targeting <targeting>\" help=\"[required]\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all experimentTemplates\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n }\n cmd \"bulk-import\" help=\"Bulk create or update experiment templates\" {\n alias \"bi\"\n flag \"--templates <templates>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"analytics-explorations\" help=\"Operations for analytics-explorations\" {\n alias \"ae\"\n cmd \"run-metric\" help=\"Create a Metric based visualization\" {\n alias \"rm\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"run-fact-table\" help=\"Run a Fact Table based visualization\" {\n alias \"rft\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"run-data-source\" help=\"Create a Data Source based visualization\" {\n alias \"rds\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"run-funnel\" help=\"Run a Funnel based visualization\" {\n alias \"rf\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"ramp-schedule-templates\" help=\"Reusable step configurations for ramp schedules\" {\n alias \"rst\"\n cmd \"get\" help=\"Get a single rampScheduleTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single rampScheduleTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single rampScheduleTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-patch <end_patch>\" help=\"JSON object\"\n flag \"--official\" help=\"boolean flag\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--order <order>\" help=\"Display order within the org (lower sorts first).\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single rampScheduleTemplate\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--steps <steps>\" help=\"[required]\"\n flag \"--end-patch <end_patch>\" help=\"JSON object\"\n flag \"--official\" help=\"boolean flag\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--order <order>\" help=\"Display order within the org (lower sorts first). Omit to append to the end.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all rampScheduleTemplates\"\n}\ncmd \"learnings\" help=\"Saved learnings captured across experiments, including AI-discovered patterns\" {\n cmd \"get\" help=\"Get a single learning\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single learning\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single learning\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--text <text>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--supporting-experiment-ids <supporting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--contradicting-experiment-ids <contradicting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--status <status>\" help=\"ID of a learning status configured at the org level (Settings → General → Experiment Settings). Omit or pass an empty string for no status.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single learning\" {\n flag \"--title <title>\" help=\"[required]\"\n flag \"--text <text>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--supporting-experiment-ids <supporting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--contradicting-experiment-ids <contradicting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--status <status>\" help=\"ID of a learning status configured at the org level (Settings → General → Experiment Settings). Omit or pass an empty string for no status.\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all learnings\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n flag \"--experiment-id <experiment_id>\" help=\"Only return learnings that reference this experiment\"\n flag \"--tag <tag>\" help=\"string value\"\n flag \"--status <status>\" help=\"string value\"\n }\n cmd \"search\" help=\"Search saved Learnings by meaning rather than keyword\" {\n flag \"--query <query>\" help=\"Natural-language query to rank learnings against [required]\"\n flag \"--limit <limit>\" help=\"integer value\"\n flag \"--project-id <project_id>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"configure\" help=\"Configure authentication credentials and preferences\"\ncmd \"whoami\" help=\"Display current authentication configuration\"\ncmd \"version\" help=\"Print the CLI version\"\n", + "": "name \"growthbook\"\nbin \"growthbook\"\nabout \"GrowthBook REST API: A command-line interface for GrowthBook — manage feature flags, experiments, metrics, and more from your terminal.\\n\\nEndpoints are versioned by path prefix: `/v1` (stable) and `/v2` (improved shapes). Each command group targets the newest version of its endpoint; superseded versions remain available under a `-vN` suffix.\\n\\nAuthenticate with a Secret Key or Personal Access Token via `--bearer-auth` (or the `GBCLI_BEARER_AUTH` environment variable). Run `growthbook configure` to store credentials, or `growthbook whoami` to check the active configuration.\"\nversion \"2.0.1\"\nconfig {\n file \"~/.config/growthbook/config.yaml\"\n}\nflag \"--usage\" help=\"Print the CLI Usage schema in KDL format\" global=#true\nflag \"-o --output-format <format>\" help=\"Specify the output format. Options: pretty, json, yaml, table, toon.\" global=#true config=\"output_format\" default=\"pretty\"\nflag \"--color <color>\" help=\"Control colored output: auto (color when output is a TTY), always, or never. Respects NO_COLOR and FORCE_COLOR env vars.\" global=#true default=\"auto\"\nflag \"-q --jq <jq>\" help=\"Filter and transform output using a jq expression (e.g., '.name', '.items[] | .id')\" global=#true\nflag \"--server-url <url>\" help=\"Override the default server URL\" global=#true\nflag \"--server <server>\" help=\"Select a server by index (for indexed servers) or name (for named servers)\" global=#true\nflag \"-H --header <header...>\" help=\"Set a custom HTTP request header (format: \\\"Key: Value\\\"). Can be specified multiple times.\" global=#true var=#true\nflag \"--include-headers\" help=\"Include HTTP response headers in the output\" global=#true default=#false\nflag \"--timeout <duration>\" help=\"HTTP request timeout (e.g., 30s, 5m, 100ms)\" global=#true config=\"timeout\"\nflag \"--dry-run\" help=\"Preview the request that would be sent without executing it (output to stderr)\" global=#true default=#false\nflag \"-d --debug\" help=\"Log request and response diagnostics to stderr\" global=#true default=#false\nflag \"--agent-mode\" help=\"Enable structured errors and default TOON output for AI coding agents. Automatically enabled when a known agent environment is detected (CLAUDE_CODE, CURSOR_AGENT, etc.). Use --agent-mode=false to disable.\" global=#true default=#false\nflag \"--domain <domain>\" help=\"Server template variable: domain\" global=#true\nflag \"--bearer-auth <bearer_auth>\" help=\"Bearer auth token: your Secret Key or Personal Access Token, sent as an Authorization Bearer header.\" global=#true env=\"GBCLI_BEARER_AUTH\" config=\"security.bearer_auth\"\nflag \"--username <username>\" help=\"HTTP Basic auth: use your GrowthBook Secret Key as the username and leave the password empty. username\" global=#true env=\"GBCLI_USERNAME\" config=\"security.username\"\nflag \"--password <password>\" help=\"HTTP Basic auth: use your GrowthBook Secret Key as the username and leave the password empty. password\" global=#true env=\"GBCLI_PASSWORD\" config=\"security.password\"\ncmd \"get-SDK-payload\" help=\"Get a SDK payload\" {\n alias \"gSp\"\n flag \"--key <key>\" help=\"[required]\"\n}\ncmd \"copy-transform\" help=\"Copy Transform\" {\n alias \"ct\"\n flag \"--visual-changeset-id <visual_changeset_id>\" help=\"[required]\"\n flag \"--copy <copy>\" help=\"[required]\"\n flag \"--mode <mode>\" help=\"options: energetic, concise, humorous [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\ncmd \"features-v1\" help=\"Control your feature flags programatically\" {\n alias \"fv\"\n cmd \"list\" help=\"Get all features\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--client-key <client_key>\" help=\"Filter by a SDK connection's client key\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single feature\" {\n flag \"--id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) this is the JSON override patch merged on top of the config. [required]\"\n flag \"--base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config; `defaultValue` and rule values become override patches on top. null or omitted for a plain flag.\"\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--environments <environments>\" help=\"A dictionary of environments that are enabled for this feature. Keys supply the names of environments. Environments belong to organization and are not specified will be disabled by default.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions <with_revisions>\" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n }\n cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--default-value <default_value>\" help=\"string value\"\n flag \"--base-config <base_config>\" help=\"The config backing this flag (\\\"Config mode\\\"), fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value (or null to detach) is rejected.\"\n flag \"--tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--environments <environments>\" help=\"value\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--environments <environments>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--revision <revision>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n }\n}\ncmd \"feature-revisions-v1\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"frv\"\n cmd \"list-revisions\" help=\"List feature revisions\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-revision-latest\" help=\"Get the most recent active draft revision\" {\n alias \"gfrl\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get-feature-revision\" help=\"Get a single feature revision\" {\n alias \"gfr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"put-feature-revision-metadata\" help=\"Update revision metadata (comment, title, feature metadata)\" {\n alias \"pfrm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"pfrdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"pfrpr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"pfrh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-archive\" help=\"Set archived state in a draft revision\" {\n alias \"pfra\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n alias \"pfrt\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-rule-add\" help=\"Add a rule to a draft revision\" {\n alias \"pfrra\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"JSON object\"\n flag \"--schedule <schedule>\" help=\"JSON object\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-rule\" help=\"Update a rule in a draft revision\" {\n alias \"pfrru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"JSON object\"\n flag \"--schedule <schedule>\" help=\"JSON object\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-feature-revision-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dfrr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-rules-reorder\" help=\"Reorder rules in an environment\" {\n alias \"pfrrre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"put-feature-revision-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"pfrrrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-feature-revision-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"dfrrrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-request-review\" help=\"Request review for a draft revision\" {\n alias \"pfrrr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"pfrsr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-revision-merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"gfrms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"post-feature-revision-rebase\" help=\"Rebase a draft revision onto the current live version\" {\n alias \"pfrr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-publish\" help=\"Publish a draft revision\" {\n alias \"pfrp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-discard\" help=\"Discard a draft revision\" {\n alias \"pfrd\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"post-feature-revision-revert\" help=\"Revert the feature to a prior revision\" {\n alias \"pfrre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"features\" help=\"Control your feature flags programatically\" {\n cmd \"list\" help=\"Get all features\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--client-key <client_key>\" help=\"Filter by a SDK connection's client key\"\n flag \"--archived\" help=\"Whether to include archived features. Defaults to `false` (non-archived only). Pass `true` to include archived features alongside non-archived ones.\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single feature\" {\n flag \"--id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag.\"\n flag \"--default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--rules <rules>\" help=\"Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`.\"\n flag \"--environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions <with_revisions>\" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n }\n cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--default-value <default_value>\" help=\"string value\"\n flag \"--base-config <base_config>\" help=\"The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected.\"\n flag \"--default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--rules <rules>\" help=\"Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`).\"\n flag \"--environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--environments <environments>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--revision <revision>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n }\n}\ncmd \"feature-revisions\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"fr\"\n cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user.\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"Filter to drafts created by this user (userId).\"\n }\n cmd \"get\" help=\"Get a single feature revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n }\n cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"srrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--start-state <start_state>\" help=\"The rule state to roll back to (the rollback/jump-to-start anchor). Merged onto the rule's current state, so `{ \\\"coverage\\\": 0 }` keeps existing targeting but rolls back to 0%. This affects rollbacks only — it is NOT applied when the ramp starts. On create, omitting it infers the anchor from the rule's current coverage (and returns a warning if that isn't 0%); on update of a live schedule, omitting it leaves the existing anchor unchanged.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"drrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"date/time value\"\n flag \"--scheduled-publish-lock-edits\" help=\"boolean flag\"\n flag \"--scheduled-publish-lock-others\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish for a draft revision\" {\n alias \"sp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request (revert to draft)\" {\n alias \"rr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Undo a reviewer's own review verdict\" {\n alias \"ur\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"log\" help=\"List the activity log for a revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"add-log-comment\" help=\"Edit the comment text of an owned log entry\" {\n alias \"alc\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"New comment text. Replaces existing comment text. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-log-entry\" help=\"Delete an owned revision Comment entry\" {\n alias \"dle\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"archetypes\" help=\"Archetypes allow you to simulate the result of targeting rules on pre-set user attributes\" {\n cmd \"list\" help=\"Get the organization's archetypes\"\n cmd \"create\" help=\"Create a single archetype\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--is-public\" help=\"Whether to make this Archetype available to other team members [required]\"\n flag \"--attributes <attributes>\" help=\"The attributes to set when using this Archetype\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--environments <environments...>\" help=\"Limit this Archetype to specific environments. Omit or leave empty to apply to all environments.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single archetype\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single archetype\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--is-public\" help=\"Whether to make this Archetype available to other team members\"\n flag \"--attributes <attributes>\" help=\"The attributes to set when using this Archetype\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--environments <environments...>\" help=\"Limit this Archetype to specific environments. Omit or leave empty to apply to all environments.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single archetype\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"experiments\" help=\"Experiments (A/B Tests)\" {\n cmd \"list\" help=\"Get all experiments\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--tracking-key <tracking_key>\" help=\"Filter by experiment tracking key\"\n flag \"--experiment-id <experiment_id>\" help=\"Filter the returned list by the experiment tracking key (not the internal experiment ID). Note, this was deprecated to help reduce confusion, consider using `trackingKey` instead, which is functionally identical. You cannot use both params at the same time.\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--q <q>\" help=\"Raw experiment search/filter string (same syntax as the app's experiment list filters, e.g. `status:running tag:checkout`). Negation (`!`) and operators (`~`, `^`, `>`, `<`, `=`) are not supported and return a 400\"\n flag \"--owner <owner>\" help=\"Filter by comma-separated owner ids, names, or emails\"\n flag \"--result <result...>\" help=\"Filter by comma-separated results (won, lost, inconclusive, dnf). Matches the experiment's recorded result — set when an experiment is stopped and retained if it's later restarted, so running experiments can match too\" var=#true\n flag \"--tag <tag>\" help=\"Filter by comma-separated tags\"\n flag \"--implementation-type <implementation_type...>\" help=\"Filter by comma-separated implementation types (feature, visualChange, redirect) — the kinds of changes linked to the experiment. To filter standard experiments vs bandits, use `bandits` instead\" var=#true\n flag \"--metric-id <metric_id>\" help=\"Filter by comma-separated metric ids. Matches experiments that use a metric as a goal, secondary, or guardrail metric\"\n flag \"--bandits <bandits>\" help=\"When true, return only multi-armed bandits; when false, exclude them (options: true, false)\"\n flag \"--archived\" help=\"Filter by archived status. Set to `true` to return only archived experiments, `false` to exclude them. If omitted, both archived and non-archived experiments are returned.\"\n flag \"--sort-by <sort_by>\" help=\"Field to sort the results by (options: dateCreated, dateUpdated, name)\" default=\"dateCreated\"\n flag \"--sort-order <sort_order>\" help=\"Sort direction (used with `sortBy`) (options: asc, desc)\" default=\"asc\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single experiment\" {\n flag \"--datasource-id <datasource_id>\" help=\"ID for the [DataSource](#tag/DataSource_model). Can only be set if a templateId is not provided.\"\n flag \"--assignment-query-id <assignment_query_id>\" help=\"The ID property of one of the assignment query objects associated with the datasource. Can only be set if a templateId is not provided.\"\n flag \"--tracking-key <tracking_key>\" help=\"[required]\"\n flag \"--bypass-duplicate-key-check\" help=\"If true, allow creating an experiment even if another experiment with the same tracking key already exists. This is ignored if the organization requires unique tracking keys as a rule.\"\n flag \"--name <name>\" help=\"Name of the experiment [required]\"\n flag \"--type <type>\" help=\"options: standard, multi-armed-bandit\"\n flag \"--project <project>\" help=\"Project ID which the experiment belongs to\"\n flag \"--template-id <template_id>\" help=\"ID of the [ExperimentTemplate](#tag/ExperimentTemplate_model) this experiment was created from. Template fields are applied by default and overridden by explicitly provided payload fields.\"\n flag \"--hypothesis <hypothesis>\" help=\"Hypothesis of the experiment\"\n flag \"--description <description>\" help=\"Description of the experiment\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metrics <metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Users must convert on this metric before being included\"\n flag \"--segment-id <segment_id>\" help=\"Only users in this segment will be included\"\n flag \"--query-filter <query_filter>\" help=\"WHERE clause to add to the default experiment query\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--auto-refresh\" help=\"boolean flag\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--hash-version <hash_version>\" help=\"number value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--bucket-version <bucket_version>\" help=\"number value\"\n flag \"--min-bucket-version <min_bucket_version>\" help=\"number value\"\n flag \"--released-variation-id <released_variation_id>\" help=\"string value\"\n flag \"--exclude-from-payload\" help=\"boolean flag\"\n flag \"--in-progress-conversions <in_progress_conversions>\" help=\"options: loose, strict\"\n flag \"--attribution-model <attribution_model>\" help=\"Setting attribution model to `\\\"experimentDuration\\\"` is the same as selecting \\\"Ignore Conversion Windows\\\" for the Conversion Window Override. Setting it to `\\\"lookbackOverride\\\"` requires a `lookbackOverride` object to be provided. (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"Controls the lookback override for the experiment. For type \\\"window\\\", value must be a non-negative number and valueUnit is required.\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist\"\n flag \"--variations <variations>\" help=\"[required]\"\n flag \"--phases <phases>\" help=\"list of values\"\n flag \"--regression-adjustment-enabled\" help=\"Controls whether regression adjustment (CUPED) is enabled for experiment analyses\"\n flag \"--sequential-testing-enabled\" help=\"Only applicable to frequentist analyses\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"number value\"\n flag \"--share-level <share_level>\" help=\"options: public, organization\"\n flag \"--bandit-schedule-value <bandit_schedule_value>\" help=\"number value\"\n flag \"--bandit-schedule-unit <bandit_schedule_unit>\" help=\"options: days, hours\"\n flag \"--bandit-burn-in-value <bandit_burn_in_value>\" help=\"number value\"\n flag \"--bandit-burn-in-unit <bandit_burn_in_unit>\" help=\"options: days, hours\"\n flag \"--bandit-conversion-window-value <bandit_conversion_window_value>\" help=\"number value\"\n flag \"--bandit-conversion-window-unit <bandit_conversion_window_unit>\" help=\"options: days, hours\"\n flag \"--post-stratification-enabled <post_stratification_enabled>\" help=\"When null, the organization default is used.\"\n flag \"--decision-framework-settings <decision_framework_settings>\" help=\"Controls the decision framework and metric overrides for the experiment. Replaces the entire stored object on update (does not patch individual fields).\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric analysis overrides for this experiment. Replaces the entire stored array (does not patch individual entries).\"\n flag \"--default-dashboard-id <default_dashboard_id>\" help=\"ID of the default dashboard for this experiment.\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom slices that apply to ALL applicable metrics in the experiment\"\n flag \"--precomputed-unit-dimension-ids <precomputed_unit_dimension_ids...>\" help=\"list of values\" var=#true\n flag \"--status-update-schedule <status_update_schedule>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list-results\" help=\"Get latest results for many experiments\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--tracking-key <tracking_key>\" help=\"Filter by experiment tracking key\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get\" help=\"Get a single experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--datasource-id <datasource_id>\" help=\"Can only be set if existing experiment does not have a datasource\"\n flag \"--assignment-query-id <assignment_query_id>\" help=\"string value\"\n flag \"--tracking-key <tracking_key>\" help=\"string value\"\n flag \"--bypass-duplicate-key-check\" help=\"If true, allow updating the tracking key even if another experiment with the same tracking key already exist. This is ignored if the organization requires unique tracking keys as a rule.\"\n flag \"--name <name>\" help=\"Name of the experiment\"\n flag \"--type <type>\" help=\"options: standard, multi-armed-bandit\"\n flag \"--project <project>\" help=\"Project ID which the experiment belongs to\"\n flag \"--hypothesis <hypothesis>\" help=\"Hypothesis of the experiment\"\n flag \"--description <description>\" help=\"Description of the experiment\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metrics <metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Users must convert on this metric before being included\"\n flag \"--segment-id <segment_id>\" help=\"Only users in this segment will be included\"\n flag \"--query-filter <query_filter>\" help=\"WHERE clause to add to the default experiment query\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--auto-refresh\" help=\"boolean flag\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--hash-version <hash_version>\" help=\"number value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--bucket-version <bucket_version>\" help=\"number value\"\n flag \"--min-bucket-version <min_bucket_version>\" help=\"number value\"\n flag \"--results <results>\" help=\"The result status of the experiment. Maps to resultSummary.status in the GET response. (options: dnf, won, lost, inconclusive)\"\n flag \"--winner <winner>\" help=\"The index of the winning variation (0-indexed). Maps to resultSummary.winner (variation ID) in the GET response.\"\n flag \"--analysis <analysis>\" help=\"Analysis summary or conclusions for the experiment. Maps to resultSummary.conclusions in the GET response.\"\n flag \"--released-variation-id <released_variation_id>\" help=\"The ID of the released variation. Maps to resultSummary.releasedVariationId in the GET response.\"\n flag \"--exclude-from-payload\" help=\"If true, the experiment is excluded from the SDK payload. Maps to resultSummary.excludeFromPayload in the GET response.\"\n flag \"--in-progress-conversions <in_progress_conversions>\" help=\"options: loose, strict\"\n flag \"--attribution-model <attribution_model>\" help=\"Setting attribution model to `\\\"experimentDuration\\\"` is the same as selecting \\\"Ignore Conversion Windows\\\" for the Conversion Window Override. Setting it to `\\\"lookbackOverride\\\"` requires a `lookbackOverride` object to be provided. (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"Controls the lookback override for the experiment. For type \\\"window\\\", value must be a non-negative number and valueUnit is required.\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist\"\n flag \"--variations <variations>\" help=\"list of values\"\n flag \"--phases <phases>\" help=\"list of values\"\n flag \"--regression-adjustment-enabled\" help=\"Controls whether regression adjustment (CUPED) is enabled for experiment analyses\"\n flag \"--sequential-testing-enabled\" help=\"Only applicable to frequentist analyses\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"number value\"\n flag \"--share-level <share_level>\" help=\"options: public, organization\"\n flag \"--bandit-schedule-value <bandit_schedule_value>\" help=\"number value\"\n flag \"--bandit-schedule-unit <bandit_schedule_unit>\" help=\"options: days, hours\"\n flag \"--bandit-burn-in-value <bandit_burn_in_value>\" help=\"number value\"\n flag \"--bandit-burn-in-unit <bandit_burn_in_unit>\" help=\"options: days, hours\"\n flag \"--bandit-conversion-window-value <bandit_conversion_window_value>\" help=\"number value\"\n flag \"--bandit-conversion-window-unit <bandit_conversion_window_unit>\" help=\"options: days, hours\"\n flag \"--post-stratification-enabled <post_stratification_enabled>\" help=\"When null, the organization default is used.\"\n flag \"--decision-framework-settings <decision_framework_settings>\" help=\"Controls the decision framework and metric overrides for the experiment. Replaces the entire stored object on update (does not patch individual fields).\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric analysis overrides for this experiment. Replaces the entire stored array (does not patch individual entries).\"\n flag \"--default-dashboard-id <default_dashboard_id>\" help=\"ID of the default dashboard for this experiment.\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom slices that apply to ALL applicable metrics in the experiment\"\n flag \"--status-update-schedule <status_update_schedule>\" help=\"JSON object\"\n flag \"--precomputed-unit-dimension-ids <precomputed_unit_dimension_ids...>\" help=\"list of values\" var=#true\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-start-checklist\" help=\"Get an experiment pre-launch checklist status\" {\n alias \"gsc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"results\" help=\"Get results for an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--phase <phase>\" help=\"string value\"\n flag \"--dimension <dimension>\" help=\"string value\"\n }\n cmd \"start\" help=\"Start/Stage an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--skip-checklist\" help=\"If true, skips validating the experiment satisifies all pre-launch checklist items\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"complete-start-checklist\" help=\"Mark manual pre-launch checklist items complete\" {\n alias \"csc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--keys <keys...>\" help=\"Manual pre-launch checklist item keys to mark as complete (auto-computed items cannot be updated via this endpoint). [required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"stop\" help=\"Stop an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--results <results>\" help=\"The experiment conclusion status. (options: dnf, won, lost, inconclusive) [required]\"\n flag \"--enable-temporary-rollout\" help=\"If true, include this stopped experiment in SDK payload and force the release variation (`releasedVariationId`) to all traffic.\"\n flag \"--released-variation-id <released_variation_id>\" help=\"Required if enableTemporaryRollout is true. Variation ID (e.g. var_abc123) to release to 100% of traffic eligible for this experiment.\"\n flag \"--winner-variation-id <winner_variation_id>\" help=\"Variation ID (e.g. var_abc123) of the winning variation. Used only as metadata. Required if results is 'won' and there are multiple test variations. Otherwise, defaults to the test variation when results is 'won' and to the baseline variation for other results.\"\n flag \"--analysis <analysis>\" help=\"Optional markdown summary displayed on the experiment results page.\"\n flag \"--reason <reason>\" help=\"Optional reason for ending the phase stored on the latest phase metadata.\"\n flag \"--date-ended <date_ended>\" help=\"Optional ISO datetime for ending the latest phase. Defaults to the current date and time.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schedule\" help=\"Set an experiment's schedule and shipping automation\" {\n alias \"ss\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--start-at <start_at>\" help=\"ISO datetime when the experiment should start; must be in the future. Omit to clear a scheduled start. Staging still happens via POST /experiments/{id}/start.\"\n flag \"--stop-at <stop_at>\" help=\"Absolute ISO datetime to stop the experiment.\"\n flag \"--stop-after <stop_after>\" help=\"Deferred relative end, resolved to a concrete stop at the experiment's actual start (or now, if already running).\"\n flag \"--scheduled-stop-plan <scheduled_stop_plan>\" help=\"What happens at the scheduled end date. `notify` keeps the experiment running and just notifies (soft). `auto-ship` (requires the Decision Framework) ships the winning variation and stops; multi-winner ties break on `tiebreakerMetricId` (higher lift); with no clear winner, `fallback` either keeps running (`notify`) or ships `fallbackVariationId`. `force-ship` stops and rolls out `fallbackVariationId`. `stop` is a hard deadline that stops with no rollout. For `force-ship` and `stop`, the Decision Framework verdict (won/lost/inconclusive) is recorded as metadata when available.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"modify-temporary-rollout\" help=\"Modify temporary rollout status for a stopped experiment\" {\n alias \"mtr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--enable-temporary-rollout\" help=\"If true, keep the stopped experiment in SDK payload and force traffic to the winner variation. If false, end temporary rollout and remove from SDK payload. [required]\"\n flag \"--released-variation-id <released_variation_id>\" help=\"Variation ID (e.g. var_abc123) to release to 100% of traffic eligible for this experiment. Required if enableTemporaryRollout is true.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create-snapshot\" help=\"Create Experiment Snapshot\" {\n alias \"cs\"\n flag \"--id <id>\" help=\"The experiment id of the experiment to update [required]\"\n flag \"--triggered-by <triggered_by>\" help=\"Set to \\\"schedule\\\" if you want this request to trigger notifications and other events as it if were a scheduled update. Defaults to manual. (options: manual, schedule)\"\n flag \"--dimension <dimension>\" help=\"Dimension to break results down by. For Unit Dimensions, use the dimension id (e.g. \\\"dim_abc123\\\"). For Experiment Dimensions, use \\\"exp:<dimensionName>\\\" (e.g. \\\"exp:country\\\"). Built-in pre-exposure dimensions include \\\"pre:date\\\" and, when configured, \\\"pre:activation\\\". Omit this field to create a standard snapshot.\"\n flag \"--phase <phase>\" help=\"Zero-based phase index to snapshot, where 0 is the first experiment phase. Defaults to the latest phase.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"upload-variation-screenshot\" help=\"Upload a variation screenshot\" {\n alias \"uvs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--variation-id <variation_id>\" help=\"[required]\"\n flag \"--screenshot <screenshot>\" help=\"Base64-encoded screenshot data [required]\"\n flag \"--content-type <content_type>\" help=\"MIME type of the screenshot (options: image/png, image/jpeg, image/gif) [required]\"\n flag \"--description <description>\" help=\"Optional description for the screenshot\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-variation-screenshot\" help=\"Delete a variation screenshot\" {\n alias \"dvs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--variation-id <variation_id>\" help=\"[required]\"\n flag \"--path <path>\" help=\"The screenshot path/URL to delete (from upload response) [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list-names\" help=\"Get a list of experiments with names and ids\" {\n alias \"ln\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n}\ncmd \"snapshots\" help=\"Experiment Snapshots (the individual updates of an experiment)\" {\n cmd \"create-snapshot\" help=\"Create Experiment Snapshot\" {\n alias \"cs\"\n flag \"--id <id>\" help=\"The experiment id of the experiment to update [required]\"\n flag \"--triggered-by <triggered_by>\" help=\"Set to \\\"schedule\\\" if you want this request to trigger notifications and other events as it if were a scheduled update. Defaults to manual. (options: manual, schedule)\"\n flag \"--dimension <dimension>\" help=\"Dimension to break results down by. For Unit Dimensions, use the dimension id (e.g. \\\"dim_abc123\\\"). For Experiment Dimensions, use \\\"exp:<dimensionName>\\\" (e.g. \\\"exp:country\\\"). Built-in pre-exposure dimensions include \\\"pre:date\\\" and, when configured, \\\"pre:activation\\\". Omit this field to create a standard snapshot.\"\n flag \"--phase <phase>\" help=\"Zero-based phase index to snapshot, where 0 is the first experiment phase. Defaults to the latest phase.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-experiment\" help=\"Get an experiment snapshot status\" {\n alias \"ge\"\n flag \"--id <id>\" help=\"The id of the requested resource (a snapshot ID, not experiment ID) [required]\"\n }\n}\ncmd \"visual-changesets\" help=\"Groups of visual changes made by the visual editor to a single page\" {\n alias \"vc\"\n cmd \"list\" help=\"Get all visual changesets\" {\n flag \"--id <id>\" help=\"The experiment id the visual changesets belong to [required]\"\n }\n cmd \"create\" help=\"Create a visual changeset for an experiment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--editor-url <editor_url>\" help=\"URL of the page opened in the visual editor when creating this changeset [required]\"\n flag \"--url-patterns <url_patterns>\" help=\"URL patterns that determine which pages this visual changeset applies to [required]\"\n flag \"--additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single visual changeset\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--include-experiment <include_experiment>\" help=\"Include the associated experiment in payload\"\n }\n cmd \"update\" help=\"Update a visual changeset\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--editor-url <editor_url>\" help=\"URL of the page opened in the visual editor when creating this changeset\"\n flag \"--url-patterns <url_patterns>\" help=\"URL patterns that determine which pages this visual changeset applies to\"\n flag \"--visual-changes <visual_changes>\" help=\"list of values\"\n flag \"--additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-visual-change\" help=\"Create a visual change for a visual changeset\" {\n alias \"avc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--body-param.id <id>\" help=\"string value\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.css <css>\" help=\"string value\"\n flag \"--body-param.js <js>\" help=\"string value\"\n flag \"--body-param.variation <variation>\" help=\"[required]\"\n flag \"--body-param.dom-mutations <dom_mutations>\" help=\"list of values\"\n flag \"--body-param.additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-visual-change\" help=\"Update a visual change for a visual changeset\" {\n alias \"uvc\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--visual-change-id <visual_change_id>\" help=\"Specify a specific visual change [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--css <css>\" help=\"string value\"\n flag \"--js <js>\" help=\"string value\"\n flag \"--variation <variation>\" help=\"string value\"\n flag \"--dom-mutations <dom_mutations>\" help=\"list of values\"\n flag \"--additional-properties <additional_properties>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"contextual-bandits\" help=\"Operations for contextual-bandits\" {\n alias \"cb\"\n cmd \"get-current-weights\" help=\"Get current Contextual Bandit leaf weights and latest event\" {\n alias \"gcw\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"list-snapshots\" help=\"List Contextual Bandit snapshots\" {\n alias \"ls\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--limit <limit>\" help=\"integer value\"\n }\n cmd \"get-snapshot\" help=\"Get a single Contextual Bandit snapshot\" {\n alias \"gs\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--snapshot-id <snapshot_id>\" help=\"The snapshot id [required]\"\n }\n cmd \"list-events\" help=\"List Contextual Bandit weight-update events\" {\n alias \"le\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--limit <limit>\" help=\"integer value\"\n }\n cmd \"get-event\" help=\"Get a single Contextual Bandit weight-update event\" {\n alias \"ge\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--event-id <event_id>\" help=\"The event id [required]\"\n }\n cmd \"get-results\" help=\"Get latest Contextual Bandit results\" {\n alias \"gr\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"list-linked-features\" help=\"Get features linked to a Contextual Bandit\" {\n alias \"llf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"add-linked-feature\" help=\"Link a feature to a Contextual Bandit\" {\n alias \"alf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--feature-id <feature_id>\" help=\"The linked feature id [required]\"\n flag \"--variations <variations>\" help=\"One entry per Contextual Bandit variation. Every variation must be covered exactly once. [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--enabled\" help=\"boolean flag\"\n flag \"--all-environments\" help=\"Apply the rule in every environment. Defaults to true.\"\n flag \"--environments <environments...>\" help=\"Environments to apply the rule in when not all.\" var=#true\n flag \"--all-projects\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--auto-publish\" help=\"Publish the resulting revision immediately instead of leaving it as a draft.\"\n flag \"--draft-version <draft_version>\" help=\"Add the rule to this existing draft revision instead of starting a new one.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-linked-feature\" help=\"Replace a Contextual Bandit's rule on a linked feature\" {\n alias \"ulf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--feature-id <feature_id>\" help=\"The linked feature id [required]\"\n flag \"--variations <variations>\" help=\"One entry per Contextual Bandit variation. Every variation must be covered exactly once. [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--enabled\" help=\"boolean flag\"\n flag \"--all-environments\" help=\"Apply the rule in every environment. Defaults to true.\"\n flag \"--environments <environments...>\" help=\"Environments to apply the rule in when not all.\" var=#true\n flag \"--all-projects\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--auto-publish\" help=\"Publish the resulting revision immediately instead of leaving it as a draft.\"\n flag \"--draft-version <draft_version>\" help=\"Update the rule on this existing draft revision instead of starting a new one.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-linked-feature\" help=\"Unlink a feature from a Contextual Bandit\" {\n alias \"dlf\"\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n flag \"--feature-id <feature_id>\" help=\"The linked feature id [required]\"\n flag \"--auto-publish <auto_publish>\" help=\"Publish the resulting revision immediately instead of leaving it as a draft.\"\n flag \"--draft-version <draft_version>\" help=\"Remove the rule from this existing draft revision instead of live. Required when the rule hasn't been published yet — omitting it targets the live revision, which has nothing to remove.\"\n }\n cmd \"get\" help=\"Get a single contextualBandit\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single contextualBandit\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--tracking-key <tracking_key>\" help=\"string value\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--variations <variations>\" help=\"list of values\"\n flag \"--datasource <datasource>\" help=\"string value\"\n flag \"--contextual-bandit-query-id <contextual_bandit_query_id>\" help=\"string value\"\n flag \"--contextual-attributes <contextual_attributes...>\" help=\"list of values\" var=#true\n flag \"--decision-metric <decision_metric>\" help=\"string value\"\n flag \"--min-users-per-leaf <min_users_per_leaf>\" help=\"integer value\"\n flag \"--max-leaves <max_leaves>\" help=\"integer value\"\n flag \"--schedule-value <schedule_value>\" help=\"number value\"\n flag \"--schedule-unit <schedule_unit>\" help=\"options: days, hours\"\n flag \"--burn-in-value <burn_in_value>\" help=\"number value\"\n flag \"--burn-in-unit <burn_in_unit>\" help=\"options: days, hours\"\n flag \"--conversion-window-value <conversion_window_value>\" help=\"number value\"\n flag \"--conversion-window-unit <conversion_window_unit>\" help=\"options: hours, days\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--status <status>\" help=\"options: draft, running, stopped\"\n flag \"--coverage <coverage>\" help=\"number value\"\n flag \"--condition <condition>\" help=\"string value\"\n flag \"--saved-groups <saved_groups>\" help=\"list of values\"\n flag \"--prerequisites <prerequisites>\" help=\"list of values\"\n flag \"--seed <seed>\" help=\"string value\"\n flag \"--variation-weights <variation_weights>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single contextualBandit\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--tracking-key <tracking_key>\" help=\"[required]\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--decision-metric <decision_metric>\" help=\"[required]\"\n flag \"--variations <variations>\" help=\"[required]\"\n flag \"--datasource <datasource>\" help=\"[required]\"\n flag \"--contextual-bandit-query-id <contextual_bandit_query_id>\" help=\"[required]\"\n flag \"--contextual-attributes <contextual_attributes...>\" help=\"[required]\" var=#true\n flag \"--min-users-per-leaf <min_users_per_leaf>\" help=\"integer value\"\n flag \"--max-leaves <max_leaves>\" help=\"integer value\"\n flag \"--schedule-value <schedule_value>\" help=\"number value\"\n flag \"--schedule-unit <schedule_unit>\" help=\"options: days, hours\"\n flag \"--burn-in-value <burn_in_value>\" help=\"number value\"\n flag \"--burn-in-unit <burn_in_unit>\" help=\"options: days, hours\"\n flag \"--conversion-window-value <conversion_window_value>\" help=\"number value\"\n flag \"--conversion-window-unit <conversion_window_unit>\" help=\"options: hours, days\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all contextualBandits\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n flag \"--datasource-id <datasource_id>\" help=\"string value\"\n flag \"--tracking-key <tracking_key>\" help=\"string value\"\n }\n cmd \"start\" help=\"Start a Contextual Bandit\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"stop\" help=\"Stop a Contextual Bandit\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"refresh\" help=\"Trigger a Contextual Bandit snapshot refresh\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n cmd \"cancel\" help=\"Cancel a running Contextual Bandit snapshot refresh\" {\n flag \"--id <id>\" help=\"The Contextual Bandit id [required]\"\n }\n}\ncmd \"metrics\" help=\"Metrics used as goals and guardrails for experiments\" {\n cmd \"list\" help=\"Get all metrics\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single metric\" {\n flag \"--datasource-id <datasource_id>\" help=\"ID for the [DataSource](#tag/DataSource_model) [required]\"\n flag \"--managed-by <managed_by>\" help=\"Where this metric must be managed from. If not set (empty string), it can be managed from anywhere. If set to \\\"api\\\", it can be managed via the API only. (options: , api)\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--name <name>\" help=\"Name of the metric [required]\"\n flag \"--description <description>\" help=\"Description of the metric\"\n flag \"--type <type>\" help=\"Type of metric. See [Metrics documentation](/app/metrics/legacy) (options: binomial, count, duration, revenue) [required]\"\n flag \"--tags <tags...>\" help=\"List of tags\" var=#true\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this metric\" var=#true\n flag \"--archived\" help=\"boolean flag\"\n flag \"--behavior <behavior>\" help=\"JSON object\"\n flag \"--sql <sql>\" help=\"Preferred way to define SQL. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed, and at least one must be specified.\"\n flag \"--sql-builder <sql_builder>\" help=\"An alternative way to specify a SQL metric, rather than a full query. Using `sql` is preferred to `sqlBuilder`. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed, and at least one must be specified.\"\n flag \"--mixpanel <mixpanel>\" help=\"Only use for MixPanel (non-SQL) Data Sources. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed, and at least one must be specified.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--managed-by <managed_by>\" help=\"Where this metric must be managed from. If not set (empty string), it can be managed from anywhere. If set to \\\"api\\\", it can be managed via the API only. Please note that we have deprecated support for setting the managedBy property to \\\"admin\\\". Your existing Legacy Metrics with this value will continue to work, but we suggest migrating to Fact Metrics instead. (options: , api, admin)\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--name <name>\" help=\"Name of the metric\"\n flag \"--description <description>\" help=\"Description of the metric\"\n flag \"--type <type>\" help=\"Type of metric. See [Metrics documentation](/app/metrics/legacy) (options: binomial, count, duration, revenue)\"\n flag \"--tags <tags...>\" help=\"List of tags\" var=#true\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this metric\" var=#true\n flag \"--archived\" help=\"boolean flag\"\n flag \"--behavior <behavior>\" help=\"JSON object\"\n flag \"--sql <sql>\" help=\"Preferred way to define SQL. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed.\"\n flag \"--sql-builder <sql_builder>\" help=\"An alternative way to specify a SQL metric, rather than a full query. Using `sql` is preferred to `sqlBuilder`. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed\"\n flag \"--mixpanel <mixpanel>\" help=\"Only use for MixPanel (non-SQL) Data Sources. Only one of `sql`, `sqlBuilder` or `mixpanel` allowed.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"list-experiments\" help=\"Get results for all experiments that use a metric\" {\n alias \"le\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--q <q>\" help=\"Raw experiment search/filter string (same syntax as the app's experiment list filters, e.g. `status:running tag:checkout`). Negation (`!`) and operators (`~`, `^`, `>`, `<`, `=`) are not supported and return a 400\"\n flag \"--project-id <project_id>\" help=\"Filter by comma-separated project ids or names\"\n flag \"--owner <owner>\" help=\"Filter by comma-separated owner ids, names, or emails\"\n flag \"--status <status>\" help=\"Filter by comma-separated statuses (draft, running, stopped)\"\n flag \"--result <result>\" help=\"Filter by comma-separated results (won, lost, inconclusive, dnf)\"\n flag \"--tag <tag>\" help=\"Filter by comma-separated tags\"\n flag \"--type <type>\" help=\"Filter by comma-separated experiment types (feature, visualChange, redirect)\"\n flag \"--bandits <bandits>\" help=\"When true, return only multi-armed bandits; when false, exclude them (options: true, false)\"\n flag \"--start-date <start_date>\" help=\"Only include experiments that have a phase which ended on or after this date\"\n flag \"--end-date <end_date>\" help=\"Only include experiments that have a phase which ended on or before this date\"\n }\n}\ncmd \"usage-metrics\" help=\"Operations for usage-metrics\" {\n alias \"um\"\n cmd \"get\" help=\"Get metric usage across experiments\" {\n flag \"--ids <ids>\" help=\"List of comma-separated metric IDs (both fact and legacy) to get usage for, e.g. ids=met_123,fact_456 [required]\"\n }\n}\ncmd \"segments\" help=\"Segments used during experiment analysis\" {\n cmd \"list\" help=\"Get all segments\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single segment\" {\n flag \"--name <name>\" help=\"Name of the segment [required]\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"Description of the segment\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this segment belongs to [required]\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.) [required]\"\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this segment\" var=#true\n flag \"--managed-by <managed_by>\" help=\"Where this Segment must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--type <type>\" help=\"GrowthBook supports two types of Segments, SQL and FACT. SQL segments are defined by a SQL query, and FACT segments are defined by a fact table and filters. (options: SQL, FACT) [required]\"\n flag \"--query <query>\" help=\"SQL query that defines the Segment. This is required for SQL segments.\"\n flag \"--fact-table-id <fact_table_id>\" help=\"ID of the fact table this segment belongs to. This is required for FACT segments.\"\n flag \"--filters <filters...>\" help=\"Optional array of fact table filter ids that can further define the Fact Table based Segment.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single segment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single segment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Name of the segment\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"Description of the segment\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this segment belongs to\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.)\"\n flag \"--projects <projects...>\" help=\"List of project IDs for projects that can access this segment\" var=#true\n flag \"--managed-by <managed_by>\" help=\"Where this Segment must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--type <type>\" help=\"GrowthBook supports two types of Segments, SQL and FACT. SQL segments are defined by a SQL query, and FACT segments are defined by a fact table and filters. (options: SQL, FACT)\"\n flag \"--query <query>\" help=\"SQL query that defines the Segment. This is required for SQL segments.\"\n flag \"--fact-table-id <fact_table_id>\" help=\"ID of the fact table this segment belongs to. This is required for FACT segments.\"\n flag \"--filters <filters...>\" help=\"Optional array of fact table filter ids that can further define the Fact Table based Segment.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single segment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"dimensions\" help=\"Dimensions used during experiment analysis\" {\n cmd \"list\" help=\"Get all dimensions\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single dimension\" {\n flag \"--name <name>\" help=\"Name of the dimension [required]\"\n flag \"--description <description>\" help=\"Description of the dimension\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this dimension belongs to [required]\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.) [required]\"\n flag \"--query <query>\" help=\"SQL query or equivalent for the dimension [required]\"\n flag \"--managed-by <managed_by>\" help=\"Where this dimension must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single dimension\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single dimension\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Name of the dimension\"\n flag \"--description <description>\" help=\"Description of the dimension\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--datasource-id <datasource_id>\" help=\"ID of the datasource this dimension belongs to\"\n flag \"--identifier-type <identifier_type>\" help=\"Type of identifier (user, anonymous, etc.)\"\n flag \"--query <query>\" help=\"SQL query or equivalent for the dimension\"\n flag \"--managed-by <managed_by>\" help=\"Where this dimension must be managed from. If not set (empty string), it can be managed from anywhere. (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single dimension\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"projects\" help=\"Projects are used to organize your feature flags and experiments\" {\n cmd \"list\" help=\"Get all projects\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single project\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--public-id <public_id>\" help=\"URL-safe slug (lowercase letters, numbers, dashes). Auto-generated from name if not provided.\"\n flag \"--settings <settings>\" help=\"Project stats settings that, when set, override the organization settings.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single project\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Edit a single project\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Project name.\"\n flag \"--description <description>\" help=\"Project description.\"\n flag \"--public-id <public_id>\" help=\"URL-safe slug (lowercase letters, numbers, dashes).\"\n flag \"--settings <settings>\" help=\"Project stats settings that, when set, override the organization settings.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single project\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"environments\" help=\"GrowthBook comes with one environment by default (production), but you can add as many as you need\" {\n cmd \"list\" help=\"Get the organization's environments\"\n cmd \"create\" help=\"Create a new environment\" {\n flag \"--id <id>\" help=\"The ID of the new environment [required]\"\n flag \"--description <description>\" help=\"The description of the new environment\"\n flag \"--toggle-on-list\" help=\"Show on feature list page\"\n flag \"--default-state\" help=\"Default state for new features\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--parent <parent>\" help=\"An environment that the new environment should inherit feature rules from. Requires an enterprise license\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update\" help=\"Update an environment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--description <description>\" help=\"The description of the new environment\"\n flag \"--toggle-on-list\" help=\"Show on feature list page\"\n flag \"--default-state\" help=\"Default state for new features\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single environment\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"attributes\" help=\"Used when targeting feature flags and experiments\" {\n cmd \"list\" help=\"Get the organization's attributes\" {\n flag \"--project-id <project_id>\" help=\"Filter to attributes available in this project — includes org-wide attributes (no project restriction) and attributes explicitly scoped to this project.\"\n }\n cmd \"create\" help=\"Create a new attribute\" {\n flag \"--property <property>\" help=\"The attribute property [required]\"\n flag \"--datatype <datatype>\" help=\"The attribute datatype (options: boolean, string, number, secureString, enum, string[], number[], secureString[]) [required]\"\n flag \"--description <description>\" help=\"The description of the new attribute\"\n flag \"--archived\" help=\"The attribute is archived\"\n flag \"--hash-attribute\" help=\"Shall the attribute be hashed\"\n flag \"--enum <enum>\" help=\"Comma-separated list of allowed values. Required for the 'enum' datatype. For array datatypes (string[], number[], secureString[]) it optionally restricts the list to these values. Ignored for all other datatypes.\"\n flag \"--format-param <format_param>\" help=\"The attribute's format (options: , version, date, isoCountryCode)\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update\" help=\"Update an attribute\" {\n flag \"--property <property>\" help=\"The attribute property [required]\"\n flag \"--datatype <datatype>\" help=\"The attribute datatype (options: boolean, string, number, secureString, enum, string[], number[], secureString[])\"\n flag \"--description <description>\" help=\"The description of the new attribute\"\n flag \"--archived\" help=\"The attribute is archived\"\n flag \"--hash-attribute\" help=\"Shall the attribute be hashed\"\n flag \"--enum <enum>\" help=\"Comma-separated list of allowed values. Required for the 'enum' datatype. For array datatypes (string[], number[], secureString[]) it optionally restricts the list to these values. Ignored for all other datatypes.\"\n flag \"--format-param <format_param>\" help=\"The attribute's format (options: , version, date, isoCountryCode)\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single attribute\" {\n flag \"--property <property>\" help=\"The attribute property [required]\"\n }\n}\ncmd \"SDK-connections\" help=\"Client keys and settings for connecting SDKs to a GrowthBook instance\" {\n alias \"Sc\"\n cmd \"list\" help=\"Get all sdk connections\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--with-proxy <with_proxy>\" help=\"string value\"\n flag \"--multi-org <multi_org>\" help=\"string value\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single sdk connection\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--language <language>\" help=\"[required]\"\n flag \"--sdk-version <sdk_version>\" help=\"string value\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--encrypt-payload\" help=\"boolean flag\"\n flag \"--include-visual-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiment-refs\" help=\"When true, experiment-ref rules linked to draft experiments are included in feature definitions. Off by default.\"\n flag \"--include-experiment-names\" help=\"boolean flag\"\n flag \"--include-redirect-experiments\" help=\"boolean flag\"\n flag \"--include-rule-ids\" help=\"boolean flag\"\n flag \"--include-project-id-in-metadata\" help=\"boolean flag\"\n flag \"--include-custom-fields-in-metadata\" help=\"boolean flag\"\n flag \"--allowed-custom-fields-in-metadata <allowed_custom_fields_in_metadata...>\" help=\"list of values\" var=#true\n flag \"--include-tags-in-metadata\" help=\"boolean flag\"\n flag \"--include-experiment-schedule-in-metadata\" help=\"boolean flag\"\n flag \"--proxy-enabled\" help=\"boolean flag\"\n flag \"--proxy-host <proxy_host>\" help=\"string value\"\n flag \"--hash-secure-attributes\" help=\"boolean flag\"\n flag \"--remote-eval-enabled\" help=\"boolean flag\"\n flag \"--saved-group-references-enabled\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single sdk connection\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single sdk connection\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--language <language>\" help=\"string value\"\n flag \"--sdk-version <sdk_version>\" help=\"string value\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--encrypt-payload\" help=\"boolean flag\"\n flag \"--include-visual-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiments\" help=\"boolean flag\"\n flag \"--include-draft-experiment-refs\" help=\"When true, experiment-ref rules linked to draft experiments are included in feature definitions. Off by default.\"\n flag \"--include-experiment-names\" help=\"boolean flag\"\n flag \"--include-redirect-experiments\" help=\"boolean flag\"\n flag \"--include-rule-ids\" help=\"boolean flag\"\n flag \"--include-project-id-in-metadata\" help=\"boolean flag\"\n flag \"--include-custom-fields-in-metadata\" help=\"boolean flag\"\n flag \"--allowed-custom-fields-in-metadata <allowed_custom_fields_in_metadata...>\" help=\"list of values\" var=#true\n flag \"--include-tags-in-metadata\" help=\"boolean flag\"\n flag \"--include-experiment-schedule-in-metadata\" help=\"boolean flag\"\n flag \"--proxy-enabled\" help=\"boolean flag\"\n flag \"--proxy-host <proxy_host>\" help=\"string value\"\n flag \"--hash-secure-attributes\" help=\"boolean flag\"\n flag \"--remote-eval-enabled\" help=\"boolean flag\"\n flag \"--saved-group-references-enabled\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single SDK connection\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"lookup-SDK-connection-by-key\" help=\"Find a single sdk connection by its key\" {\n alias \"lScbk\"\n flag \"--key <key>\" help=\"The key of the requested sdkConnection [required]\"\n }\n}\ncmd \"data-sources\" help=\"How GrowthBook connects and queries your data, including cached database schema metadata (information schemas) for tables and columns\" {\n alias \"ds\"\n cmd \"list\" help=\"Get all data sources\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get\" help=\"Get a single data source\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"get-information-schema\" help=\"Get a Data Source's Information Schema\" {\n alias \"gis\"\n flag \"--data-source-id <data_source_id>\" help=\"The id of the data source [required]\"\n }\n cmd \"get-information-schema-table\" help=\"Get a single Information Schema Table by id\" {\n alias \"gist\"\n flag \"--table-id <table_id>\" help=\"The id of the information schema table [required]\"\n }\n}\ncmd \"saved-groups\" help=\"Defined sets of attribute values which can be used with feature rules for targeting features at particular users\" {\n alias \"sg\"\n cmd \"list\" help=\"Get all saved group\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single saved group\" {\n flag \"--name <name>\" help=\"The display name of the Saved Group [required]\"\n flag \"--type <type>\" help=\"The type of Saved Group (inferred from other arguments if missing) (options: condition, list)\"\n flag \"--condition <condition>\" help=\"When type = 'condition', this is the JSON-encoded condition for the group\"\n flag \"--attribute-key <attribute_key>\" help=\"When type = 'list', this is the attribute key the group is based on\"\n flag \"--values <values...>\" help=\"When type = 'list', this is the list of values for the attribute key\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--bypass-approval\" help=\"Set to true to create the live Saved Group without approval. The caller must have Bypass draft approvals access in every assigned Project. This field has no effect when approval is not required.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Partially update a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"The display name of the Saved Group\"\n flag \"--condition <condition>\" help=\"When type = 'condition', this is the JSON-encoded condition for the group\"\n flag \"--values <values...>\" help=\"When type = 'list', this is the list of values for the attribute key\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--bypass-approval\" help=\"Set to true to update the live Saved Group without approval. The caller must have Bypass draft approvals access in every current and destination Project. This field has no effect when approval is not required.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"archive\" help=\"Archive a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single saved group\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"get-saved-group-references\" help=\"Get features, experiments, and saved groups that reference this saved group\" {\n alias \"gsgr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"saved-group-revisions\" help=\"Draft revisions for saved groups, including pending changes, approvals, and lifecycle (publish, discard, revert)\" {\n alias \"sgr\"\n cmd \"list\" help=\"List saved-group revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--saved-group-id <saved_group_id>\" help=\"Restrict results to revisions for a single saved group. When omitted, returns revisions across every saved group the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-saved-group\" help=\"List revisions for a saved group\" {\n alias \"lfsg\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single saved group revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update saved group metadata in a draft revision\" {\n alias \"sm\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-condition\" help=\"Update the condition of a condition saved group draft revision\" {\n alias \"sc\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--condition <condition>\" help=\"The JSON-encoded condition for the saved group [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-values\" help=\"Replace the values list in a list saved group draft revision\" {\n alias \"sv\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--values <values...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-items\" help=\"Append items to a list saved group draft revision\" {\n alias \"ai\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--items <items...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"remove-items\" help=\"Remove items from a list saved group draft revision\" {\n alias \"ri\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--items <items...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live saved group\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the saved group to a prior revision\" {\n flag \"--saved-group-id <saved_group_id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"constants\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"list\" help=\"Get all constants\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single constant\" {\n flag \"--key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@const:key` [required]\"\n flag \"--name <name>\" help=\"The display name of the constant [required]\"\n flag \"--type <type>\" help=\"`string` (interpolated as `" + string([]byte{'{', '{'}) + " @const:key " + string([]byte{'}', '}'}) + "`) or `json` (substituted as a whole value) (options: string, json) [required]\"\n flag \"--value <value>\" help=\"string value\"\n flag \"--environment-values <environment_values>\" help=\"value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-references\" help=\"Get features and constants that reference this constant\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n }\n cmd \"get\" help=\"Get a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n }\n cmd \"update\" help=\"Partially update a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--value <value>\" help=\"string value\"\n flag \"--environment-values <environment_values>\" help=\"Per-environment value overrides (environment id → value). When provided, this REPLACES the entire override map — send the complete set, not just the environments you want to change (omit the field to leave overrides unchanged).\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--bypass-approval\" help=\"Set to true to write directly to the live Constant without approval. The caller must have Bypass draft approvals access in the Constant's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n }\n cmd \"archive\" help=\"Archive a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single constant\" {\n flag \"--key <key>\" help=\"The key of the constant [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"constant-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"crev\"\n cmd \"list\" help=\"List constant revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single constant (by its key). When omitted, returns revisions across every constant the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-constant\" help=\"List revisions for a constant\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single constant revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update constant metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a constant draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"The default value (raw string for `string` constants, JSON-encoded for `json` constants)\"\n flag \"--environment-values <environment_values>\" help=\"Per-environment value overrides (environment id → value)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live constant\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the constant to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"configs\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"list\" help=\"Get all configs\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"create\" help=\"Create a single config\" {\n flag \"--key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]\"\n flag \"--name <name>\" help=\"The display name of the config [required]\"\n flag \"--parent <parent>\" help=\"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).\"\n flag \"--extends <extends...>\" help=\"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--scoped-overrides <scoped_overrides>\" help=\"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--source <source>\" help=\"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=<id>&format=<lang>` can reproduce those names.\"\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--experiment-guard\" help=\"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.\"\n flag \"--invariants <invariants>\" help=\"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-references\" help=\"Get features and configs that reference this config\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-key-usage\" help=\"Get the feature rules and default values implementing each key\" {\n alias \"gku\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-lineage\" help=\"Get the full lineage (family tree) for a config\" {\n alias \"gl\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"verify-schema\" help=\"Verify a config's schema against a source (drift check)\" {\n alias \"vs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-schema\" help=\"Export a config's schema\" {\n alias \"gs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--format-param <format_param>\" help=\"Output format. `json-schema` (default) returns a JSON Schema document; `typescript`, `protobuf`, `python` (Pydantic), `go`, and `rust` (serde) render the schema as source in that language. (options: json-schema, typescript, protobuf, python, go, rust)\"\n flag \"--effective\" help=\"When true, includes fields inherited across the lineage (the family's accumulated schema). When false (default), returns only this config's own fields.\"\n flag \"--source <source>\" help=\"Render using a previously-captured source projection (its named types). Only affects the typed-code formats (`typescript`/`protobuf`/`python`/`go`/`rust`); ignored if the source has no projection.\"\n }\n cmd \"get\" help=\"Get a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"update\" help=\"Partially update a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.\"\n flag \"--extends <extends...>\" help=\"Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--scoped-overrides <scoped_overrides>\" help=\"Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--source <source>\" help=\"Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export.\"\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--experiment-guard\" help=\"Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.\"\n flag \"--invariants <invariants>\" help=\"Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.\"\n flag \"--bypass-approval\" help=\"Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"archive\" help=\"Archive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"lock\" help=\"Lock a config at its current published revision\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--reason <reason>\" help=\"Optional note explaining why the config was locked.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unlock\" help=\"Unlock a config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n}\ncmd \"config-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"cre\"\n cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"releases\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"publish-revisions\" help=\"Atomically publish revisions across multiple entities\" {\n alias \"pr\"\n flag \"--revisions <revisions>\" help=\"The revisions to publish, at most one per entity. [required]\"\n flag \"--dry-run\" help=\"Report every gate and outcome without writing anything.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge warnings from experiment guards, schema changes, or archives. It can also force-publish an out-of-date draft when the caller has Bypass draft approvals access for that resource.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema or invariant failures. Validation still runs and the response still reports each failure. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite Custom Hook rejections. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--comment <comment>\" help=\"An optional publish comment recorded on every revision in this release — it appears in each entity's revision history and is passed to any custom validation hooks that run for the publish.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"custom-hooks\" help=\"Sandboxed JavaScript validation hooks that run when features, configs, or their revisions are saved or published\" {\n alias \"ch\"\n cmd \"list\" help=\"Get all custom hooks\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"create\" help=\"Create a single custom hook\" {\n flag \"--name <name>\" help=\"The display name of the custom hook [required]\"\n flag \"--hook <hook>\" help=\"options: validateFeature, validateFeatureRevision, validateConfig, validateConfigRevision, validateExperiment [required]\"\n flag \"--code <code>\" help=\"[required]\"\n flag \"--enabled\" help=\"boolean flag\" default=#true\n flag \"--projects <projects...>\" help=\"Project ids the hook applies to (empty/omitted = all)\" var=#true\n flag \"--entity-type <entity_type>\" help=\"options: feature, config, experiment\"\n flag \"--entity-id <entity_id>\" help=\"string value\"\n flag \"--incremental-changes-only\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"test\" help=\"Dry-run hook code in the sandbox\" {\n flag \"--function-body <function_body>\" help=\"JavaScript function body to execute in the sandbox [required]\"\n flag \"--function-args <function_args>\" help=\"Arguments exposed to the function as named globals (e.g. `feature`, `config`, `revision`)\"\n flag \"--entity-type <entity_type>\" help=\"options: feature, config, experiment\"\n flag \"--entity-id <entity_id>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single custom hook\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n }\n cmd \"update\" help=\"Partially update a single custom hook\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--hook <hook>\" help=\"options: validateFeature, validateFeatureRevision, validateConfig, validateConfigRevision, validateExperiment\"\n flag \"--code <code>\" help=\"string value\"\n flag \"--enabled\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--entity-type <entity_type>\" help=\"Retarget the hook's scope (set with entityId). Pass null (with entityId: null) to make the hook global/project-scoped; omit to leave unchanged. (options: feature, config, experiment)\"\n flag \"--entity-id <entity_id>\" help=\"The scoped resource: a feature id, or a config key. Pass null (with entityType: null) to clear the scope; omit to leave unchanged.\"\n flag \"--incremental-changes-only\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single custom hook\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n }\n cmd \"list-history\" help=\"List a custom hook's version history\" {\n alias \"lh\"\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"revert\" help=\"Revert a custom hook to a previous version\" {\n flag \"--id <id>\" help=\"The id of the custom hook [required]\"\n flag \"--audit-id <audit_id>\" help=\"The version to restore (from the history endpoint) [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"organizations\" help=\"Organizations are used for multi-org deployments where different teams can run their own isolated feature flags and experiments\" {\n cmd \"list\" help=\"Get all organizations (only for super admins on multi-org Enterprise Plan only)\" {\n flag \"--search <search>\" help=\"Search string to search organization names, owner emails, and external ids by\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single organization (only for super admins on multi-org Enterprise Plan only)\" {\n flag \"--name <name>\" help=\"The name of the organization [required]\"\n flag \"--external-id <external_id>\" help=\"An optional identifier that you use within your company for the organization\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update\" help=\"Edit a single organization (only for super admins on multi-org Enterprise Plan only)\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"The name of the organization\"\n flag \"--external-id <external_id>\" help=\"An optional identifier that you use within your company for the organization\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"fact-tables\" help=\"Fact Tables describe the shape of your data warehouse tables\" {\n alias \"ft\"\n cmd \"list\" help=\"Get all fact tables\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single fact table\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"Description of the fact table\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"List of associated project ids\" var=#true\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--datasource <datasource>\" help=\"The datasource id [required]\"\n flag \"--user-id-types <user_id_types...>\" help=\"List of identifier columns in this table. For example, \\\"id\\\" or \\\"anonymous_id\\\" [required]\" var=#true\n flag \"--aggregated-fact-table-settings <aggregated_fact_table_settings>\" help=\"Settings for maintaining shared daily aggregated tables (a subset of userIdTypes plus the daily update time and restate lookback window) used to speed up CUPED. Requires the data pipeline (pipeline-mode) feature.\"\n flag \"--sql <sql>\" help=\"The SQL query for this fact table [required]\"\n flag \"--event-name <event_name>\" help=\"The event name used in SQL template variables\"\n flag \"--columns <columns>\" help=\"Optional array of column definitions to store for this fact table. Supplied columns are stored as-is. Omit `datatype` (or send \\\"\\\") on a column to have it auto-detected from the SQL.\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single fact table\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single fact table\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"Description of the fact table\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"List of associated project ids\" var=#true\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--user-id-types <user_id_types...>\" help=\"List of identifier columns in this table. For example, \\\"id\\\" or \\\"anonymous_id\\\"\" var=#true\n flag \"--aggregated-fact-table-settings <aggregated_fact_table_settings>\" help=\"Settings for maintaining shared daily aggregated tables (a subset of userIdTypes plus the daily update time and restate lookback window) used to speed up CUPED. Requires the data pipeline (pipeline-mode) feature.\"\n flag \"--sql <sql>\" help=\"The SQL query for this fact table\"\n flag \"--event-name <event_name>\" help=\"The event name used in SQL template variables\"\n flag \"--columns <columns>\" help=\"Optional array of columns to upsert by `column`: existing columns are patched, new columns are created, and columns not included are left unchanged. Omit `datatype` to leave an existing column's type untouched; send \\\"\\\" to reset it for auto-detection; new columns are auto-detected when `datatype` is omitted or \\\"\\\". Slice-related properties require an enterprise license.\"\n flag \"--columns-error <columns_error>\" help=\"Error message if there was an issue parsing the SQL schema\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single fact table\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"list-filters\" help=\"Get all filters for a fact table\" {\n alias \"lf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create-filter\" help=\"Create a single fact table filter\" {\n alias \"cf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"Description of the fact table filter\"\n flag \"--value <value>\" help=\"The SQL expression for this filter. [required]\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI. Before you do this, the Fact Table itself must also be marked as \\\"api\\\" (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-filter\" help=\"Get a single fact filter\" {\n alias \"gf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update-filter\" help=\"Update a single fact table filter\" {\n alias \"uf\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"Description of the fact table filter\"\n flag \"--value <value>\" help=\"The SQL expression for this filter.\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI. Before you do this, the Fact Table itself must also be marked as \\\"api\\\" (options: , api)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-filter\" help=\"Deletes a single fact table filter\" {\n alias \"df\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"create-virtual-column\" help=\"Create a virtual (computed) column on a fact table\" {\n alias \"cvc\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--column <column>\" help=\"The column identifier used in generated SQL. Must contain only letters, numbers, and underscores and end with `_vc`. [required]\"\n flag \"--name <name>\" help=\"Display name for the column\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--number-format <number_format>\" help=\"options: , currency, time:seconds, memory:bytes, memory:kilobytes\"\n flag \"--datatype <datatype>\" help=\"The data type of the computed column (options: number, string, date, boolean, json, binary, other) [required]\"\n flag \"--sql <sql>\" help=\"The SQL expression that computes the column value [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-virtual-column\" help=\"Update a virtual (computed) column on a fact table\" {\n alias \"uvc\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"Display name for the column\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--number-format <number_format>\" help=\"options: , currency, time:seconds, memory:bytes, memory:kilobytes\"\n flag \"--datatype <datatype>\" help=\"The data type of the computed column (options: number, string, date, boolean, json, binary, other)\"\n flag \"--sql <sql>\" help=\"The SQL expression that computes the column value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-virtual-column\" help=\"Delete a virtual (computed) column from a fact table\" {\n alias \"dvc\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Specify a specific fact table [required]\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"get-aggregated\" help=\"Get the materialization status of a fact table's shared daily aggregated tables\" {\n alias \"ga\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"refresh-aggregated\" help=\"Force a refresh or full restate of a fact table's shared daily aggregated tables\" {\n alias \"ra\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--id-type <id_type>\" help=\"Limit the refresh to a single id type. If omitted, all of the fact table's aggregatedFactTableSettings.idTypes are refreshed.\"\n flag \"--full-restate\" help=\"Drop and recreate the table, re-scanning the retained window. This is significantly more expensive than the default incremental append (it scans ~2-3 months of history).\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list-aggregated-table-runs\" help=\"List aggregated table runs\" {\n alias \"latr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--id-type <id_type>\" help=\"Only return runs for this id type. When omitted, runs for all id types are returned.\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get-aggregated-table-run\" help=\"Get a single aggregated table run\" {\n alias \"gatr\"\n flag \"--id <id>\" help=\"The id of the fact table [required]\"\n flag \"--run-id <run_id>\" help=\"The id of the aggregated table run (e.g. aftr_...) [required]\"\n }\n cmd \"bulk-import\" help=\"Bulk import fact tables, filters, and metrics\" {\n alias \"bi\"\n flag \"--fact-tables <fact_tables>\" help=\"list of values\"\n flag \"--fact-table-filters <fact_table_filters>\" help=\"list of values\"\n flag \"--fact-metrics <fact_metrics>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"fact-metrics\" help=\"Fact Metrics are metrics built on top of Fact Table definitions\" {\n alias \"fm\"\n cmd \"list\" help=\"Get all fact metrics\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--datasource-id <datasource_id>\" help=\"Filter by Data Source\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--fact-table-id <fact_table_id>\" help=\"Filter by Fact Table Id (for ratio metrics, only the numerator is considered)\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single fact metric\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metric-type <metric_type>\" help=\"options: proportion, retention, mean, quantile, ratio, dailyParticipation, funnel [required]\"\n flag \"--numerator <numerator>\" help=\"JSON object\"\n flag \"--denominator <denominator>\" help=\"Only when metricType is 'ratio'\"\n flag \"--inverse\" help=\"Set to true for things like Bounce Rate, where you want the metric to decrease\"\n flag \"--quantile-settings <quantile_settings>\" help=\"Controls the settings for quantile metrics (mandatory if metricType is \\\"quantile\\\")\"\n flag \"--funnel-settings <funnel_settings>\" help=\"Funnel metric settings (required when metricType is \\\"funnel\\\")\"\n flag \"--capping-settings <capping_settings>\" help=\"Controls how outliers are handled\"\n flag \"--window-settings <window_settings>\" help=\"Controls the conversion window for the metric\"\n flag \"--prior-settings <prior_settings>\" help=\"Controls the bayesian prior for the metric. If omitted, organization defaults will be used.\"\n flag \"--regression-adjustment-settings <regression_adjustment_settings>\" help=\"Controls the regression adjustment (CUPED) settings for the metric\"\n flag \"--risk-threshold-success <risk_threshold_success>\" help=\"No longer used. Threshold for Risk to be considered low enough, as a proportion (e.g. put 0.0025 for 0.25%). <br/> Must be a non-negative number and must not be higher than `riskThresholdDanger`.\"\n flag \"--risk-threshold-danger <risk_threshold_danger>\" help=\"No longer used. Threshold for Risk to be considered too high, as a proportion (e.g. put 0.0125 for 1.25%). <br/> Must be a non-negative number.\"\n flag \"--display-as-percentage\" help=\"If true and the metric is a ratio or dailyParticipation metric, variation means will be displayed as a percentage. Defaults to true for dailyParticipation metrics and false for ratio metrics.\"\n flag \"--min-percent-change <min_percent_change>\" help=\"Minimum percent change to consider uplift significant, as a proportion (e.g. put 0.005 for 0.5%)\"\n flag \"--max-percent-change <max_percent_change>\" help=\"Maximum percent change to consider uplift significant, as a proportion (e.g. put 0.5 for 50%)\"\n flag \"--min-sample-size <min_sample_size>\" help=\"number value\"\n flag \"--target-mde <target_mde>\" help=\"The percentage change that you want to reliably detect before ending an experiment, as a proportion (e.g. put 0.1 for 10%). This is used to estimate the \\\"Days Left\\\" for running experiments.\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--metric-auto-slices <metric_auto_slices...>\" help=\"Array of slice column names that will be automatically included in metric analysis. This is an enterprise feature.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single fact metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"update\" help=\"Update a single fact metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--metric-type <metric_type>\" help=\"options: proportion, retention, mean, quantile, ratio, dailyParticipation, funnel\"\n flag \"--numerator <numerator>\" help=\"JSON object\"\n flag \"--denominator <denominator>\" help=\"Only when metricType is 'ratio'\"\n flag \"--inverse\" help=\"Set to true for things like Bounce Rate, where you want the metric to decrease\"\n flag \"--quantile-settings <quantile_settings>\" help=\"Controls the settings for quantile metrics (mandatory if metricType is \\\"quantile\\\")\"\n flag \"--funnel-settings <funnel_settings>\" help=\"Funnel metric settings (required when metricType is \\\"funnel\\\")\"\n flag \"--capping-settings <capping_settings>\" help=\"Controls how outliers are handled\"\n flag \"--window-settings <window_settings>\" help=\"Controls the conversion window for the metric\"\n flag \"--prior-settings <prior_settings>\" help=\"Controls the bayesian prior for the metric. If omitted, organization defaults will be used.\"\n flag \"--regression-adjustment-settings <regression_adjustment_settings>\" help=\"Controls the regression adjustment (CUPED) settings for the metric\"\n flag \"--risk-threshold-success <risk_threshold_success>\" help=\"No longer used. Threshold for Risk to be considered low enough, as a proportion (e.g. put 0.0025 for 0.25%). <br/> Must be a non-negative number and must not be higher than `riskThresholdDanger`.\"\n flag \"--risk-threshold-danger <risk_threshold_danger>\" help=\"No longer used. Threshold for Risk to be considered too high, as a proportion (e.g. put 0.0125 for 1.25%). <br/> Must be a non-negative number.\"\n flag \"--display-as-percentage\" help=\"If true and the metric is a ratio or dailyParticipation metric, variation means will be displayed as a percentage. Defaults to true for dailyParticipation metrics and false for ratio metrics.\"\n flag \"--min-percent-change <min_percent_change>\" help=\"Minimum percent change to consider uplift significant, as a proportion (e.g. put 0.005 for 0.5%)\"\n flag \"--max-percent-change <max_percent_change>\" help=\"Maximum percent change to consider uplift significant, as a proportion (e.g. put 0.5 for 50%)\"\n flag \"--min-sample-size <min_sample_size>\" help=\"number value\"\n flag \"--target-mde <target_mde>\" help=\"number value\"\n flag \"--managed-by <managed_by>\" help=\"Set this to \\\"api\\\" to disable editing in the GrowthBook UI (options: , api, admin)\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--metric-auto-slices <metric_auto_slices...>\" help=\"Array of slice column names that will be automatically included in metric analysis. This is an enterprise feature.\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single fact metric\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"create-analysis\" help=\"Create a fact metric analysis\" {\n alias \"ca\"\n flag \"--id <id>\" help=\"The fact metric id to analyze [required]\"\n flag \"--user-id-type <user_id_type>\" help=\"The identifier type to use for the analysis. If not provided, defaults to the first available identifier type in the fact table.\"\n flag \"--lookback-days <lookback_days>\" help=\"Number of days to look back for the analysis. Defaults to 30.\"\n flag \"--population-type <population_type>\" help=\"The type of population to analyze. Defaults to 'factTable', meaning the analysis will return the metric value for all units found in the fact table. (options: factTable, segment)\"\n flag \"--population-id <population_id>\" help=\"The ID of the population (e.g., segment ID) when populationType is not 'factTable'. Defaults to null.\"\n flag \"--additional-numerator-filters <additional_numerator_filters...>\" help=\"We support passing in adhoc filters for an analysis that don't live on the metric itself. These are in addition to the metric's filters. To use this, you can pass in an array of Fact Table Filter Ids.\" var=#true\n flag \"--additional-denominator-filters <additional_denominator_filters...>\" help=\"We support passing in adhoc filters for an analysis that don't live on the metric itself. These are in addition to the metric's filters. To use this, you can pass in an array of Fact Table Filter Ids.\" var=#true\n flag \"--use-cache\" help=\"Whether to use a cached query if one exists. Defaults to true.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"code-references\" help=\"Intended for use with our code reference CI utility, [`gb-find-code-refs`](https://github\" {\n alias \"cr\"\n cmd \"submit\" help=\"Submit list of code references\" {\n flag \"--delete-missing <delete_missing>\" help=\"Whether to delete code references that are no longer present in the submitted data (options: true, false)\" default=\"false\"\n flag \"--branch <branch>\" help=\"[required]\"\n flag \"--repo-name <repo_name>\" help=\"[required]\"\n flag \"--refs <refs>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get list of all code references for the current organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"get-for-feature\" help=\"Get list of code references for a single feature id\" {\n alias \"gff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"members\" help=\"Members are users who have been invited to an organization\" {\n cmd \"list\" help=\"Get all organization members\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--user-name <user_name>\" help=\"Name of the user.\"\n flag \"--user-email <user_email>\" help=\"Email address of the user.\"\n flag \"--global-role <global_role>\" help=\"Name of the global role\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"update-member-role\" help=\"Update a member's global role (including any enviroment restrictions, if applicable). Can also update a member's project roles if your plan supports it.\" {\n alias \"umr\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--member <member>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Removes a single user from an organization\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"queries\" help=\"Retrieve queries used in experiments to calculate results\" {\n cmd \"get-query\" help=\"Get a single query\" {\n alias \"gq\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n}\ncmd \"settings\" help=\"Get the organization settings\" {\n cmd \"get\" help=\"Get organization settings\"\n}\ncmd \"meta\" help=\"Server metadata, including the running build's version and commit for version-skew checks\" {\n cmd \"get-version\" help=\"Get the GrowthBook server version and build info\" {\n alias \"gv\"\n }\n}\ncmd \"ramp-schedules\" help=\"Multi-step rollout schedules that gradually increase feature rule traffic over time, with optional real-time monitoring\" {\n alias \"rs\"\n cmd \"list\" help=\"Get all rampSchedules\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"Filter by schedule status (options: pending, ready, running, paused, completed, rolled-back)\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a ramp schedule\" {\n flag \"--name <name>\" help=\"string value\"\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--rule-id <rule_id>\" help=\"string value\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"date/time value\"\n flag \"--cutoff-date <cutoff_date>\" help=\"date/time value\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"When true, the ramp holds at step -1 with its rule disabled (zero traffic) until a human approves the start via /actions/approve-step. Composes with startDate.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--experiment-health-action <experiment_health_action>\" help=\"options: rollback, hold, warn\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"start\" help=\"Start a ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"pause\" help=\"Pause a ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"resume\" help=\"Resume a paused ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"rollback\" help=\"Roll back a ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"restart\" help=\"Restart a terminal ramp schedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"jump\" help=\"Jump to a specific step\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--target-step-index <target_step_index>\" help=\"Zero-based index of the step to jump to; -1 = pre-start [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"complete\" help=\"Complete a ramp schedule immediately\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--disable-rule\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"approve-step\" help=\"Approve the pending approval gate\" {\n alias \"as\"\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"add-target\" help=\"Add a target rule to a ramp schedule\" {\n alias \"at\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--feature-id <feature_id>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"Deprecated pre-v2 disambiguator; ignored on v2 rules where `rule.id` is uniquely sufficient.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"eject-target\" help=\"Remove a target rule from a ramp schedule\" {\n alias \"et\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--target-id <target_id>\" help=\"Target ID (from the targets array)\"\n flag \"--rule-id <rule_id>\" help=\"Rule ID — use as an alternative to targetId\"\n flag \"--environment <environment>\" help=\"Deprecated pre-v2 disambiguator. Optional when used with ruleId; omit on v2 ramps.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"api-advance\" help=\"Advance to the next step, overriding any holds\" {\n alias \"aa\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"Reason for advancing\"\n flag \"--force\" help=\"Bypass a pending approval gate on the current step. Requires admin-level (`FlagsBypassApprovals`) permission. When omitted or `false`, a 409 is returned if the step has an unsatisfied `holdConditions.requiresApproval` gate.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-ramp-schedule-status\" help=\"Get ramp schedule status summary\" {\n alias \"grss\"\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"set-monitoring-mode\" help=\"Set ramp monitoring mode\" {\n alias \"smm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--monitoring-mode <monitoring_mode>\" help=\"`auto` schedules snapshots automatically while allowed by ramp state. `manual` disables agenda updates and relies on manual Update clicks. (options: auto, manual) [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-auto-update\" help=\"Toggle automatic monitoring updates\" {\n alias \"sau\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--enabled\" help=\"Legacy alias for monitoring mode (`true` => auto, `false` => manual). [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-ramp-schedule-monitoring\" help=\"Update ramp monitoring configuration\" {\n alias \"ursm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--datasource-id <datasource_id>\" help=\"[required]\"\n flag \"--exposure-query-id <exposure_query_id>\" help=\"[required]\"\n flag \"--guardrail-metric-ids <guardrail_metric_ids...>\" help=\"[required]\" var=#true\n flag \"--signal-metric-ids <signal_metric_ids...>\" help=\"list of values\" var=#true\n flag \"--update-schedule-minutes <update_schedule_minutes>\" help=\"number value\"\n flag \"--monitoring-mode <monitoring_mode>\" help=\"options: auto, manual\"\n flag \"--auto-update\" help=\"boolean flag\"\n flag \"--srm-action <srm_action>\" help=\"options: rollback, hold, warn\"\n flag \"--no-traffic-action <no_traffic_action>\" help=\"options: rollback, hold, warn\"\n flag \"--no-traffic-grace-period-hours <no_traffic_grace_period_hours>\" help=\"How long to wait for traffic before applying `noTrafficAction`. Defaults to 24 hours when null or not set.\"\n flag \"--multiple-exposure-action <multiple_exposure_action>\" help=\"options: rollback, hold, warn\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-ramp-schedule-lockdown\" help=\"Update ramp lockdown configuration\" {\n alias \"ursl\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mode <mode>\" help=\"options: none, locked [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-ramp-schedule-steps\" help=\"Update ramp schedule steps\" {\n alias \"urss\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--steps <steps>\" help=\"Full replacement of the steps array. Step-level coverage patches (`actions`) are intentionally excluded — those require a revision publish because they change the SDK payload. Use the revision flow to modify coverage/targeting; use this endpoint to update monitoring flags and hold conditions. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"refresh-monitoring\" help=\"Trigger a manual monitoring update\" {\n alias \"rm\"\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"get\" help=\"Get a single rampSchedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single rampSchedule\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single rampSchedule\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"date/time value\"\n flag \"--cutoff-date <cutoff_date>\" help=\"date/time value\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--experiment-health-action <experiment_health_action>\" help=\"options: rollback, hold, warn\"\n flag \"--lockdown-config <lockdown_config>\" help=\"When mode is 'locked', blocks all feature edits while the ramp is actively running.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"reports\" help=\"Custom analysis reports built on top of experiment snapshots\" {\n cmd \"list\" help=\"Get all reports\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--experiment-id <experiment_id>\" help=\"Filter reports by experiment id\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a new report\" {\n flag \"--experiment-id <experiment_id>\" help=\"The experiment to create a report for [required]\"\n flag \"--title <title>\" help=\"Report title (defaults to experiment name)\"\n flag \"--description <description>\" help=\"Report description\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--stats-engine <stats_engine>\" help=\"Stats engine override (options: bayesian, frequentist)\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"Goal metric IDs (defaults to experiment's goal metrics)\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"Secondary metric IDs (defaults to experiment's secondary metrics)\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"Guardrail metric IDs (defaults to experiment's guardrail metrics)\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Activation metric ID\"\n flag \"--dimension <dimension>\" help=\"Dimension to cut results by\"\n flag \"--date-started <date_started>\" help=\"Analysis start date (ISO 8601)\"\n flag \"--date-ended <date_ended>\" help=\"Analysis end date (ISO 8601)\"\n flag \"--regression-adjustment-enabled\" help=\"Enable CUPED regression adjustment\"\n flag \"--sequential-testing-enabled\" help=\"Enable sequential testing\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"Tuning parameter for sequential testing (frequentist only)\"\n flag \"--difference-type <difference_type>\" help=\"How lifts are expressed in results. Defaults to experiment setting. (options: relative, absolute, scaled)\"\n flag \"--attribution-model <attribution_model>\" help=\"Metric conversion window attribution model. Defaults to experiment setting. (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"{ value: value } | { value: number, valueUnit: string }\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric window, risk, and regression-adjustment overrides\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom metric slice definitions\"\n flag \"--segment <segment>\" help=\"Segment ID to filter users by. Defaults to experiment setting.\"\n flag \"--query-filter <query_filter>\" help=\"Raw SQL WHERE clause added to the exposure query. Defaults to experiment setting.\"\n flag \"--skip-partial-data\" help=\"When true, exclude users who have not completed the full conversion window.\"\n flag \"--share-level <share_level>\" help=\"Visibility of the created report. Defaults to `private`. Set to `public` to receive a shareable `shareUrl` in the response. (options: public, organization, private)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single report\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"refresh\" help=\"Refresh a report by re-running its analysis\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"set-metadata\" help=\"Update report metadata (title, description, visibility)\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--title <title>\" help=\"Report title\"\n flag \"--description <description>\" help=\"Report description\"\n flag \"--status <status>\" help=\"UI lifecycle marker for the report (options: published, private)\"\n flag \"--share-level <share_level>\" help=\"Visibility of the report. Setting to `public` enables a shareable `shareUrl`; setting back to `organization` or `private` revokes public access (the share token is preserved, so re-publishing exposes the same URL). (options: public, organization, private)\"\n flag \"--edit-level <edit_level>\" help=\"Who can edit the report in the GrowthBook UI. `organization` allows any org member with the `createAnalyses` permission; `private` restricts editing to the report owner. (options: organization, private)\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-settings\" help=\"Update report analysis settings\" {\n alias \"ss\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--stats-engine <stats_engine>\" help=\"Stats engine override (options: bayesian, frequentist)\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"Goal metric IDs\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"Secondary metric IDs\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"Guardrail metric IDs\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"Activation metric ID\"\n flag \"--metric-overrides <metric_overrides>\" help=\"Per-metric window, risk, and regression-adjustment overrides\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"Custom metric slice definitions\"\n flag \"--dimension <dimension>\" help=\"Dimension to cut results by\"\n flag \"--difference-type <difference_type>\" help=\"How lifts are expressed in results (options: relative, absolute, scaled)\"\n flag \"--date-started <date_started>\" help=\"Analysis start date (ISO 8601)\"\n flag \"--date-ended <date_ended>\" help=\"Analysis end date (ISO 8601). Pass `null` to clear the end date and analyze through today.\"\n flag \"--regression-adjustment-enabled\" help=\"Enable CUPED regression adjustment\"\n flag \"--sequential-testing-enabled\" help=\"Enable sequential testing\"\n flag \"--sequential-testing-tuning-parameter <sequential_testing_tuning_parameter>\" help=\"Tuning parameter for sequential testing (frequentist only)\"\n flag \"--attribution-model <attribution_model>\" help=\"Metric conversion window attribution model (options: firstExposure, experimentDuration, lookbackOverride)\"\n flag \"--lookback-override <lookback_override>\" help=\"{ value: value } | { value: number, valueUnit: string }\"\n flag \"--segment <segment>\" help=\"Segment ID to filter users by\"\n flag \"--query-filter <query_filter>\" help=\"Raw SQL WHERE clause added to the exposure query\"\n flag \"--skip-partial-data\" help=\"When true, exclude users who have not completed the full conversion window\"\n flag \"--variations <variations>\" help=\"Override variation names, keys, or traffic weights used in this report. Weights are merged into the latest phase. Changes take effect on the next refresh.\"\n flag \"--coverage <coverage>\" help=\"Traffic coverage (0–1) for the latest phase. Used when computing scaled impact.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"namespaces\" help=\"Namespaces partition your user population into buckets so that experiments using the same hash attribute do not overlap unintentionally\" {\n cmd \"list\" help=\"Get all namespaces\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a namespace\" {\n flag \"--display-name <display_name>\" help=\"Human-readable display name. Must be unique within the organization. [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--status <status>\" help=\"options: active, inactive\"\n flag \"--format-param <format_param>\" help=\"Namespace format. Defaults to 'multiRange', which supports multiple ranges per experiment and a configurable hash attribute. (options: legacy, multiRange)\"\n flag \"--hash-attribute <hash_attribute>\" help=\"Required when format is 'multiRange'. The user attribute (e.g. 'id', 'device_id') used to assign users to namespace buckets.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single namespace\" {\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n }\n cmd \"update\" help=\"Update a namespace\" {\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n flag \"--display-name <display_name>\" help=\"Human-readable display name.\"\n flag \"--description <description>\" help=\"Namespace description.\"\n flag \"--status <status>\" help=\"Set to 'inactive' to disable the namespace. (options: active, inactive)\"\n flag \"--hash-attribute <hash_attribute>\" help=\"Only applies to multiRange namespaces. Changes which user attribute is used for bucket hashing going forward.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a namespace\" {\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n }\n cmd \"get-memberships\" help=\"Get namespace membership\" {\n alias \"gm\"\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"rotate-seed\" help=\"Rotate namespace seed\" {\n alias \"rs\"\n flag \"--id <id>\" help=\"The unique id of the namespace [required]\"\n flag \"--seed <seed>\" help=\"A specific value to use as the new seed. If omitted, a random value is generated.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"dashboards\" help=\"Operations for dashboards\" {\n cmd \"get\" help=\"Get a single dashboard\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single dashboard\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single dashboard\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--title <title>\" help=\"The display name of the Dashboard\"\n flag \"--edit-level <edit_level>\" help=\"Dashboards that are \\\"published\\\" are editable by organization members with appropriate permissions (options: published, private)\"\n flag \"--share-level <share_level>\" help=\"General Dashboards only. Dashboards that are \\\"published\\\" are viewable by organization members with appropriate permissions (options: published, private)\"\n flag \"--enable-auto-updates\" help=\"If enabled for a General Dashboard, also requires an updateSchedule\"\n flag \"--update-schedule <update_schedule>\" help=\"{ hours: number } | { cron: string }\"\n flag \"--projects <projects...>\" help=\"General Dashboards only, Experiment Dashboards use the experiment's projects\" var=#true\n flag \"--global-controls <global_controls>\" help=\"JSON object\"\n flag \"--blocks <blocks>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single dashboard\" {\n flag \"--title <title>\" help=\"The display name of the Dashboard [required]\"\n flag \"--edit-level <edit_level>\" help=\"Dashboards that are \\\"published\\\" are editable by organization members with appropriate permissions (options: published, private) [required]\"\n flag \"--share-level <share_level>\" help=\"General Dashboards only. Dashboards that are \\\"published\\\" are viewable by organization members with appropriate permissions (options: published, private) [required]\"\n flag \"--enable-auto-updates\" help=\"If enabled for a General Dashboard, also requires an updateSchedule [required]\"\n flag \"--update-schedule <update_schedule>\" help=\"{ hours: number } | { cron: string }\"\n flag \"--experiment-id <experiment_id>\" help=\"The parent experiment for an Experiment Dashboard, or undefined for a general dashboard\"\n flag \"--projects <projects...>\" help=\"General Dashboards only, Experiment Dashboards use the experiment's projects\" var=#true\n flag \"--global-controls <global_controls>\" help=\"JSON object\"\n flag \"--blocks <blocks>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all dashboards\"\n cmd \"list-for-experiment\" help=\"Get all dashboards for an experiment\" {\n alias \"lfe\"\n flag \"--experiment-id <experiment_id>\" help=\"[required]\"\n }\n}\ncmd \"contextual-bandit-queries\" help=\"Operations for contextual-bandit-queries\" {\n alias \"cbq\"\n cmd \"get\" help=\"Get a single contextualBanditQuery\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single contextualBanditQuery\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single contextualBanditQuery\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--user-id-type <user_id_type>\" help=\"string value\"\n flag \"--query <query>\" help=\"string value\"\n flag \"--targeting-attribute-columns <targeting_attribute_columns...>\" help=\"list of values\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single contextualBanditQuery\" {\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--datasource-id <datasource_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--user-id-type <user_id_type>\" help=\"[required]\"\n flag \"--query <query>\" help=\"[required]\"\n flag \"--targeting-attribute-columns <targeting_attribute_columns...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all contextualBanditQueries\" {\n flag \"--datasource-id <datasource_id>\" help=\"string value\"\n }\n}\ncmd \"custom-fields\" help=\"Operations for custom-fields\" {\n alias \"cf\"\n cmd \"create\" help=\"Create a single customField\" {\n flag \"--id <id>\" help=\"The unique key for the custom field [required]\"\n flag \"--name <name>\" help=\"The display name of the custom field [required]\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--placeholder <placeholder>\" help=\"string value\"\n flag \"--default-value <default_value>\" help=\"string | number | boolean | date-time | date | array of string | array of number | array of boolean | array of date-time | array of date\"\n flag \"--type <type>\" help=\"The type of value this custom field will take (options: text, textarea, markdown, enum, multiselect, url, number, boolean, date, datetime) [required]\"\n flag \"--values <values>\" help=\"string value\"\n flag \"--required\" help=\"[required]\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--sections <sections...>\" help=\"What types of objects this custom field is applicable to (feature, experiment) [required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all custom fields\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n }\n cmd \"delete\" help=\"Delete a single customField\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--index <index>\" help=\"string value\"\n }\n cmd \"get\" help=\"Get a single customField\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single customField\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"The display name of the custom field\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--placeholder <placeholder>\" help=\"string value\"\n flag \"--default-value <default_value>\" help=\"string | number | boolean | date-time | date | array of string | array of number | array of boolean | array of date-time | array of date\"\n flag \"--values <values>\" help=\"string value\"\n flag \"--required\" help=\"boolean flag\"\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--sections <sections...>\" help=\"What types of objects this custom field is applicable to (feature, experiment)\" var=#true\n flag \"--active\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"metric-groups\" help=\"Operations for metric-groups\" {\n alias \"mg\"\n cmd \"get\" help=\"Get a single metricGroup\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single metricGroup\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single metricGroup\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--metrics <metrics...>\" help=\"list of values\" var=#true\n flag \"--datasource <datasource>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single metricGroup\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--description <description>\" help=\"[required]\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"[required]\" var=#true\n flag \"--metrics <metrics...>\" help=\"[required]\" var=#true\n flag \"--datasource <datasource>\" help=\"[required]\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all metricGroups\"\n}\ncmd \"teams\" help=\"Operations for teams\" {\n cmd \"get\" help=\"Get a single team\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single team\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--created-by <created_by>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--role <role>\" help=\"The global role for members of this team\"\n flag \"--limit-access-by-environment\" help=\"boolean flag\"\n flag \"--environments <environments...>\" help=\"An empty array means 'all environments'\" var=#true\n flag \"--project-roles <project_roles>\" help=\"list of values\"\n flag \"--managed-by <managed_by>\" help=\"{ resourceId: string }\"\n flag \"--default-project <default_project>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single team\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--delete-members <delete_members>\" help=\"When 'true', enables deleting a team that contains members\"\n }\n cmd \"create\" help=\"Create a single team\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--created-by <created_by>\" help=\"string value\"\n flag \"--description <description>\" help=\"[required]\"\n flag \"--role <role>\" help=\"The global role for members of this team [required]\"\n flag \"--limit-access-by-environment\" help=\"boolean flag\"\n flag \"--environments <environments...>\" help=\"An empty array means 'all environments'\" var=#true\n flag \"--project-roles <project_roles>\" help=\"list of values\"\n flag \"--managed-by <managed_by>\" help=\"{ resourceId: string }\"\n flag \"--default-project <default_project>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all teams\"\n cmd \"add-team-members\" help=\"Add members to team\" {\n alias \"atm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--members <members...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"remove-team-member\" help=\"Remove members from team\" {\n alias \"rtm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--members <members...>\" help=\"[required]\" var=#true\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"experiment-templates\" help=\"Operations for experiment-templates\" {\n alias \"et\"\n cmd \"get\" help=\"Get a single experimentTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single experimentTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single experimentTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--template-metadata <template_metadata>\" help=\"JSON object\"\n flag \"--type <type>\" help=\"options: standard\"\n flag \"--hypothesis <hypothesis>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--datasource <datasource>\" help=\"string value\"\n flag \"--exposure-query-id <exposure_query_id>\" help=\"string value\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"string value\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist\"\n flag \"--segment <segment>\" help=\"string value\"\n flag \"--skip-partial-data\" help=\"boolean flag\"\n flag \"--targeting <targeting>\" help=\"JSON object\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single experimentTemplate\" {\n flag \"--project <project>\" help=\"string value\"\n flag \"--template-metadata <template_metadata>\" help=\"[required]\"\n flag \"--type <type>\" help=\"options: standard [required]\"\n flag \"--hypothesis <hypothesis>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--datasource <datasource>\" help=\"[required]\"\n flag \"--exposure-query-id <exposure_query_id>\" help=\"[required]\"\n flag \"--hash-attribute <hash_attribute>\" help=\"string value\"\n flag \"--fallback-attribute <fallback_attribute>\" help=\"string value\"\n flag \"--disable-sticky-bucketing\" help=\"boolean flag\"\n flag \"--goal-metrics <goal_metrics...>\" help=\"list of values\" var=#true\n flag \"--secondary-metrics <secondary_metrics...>\" help=\"list of values\" var=#true\n flag \"--guardrail-metrics <guardrail_metrics...>\" help=\"list of values\" var=#true\n flag \"--activation-metric <activation_metric>\" help=\"string value\"\n flag \"--stats-engine <stats_engine>\" help=\"options: bayesian, frequentist [required]\"\n flag \"--segment <segment>\" help=\"string value\"\n flag \"--skip-partial-data\" help=\"boolean flag\"\n flag \"--targeting <targeting>\" help=\"[required]\"\n flag \"--custom-metric-slices <custom_metric_slices>\" help=\"list of values\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all experimentTemplates\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n }\n cmd \"bulk-import\" help=\"Bulk create or update experiment templates\" {\n alias \"bi\"\n flag \"--templates <templates>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"analytics-explorations\" help=\"Operations for analytics-explorations\" {\n alias \"ae\"\n cmd \"run-metric\" help=\"Create a Metric based visualization\" {\n alias \"rm\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"run-fact-table\" help=\"Run a Fact Table based visualization\" {\n alias \"rft\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"run-data-source\" help=\"Create a Data Source based visualization\" {\n alias \"rds\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"run-funnel\" help=\"Run a Funnel based visualization\" {\n alias \"rf\"\n flag \"--cache <cache>\" help=\"Controls cache behavior for this exploration: `preferred` (default) returns a cached result if one exists, otherwise runs a new query; `never` always runs a new query, ignoring any cached results; `required` only returns a cached result, if none exists returns exploration: null with a message (options: preferred, required, never)\"\n flag \"--datasource <datasource>\" help=\"ID of the datasource to query [required]\"\n flag \"--dimensions <dimensions>\" help=\"[required]\"\n flag \"--chart-type <chart_type>\" help=\"options: line, area, timeseries-table, table, bar, stackedBar, horizontalBar, stackedHorizontalBar, bigNumber [required]\"\n flag \"--date-range <date_range>\" help=\"[required]\"\n flag \"--show-as <show_as>\" help=\"options: total, per_unit\"\n flag \"--dataset <dataset>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"ramp-schedule-templates\" help=\"Reusable step configurations for ramp schedules\" {\n alias \"rst\"\n cmd \"get\" help=\"Get a single rampScheduleTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single rampScheduleTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single rampScheduleTemplate\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-patch <end_patch>\" help=\"JSON object\"\n flag \"--official\" help=\"boolean flag\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--order <order>\" help=\"Display order within the org (lower sorts first).\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single rampScheduleTemplate\" {\n flag \"--name <name>\" help=\"[required]\"\n flag \"--steps <steps>\" help=\"[required]\"\n flag \"--end-patch <end_patch>\" help=\"JSON object\"\n flag \"--official\" help=\"boolean flag\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--order <order>\" help=\"Display order within the org (lower sorts first). Omit to append to the end.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all rampScheduleTemplates\"\n}\ncmd \"learnings\" help=\"Saved learnings captured across experiments, including AI-discovered patterns\" {\n cmd \"get\" help=\"Get a single learning\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"delete\" help=\"Delete a single learning\" {\n flag \"--id <id>\" help=\"[required]\"\n }\n cmd \"update\" help=\"Update a single learning\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--text <text>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--supporting-experiment-ids <supporting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--contradicting-experiment-ids <contradicting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--status <status>\" help=\"ID of a learning status configured at the org level (Settings → General → Experiment Settings). Omit or pass an empty string for no status.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"create\" help=\"Create a single learning\" {\n flag \"--title <title>\" help=\"[required]\"\n flag \"--text <text>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--supporting-experiment-ids <supporting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--contradicting-experiment-ids <contradicting_experiment_ids...>\" help=\"list of values\" var=#true\n flag \"--projects <projects...>\" help=\"list of values\" var=#true\n flag \"--status <status>\" help=\"ID of a learning status configured at the org level (Settings → General → Experiment Settings). Omit or pass an empty string for no status.\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"list\" help=\"Get all learnings\" {\n flag \"--project-id <project_id>\" help=\"string value\"\n flag \"--experiment-id <experiment_id>\" help=\"Only return learnings that reference this experiment\"\n flag \"--tag <tag>\" help=\"string value\"\n flag \"--status <status>\" help=\"string value\"\n }\n cmd \"search\" help=\"Search saved Learnings by meaning rather than keyword\" {\n flag \"--query <query>\" help=\"Natural-language query to rank learnings against [required]\"\n flag \"--limit <limit>\" help=\"integer value\"\n flag \"--project-id <project_id>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\ncmd \"configure\" help=\"Configure authentication credentials and preferences\"\ncmd \"whoami\" help=\"Display current authentication configuration\"\ncmd \"version\" help=\"Print the CLI version\"\n", "get-SDK-payload": "cmd \"get-SDK-payload\" help=\"Get a SDK payload\" {\n alias \"gSp\"\n flag \"--key <key>\" help=\"[required]\"\n}\n", "gSp": "cmd \"get-SDK-payload\" help=\"Get a SDK payload\" {\n alias \"gSp\"\n flag \"--key <key>\" help=\"[required]\"\n}\n", "copy-transform": "cmd \"copy-transform\" help=\"Copy Transform\" {\n alias \"ct\"\n flag \"--visual-changeset-id <visual_changeset_id>\" help=\"[required]\"\n flag \"--copy <copy>\" help=\"[required]\"\n flag \"--mode <mode>\" help=\"options: energetic, concise, humorous [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", @@ -77,11 +77,11 @@ var usageSchemas = map[string]string{ "feature-revisions-v1 pfrd": "cmd \"post-feature-revision-discard\" help=\"Discard a draft revision\" {\n alias \"pfrd\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions-v1 post-feature-revision-revert": "cmd \"post-feature-revision-revert\" help=\"Revert the feature to a prior revision\" {\n alias \"pfrre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions-v1 pfrre": "cmd \"post-feature-revision-revert\" help=\"Revert the feature to a prior revision\" {\n alias \"pfrre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "features": "cmd \"features\" help=\"Control your feature flags programatically\" {\n cmd \"list\" help=\"Get all features\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--client-key <client_key>\" help=\"Filter by a SDK connection's client key\"\n flag \"--archived\" help=\"Whether to include archived features. Defaults to `false` (non-archived only). Pass `true` to include archived features alongside non-archived ones.\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single feature\" {\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--body-param.archived\" help=\"boolean flag\"\n flag \"--body-param.description <description>\" help=\"Description of the feature\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--body-param.project <project>\" help=\"An associated project ID\"\n flag \"--body-param.targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--body-param.targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--body-param.value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--body-param.default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag.\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--body-param.tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--body-param.rules <rules>\" help=\"Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`.\"\n flag \"--body-param.environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--body-param.prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--body-param.json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--body-param.custom-fields <custom_fields>\" help=\"value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions <with_revisions>\" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n }\n cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.description <description>\" help=\"Description of the feature\"\n flag \"--body-param.archived\" help=\"boolean flag\"\n flag \"--body-param.project <project>\" help=\"An associated project ID\"\n flag \"--body-param.targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--body-param.targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.default-value <default_value>\" help=\"string value\"\n flag \"--body-param.base-config <base_config>\" help=\"The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected.\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--body-param.tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--body-param.rules <rules>\" help=\"Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`).\"\n flag \"--body-param.environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--body-param.prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--body-param.json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--body-param.custom-fields <custom_fields>\" help=\"value\"\n flag \"--body-param.holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--environments <environments>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--revision <revision>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n }\n}\n", + "features": "cmd \"features\" help=\"Control your feature flags programatically\" {\n cmd \"list\" help=\"Get all features\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--client-key <client_key>\" help=\"Filter by a SDK connection's client key\"\n flag \"--archived\" help=\"Whether to include archived features. Defaults to `false` (non-archived only). Pass `true` to include archived features alongside non-archived ones.\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a single feature\" {\n flag \"--id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag.\"\n flag \"--default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--rules <rules>\" help=\"Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`.\"\n flag \"--environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get\" help=\"Get a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions <with_revisions>\" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n }\n cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--default-value <default_value>\" help=\"string value\"\n flag \"--base-config <base_config>\" help=\"The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected.\"\n flag \"--default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--rules <rules>\" help=\"Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`).\"\n flag \"--environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n }\n cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--environments <environments>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--revision <revision>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n }\n cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n }\n}\n", "features list": "cmd \"list\" help=\"Get all features\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n flag \"--client-key <client_key>\" help=\"Filter by a SDK connection's client key\"\n flag \"--archived\" help=\"Whether to include archived features. Defaults to `false` (non-archived only). Pass `true` to include archived features alongside non-archived ones.\"\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n}\n", - "features create": "cmd \"create\" help=\"Create a single feature\" {\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--body-param.archived\" help=\"boolean flag\"\n flag \"--body-param.description <description>\" help=\"Description of the feature\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--body-param.project <project>\" help=\"An associated project ID\"\n flag \"--body-param.targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--body-param.targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--body-param.value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--body-param.default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag.\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--body-param.tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--body-param.rules <rules>\" help=\"Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`.\"\n flag \"--body-param.environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--body-param.prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--body-param.json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--body-param.custom-fields <custom_fields>\" help=\"value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "features create": "cmd \"create\" help=\"Create a single feature\" {\n flag \"--id <id>\" help=\"A unique key name for the feature. Feature keys can only include letters, numbers, hyphens, and underscores. [required]\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. Optional when authenticating with a Personal Access Token (PAT): when omitted, the owner defaults to the PAT's user. Required when authenticating with an organization secret API key (which has no associated user): omitting it fails with a 400.\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--value-type <value_type>\" help=\"The data type of the feature payload. Boolean by default. (options: boolean, string, number, json) [required]\"\n flag \"--default-value <default_value>\" help=\"Default value when feature is enabled. Type must match `valueType`. In Config mode (`baseConfig` set) the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--base-config <base_config>\" help=\"Key of the config backing this flag (\\\"Config mode\\\"). Requires `valueType: \\\"json\\\"` and a live config. The config supplies the base JSON and schema; `defaultValue` and rule values are override patches on top. null or omitted for a plain flag.\"\n flag \"--default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--tags <tags...>\" help=\"List of associated tags\" var=#true\n flag \"--rules <rules>\" help=\"Feature rules. Each rule carries its own environment scope via `allEnvironments` / `environments`.\"\n flag \"--environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "features get": "cmd \"get\" help=\"Get a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--with-revisions <with_revisions>\" help=\"Also return feature revisions (all, draft, or published statuses) (options: all, drafts, published, none)\"\n}\n", - "features update": "cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.description <description>\" help=\"Description of the feature\"\n flag \"--body-param.archived\" help=\"boolean flag\"\n flag \"--body-param.project <project>\" help=\"An associated project ID\"\n flag \"--body-param.targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--body-param.targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.default-value <default_value>\" help=\"string value\"\n flag \"--body-param.base-config <base_config>\" help=\"The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected.\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--body-param.tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--body-param.rules <rules>\" help=\"Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`).\"\n flag \"--body-param.environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--body-param.prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--body-param.json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--body-param.custom-fields <custom_fields>\" help=\"value\"\n flag \"--body-param.holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "features update": "cmd \"update\" help=\"Partially update a feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--description <description>\" help=\"Description of the feature\"\n flag \"--archived\" help=\"boolean flag\"\n flag \"--project <project>\" help=\"An associated project ID\"\n flag \"--targeting-all-projects\" help=\"Make this feature discoverable in — and served to — every project, beyond its primary `project`. Governance/approvals stay with `project`.\"\n flag \"--targeting-projects <targeting_projects...>\" help=\"Secondary project IDs this feature is targeted in and served to, beyond its primary `project`. Governance/approvals stay with `project`.\" var=#true\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--default-value <default_value>\" help=\"string value\"\n flag \"--base-config <base_config>\" help=\"The config backing this flag, fixed at creation. Cannot be changed by an update — resend the current value or omit it; a different value is rejected.\"\n flag \"--default-value-config <default_value_config>\" help=\"Optional. A config within `baseConfig`'s family that the default value resolves to instead of `baseConfig` itself. null or omitted means the default is `baseConfig`. The default is exactly this config and carries no overrides of its own.\"\n flag \"--tags <tags...>\" help=\"List of associated tags. Will override tags completely with submitted list\" var=#true\n flag \"--rules <rules>\" help=\"Replaces all feature rules atomically. Behavior differs from v1: v1 PUT applies per-environment patches, v2 PUT swaps the entire `rules` array in one revision. To preserve existing rules during a partial edit, GET the feature first, mutate the returned `rules` array, and PUT the full array back. Safe-rollout rules round-trip via their `safeRolloutId` (creation requires `POST /v2/features/:id/revisions/:version/rules`).\"\n flag \"--environments <environments>\" help=\"Per-environment enabled state. V2 rules are specified on the top-level `rules` field.\"\n flag \"--prerequisites <prerequisites...>\" help=\"Feature IDs. Each feature must evaluate to `true`\" var=#true\n flag \"--json-schema <json_schema>\" help=\"Use JSON schema to validate the payload of a JSON-type feature value (enterprise only).\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--holdout <holdout>\" help=\"Holdout to assign this feature to. Pass `null` to remove the feature from its current holdout. Omit the field entirely to leave the holdout unchanged.\\n\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "features delete": "cmd \"delete\" help=\"Deletes a single feature\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n}\n", "features toggle": "cmd \"toggle\" help=\"Toggle a feature in one or more environments\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--environments <environments>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "features revert": "cmd \"revert\" help=\"Revert a feature to a specific revision\" {\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--revision <revision>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", @@ -89,8 +89,8 @@ var usageSchemas = map[string]string{ "features gfk": "cmd \"get-feature-keys\" help=\"Get list of feature keys\" {\n alias \"gfk\"\n flag \"--project-id <project_id>\" help=\"Filter by project id\"\n}\n", "features get-feature-stale": "cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n}\n", "features gfs": "cmd \"get-feature-stale\" help=\"Get stale status for one or more features\" {\n alias \"gfs\"\n flag \"--ids <ids>\" help=\"Comma-separated list of feature IDs (URL-encoded if needed). Example: `my_feature,another_feature`\\n [required]\"\n}\n", - "feature-revisions": "cmd \"feature-revisions\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"fr\"\n cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user.\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"Filter to drafts created by this user (userId).\"\n }\n cmd \"get\" help=\"Get a single feature revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n }\n cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"[required]\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"srrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--start-state <start_state>\" help=\"The rule state to roll back to (the rollback/jump-to-start anchor). Merged onto the rule's current state, so `{ \\\"coverage\\\": 0 }` keeps existing targeting but rolls back to 0%. This affects rollbacks only — it is NOT applied when the ramp starts. On create, omitting it infers the anchor from the rule's current coverage (and returns a warning if that isn't 0%); on update of a live schedule, omitting it leaves the existing anchor unchanged.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"drrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"date/time value\"\n flag \"--scheduled-publish-lock-edits\" help=\"boolean flag\"\n flag \"--scheduled-publish-lock-others\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish for a draft revision\" {\n alias \"sp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request (revert to draft)\" {\n alias \"rr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Undo a reviewer's own review verdict\" {\n alias \"ur\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"log\" help=\"List the activity log for a revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"add-log-comment\" help=\"Edit the comment text of an owned log entry\" {\n alias \"alc\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"New comment text. Replaces existing comment text. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-log-entry\" help=\"Delete an owned revision Comment entry\" {\n alias \"dle\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", - "fr": "cmd \"feature-revisions\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"fr\"\n cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user.\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"Filter to drafts created by this user (userId).\"\n }\n cmd \"get\" help=\"Get a single feature revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n }\n cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"[required]\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"srrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--start-state <start_state>\" help=\"The rule state to roll back to (the rollback/jump-to-start anchor). Merged onto the rule's current state, so `{ \\\"coverage\\\": 0 }` keeps existing targeting but rolls back to 0%. This affects rollbacks only — it is NOT applied when the ramp starts. On create, omitting it infers the anchor from the rule's current coverage (and returns a warning if that isn't 0%); on update of a live schedule, omitting it leaves the existing anchor unchanged.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"drrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"date/time value\"\n flag \"--scheduled-publish-lock-edits\" help=\"boolean flag\"\n flag \"--scheduled-publish-lock-others\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish for a draft revision\" {\n alias \"sp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request (revert to draft)\" {\n alias \"rr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Undo a reviewer's own review verdict\" {\n alias \"ur\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"log\" help=\"List the activity log for a revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"add-log-comment\" help=\"Edit the comment text of an owned log entry\" {\n alias \"alc\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"New comment text. Replaces existing comment text. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-log-entry\" help=\"Delete an owned revision Comment entry\" {\n alias \"dle\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", + "feature-revisions": "cmd \"feature-revisions\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"fr\"\n cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user.\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"Filter to drafts created by this user (userId).\"\n }\n cmd \"get\" help=\"Get a single feature revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n }\n cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"srrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--start-state <start_state>\" help=\"The rule state to roll back to (the rollback/jump-to-start anchor). Merged onto the rule's current state, so `{ \\\"coverage\\\": 0 }` keeps existing targeting but rolls back to 0%. This affects rollbacks only — it is NOT applied when the ramp starts. On create, omitting it infers the anchor from the rule's current coverage (and returns a warning if that isn't 0%); on update of a live schedule, omitting it leaves the existing anchor unchanged.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"drrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"date/time value\"\n flag \"--scheduled-publish-lock-edits\" help=\"boolean flag\"\n flag \"--scheduled-publish-lock-others\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish for a draft revision\" {\n alias \"sp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request (revert to draft)\" {\n alias \"rr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Undo a reviewer's own review verdict\" {\n alias \"ur\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"log\" help=\"List the activity log for a revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"add-log-comment\" help=\"Edit the comment text of an owned log entry\" {\n alias \"alc\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"New comment text. Replaces existing comment text. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-log-entry\" help=\"Delete an owned revision Comment entry\" {\n alias \"dle\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", + "fr": "cmd \"feature-revisions\" help=\"Draft revisions for feature flags, including rules, scheduling, and approval workflows\" {\n alias \"fr\"\n cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--override-draft-limit\" help=\"If the organization caps concurrent drafts per feature (`maxConcurrentDrafts` setting), requests at or over the cap are rejected with a 409. Pass `true` to create the draft anyway.\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by or contributed to by the calling user.\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"Filter to drafts created by this user (userId).\"\n }\n cmd \"get\" help=\"Get a single feature revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n }\n cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-rule-ramp-schedule\" help=\"Set ramp schedule for a rule\" {\n alias \"srrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--template-id <template_id>\" help=\"string value\"\n flag \"--start-actions <start_actions>\" help=\"list of values\"\n flag \"--steps <steps>\" help=\"list of values\"\n flag \"--end-actions <end_actions>\" help=\"list of values\"\n flag \"--start-date <start_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-06-01T00:00:00Z\\\". Absent or null means start immediately on publish.\"\n flag \"--cutoff-date <cutoff_date>\" help=\"ISO 8601 date-time, e.g. \\\"2025-07-01T00:00:00Z\\\". The ramp ends at this time.\"\n flag \"--monitoring-config <monitoring_config>\" help=\"JSON object\"\n flag \"--lockdown-config <lockdown_config>\" help=\"JSON object\"\n flag \"--requires-start-approval <requires_start_approval>\" help=\"boolean flag\"\n flag \"--environment <environment>\" help=\"string value\"\n flag \"--start-state <start_state>\" help=\"The rule state to roll back to (the rollback/jump-to-start anchor). Merged onto the rule's current state, so `{ \\\"coverage\\\": 0 }` keeps existing targeting but rolls back to 0%. This affects rollbacks only — it is NOT applied when the ramp starts. On create, omitting it infers the anchor from the rule's current coverage (and returns a warning if that isn't 0%); on update of a live schedule, omitting it leaves the existing anchor unchanged.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-rule-ramp-schedule\" help=\"Remove ramp schedule from a rule\" {\n alias \"drrs\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"date/time value\"\n flag \"--scheduled-publish-lock-edits\" help=\"boolean flag\"\n flag \"--scheduled-publish-lock-others\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish for a draft revision\" {\n alias \"sp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--action <action>\" help=\"options: approve, request-changes, comment\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request (revert to draft)\" {\n alias \"rr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Undo a reviewer's own review verdict\" {\n alias \"ur\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"log\" help=\"List the activity log for a revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"add-log-comment\" help=\"Edit the comment text of an owned log entry\" {\n alias \"alc\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"New comment text. Replaces existing comment text. [required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-log-entry\" help=\"Delete an owned revision Comment entry\" {\n alias \"dle\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--log-id <log_id>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", "feature-revisions list-revisions": "cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n}\n", "feature-revisions lr": "cmd \"list-revisions\" help=\"List revisions across all features\" {\n alias \"lr\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--feature-id <feature_id>\" help=\"string value\"\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user.\"\n flag \"--archived\" help=\"Whether to include revisions for archived features. Defaults to `false` (non-archived features only). Pass `true` to include revisions for archived features alongside non-archived ones.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n}\n", "feature-revisions list-for-feature": "cmd \"list-for-feature\" help=\"List revisions for a feature\" {\n alias \"lff\"\n flag \"--id <id>\" help=\"The id of the requested resource [required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"string | array of string\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by or contributed to by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n flag \"-a --all\" help=\"Automatically paginate and fetch all results (streams NDJSON for JSON output)\"\n flag \"--max-pages <max_pages>\" help=\"Maximum number of pages to fetch when using --all (0 = no limit)\" default=0\n}\n", @@ -101,18 +101,18 @@ var usageSchemas = map[string]string{ "feature-revisions diff": "cmd \"diff\" help=\"Diff a revision against another revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--format-param <format_param>\" help=\"`minimal` (default) returns only what changed, with id-keyed arrays bucketed into added/removed/modified items. `full` returns the complete before/after content of the revision. (options: minimal, full)\"\n flag \"--base <base>\" help=\"Compare against: `baseVersion` (default — the revision's own `baseVersion`, matches the in-app review view), `live` (the currently-live revision), or an integer version (an arbitrary historical revision).\"\n}\n", "feature-revisions set-metadata": "cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions sm": "cmd \"set-metadata\" help=\"Update revision metadata\" {\n alias \"sm\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--tags <tags...>\" help=\"list of values\" var=#true\n flag \"--never-stale\" help=\"boolean flag\"\n flag \"--custom-fields <custom_fields>\" help=\"value\"\n flag \"--json-schema <json_schema>\" help=\"JSON object\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions set-default-value": "cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions sdv": "cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--body-param.default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions set-default-value": "cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions sdv": "cmd \"set-default-value\" help=\"Set the default value in a draft revision\" {\n alias \"sdv\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--default-value <default_value>\" help=\"New default value. In Config mode (feature has `baseConfig`), the default must be exactly a config with no overrides: send `\\\"{}\\\"` to use `baseConfig`, or set `defaultValueConfig` to point at a descendant. [required]\"\n flag \"--default-value-config <default_value_config>\" help=\"Key of a config within the feature's `baseConfig` family that the default value resolves to (the base itself or a descendant). The default is exactly that config with no overrides; pass `null` to use `baseConfig`. Do not embed `@config:` in `defaultValue` — use this field.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions set-prerequisites": "cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions spr": "cmd \"set-prerequisites\" help=\"Set feature-level prerequisites in a draft revision\" {\n alias \"spr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--prerequisites <prerequisites>\" help=\"List of prerequisite boolean flags. When any prerequisite flag is off for a user, this flag returns its defaultValue for that user. [required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions set-holdout": "cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions sh": "cmd \"set-holdout\" help=\"Set holdout in a draft revision\" {\n alias \"sh\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--holdout <holdout>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions archive": "cmd \"archive\" help=\"Set archived state in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--archived\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions toggle": "cmd \"toggle\" help=\"Toggle an environment on/off in a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--environment <environment>\" help=\"[required]\"\n flag \"--enabled\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions add-rule": "cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions ar": "cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions update-rule": "cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"[required]\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions uru": "cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.rule <rule>\" help=\"[required]\"\n flag \"--body-param.ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--body-param.schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions add-rule": "cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions ar": "cmd \"add-rule\" help=\"Add a rule to a draft revision\" {\n alias \"ar\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"{ description: string, enabled: boolean, condition: string, savedGroups: object[], ... }\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this creates a standalone ramp action; for experiment-ref/safe-rollout rules this sets legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions update-rule": "cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions uru": "cmd \"update-rule\" help=\"Update a rule in a draft revision\" {\n alias \"uru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--rule <rule>\" help=\"[required]\"\n flag \"--ramp-schedule <ramp_schedule>\" help=\"Multi-step ramp schedule for force/rollout rules. Not supported for experiment-ref or safe-rollout rules. Mutually exclusive with `schedule`.\"\n flag \"--schedule <schedule>\" help=\"Simple start/end date window. For force/rollout rules this manages a standalone ramp action; for experiment-ref/safe-rollout rules this updates legacy schedule fields on the rule. Mutually exclusive with `rampSchedule`.\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions delete-rule": "cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions dr": "cmd \"delete-rule\" help=\"Delete a rule from a draft revision\" {\n alias \"dr\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-id <rule_id>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions reorder-rules": "cmd \"reorder-rules\" help=\"Reorder rules in the revision\" {\n alias \"rru\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--rule-ids <rule_ids...>\" help=\"[required]\" var=#true\n flag \"--revision-title <revision_title>\" help=\"Title for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--revision-comment <revision_comment>\" help=\"Comment for a newly created draft. Only used when version is \\\"new\\\"; ignored for existing revisions.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", @@ -141,7 +141,7 @@ var usageSchemas = map[string]string{ "feature-revisions rebase-preview": "cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions rp": "cmd \"rebase-preview\" help=\"Preview a rebase without applying it\" {\n alias \"rp\"\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions rebase": "cmd \"rebase\" help=\"Rebase a draft revision onto the current live version\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"Map of conflict key → resolution. Keys come from the returned conflicts: `defaultValue`, `prerequisites`, `archived`, `holdout`, `environmentsEnabled.<env>`, `metadata.<field>`, `rules.<ruleId>`, and `rules.order`. `overwrite` keeps the draft's version of that item; `discard` keeps live's. The blanket `rules` key applies one strategy to all rule-level conflicts.\"\n flag \"--expected-live-version <expected_live_version>\" help=\"Optimistic-concurrency guard: the live version the resolutions were authored against (as returned by merge-status or rebase preview). If live has since moved, the request fails with `409` instead of applying resolutions to different conflicts.\"\n flag \"--expected-draft-date-updated <expected_draft_date_updated>\" help=\"Optimistic-concurrency guard for the draft side: the draft's `draftDateUpdated` timestamp as returned by merge-status or rebase preview. If the draft has been modified since (e.g. by a co-author), the request fails with `409` instead of applying resolutions against changed draft content.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "feature-revisions publish": "cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "feature-revisions publish": "cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions discard": "cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions reopen": "cmd \"reopen\" help=\"Reopen a discarded revision as a draft\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "feature-revisions revert": "cmd \"revert\" help=\"Revert the feature to a prior revision\" {\n flag \"--id <id>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"options: draft, publish\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", @@ -365,9 +365,9 @@ var usageSchemas = map[string]string{ "constant-revisions publish": "cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "constant-revisions discard": "cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "constant-revisions revert": "cmd \"revert\" help=\"Revert the constant to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "configs": "cmd \"configs\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"list\" help=\"Get all configs\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"create\" help=\"Create a single config\" {\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]\"\n flag \"--body-param.name <name>\" help=\"The display name of the config [required]\"\n flag \"--body-param.parent <parent>\" help=\"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).\"\n flag \"--body-param.extends <extends...>\" help=\"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--body-param.value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--body-param.scoped-overrides <scoped_overrides>\" help=\"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.source <source>\" help=\"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=<id>&format=<lang>` can reproduce those names.\"\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.experiment-guard\" help=\"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.\"\n flag \"--body-param.invariants <invariants>\" help=\"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-references\" help=\"Get features and configs that reference this config\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-key-usage\" help=\"Get the feature rules and default values implementing each key\" {\n alias \"gku\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-lineage\" help=\"Get the full lineage (family tree) for a config\" {\n alias \"gl\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"verify-schema\" help=\"Verify a config's schema against a source (drift check)\" {\n alias \"vs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-schema\" help=\"Export a config's schema\" {\n alias \"gs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--format-param <format_param>\" help=\"Output format. `json-schema` (default) returns a JSON Schema document; `typescript`, `protobuf`, `python` (Pydantic), `go`, and `rust` (serde) render the schema as source in that language. (options: json-schema, typescript, protobuf, python, go, rust)\"\n flag \"--effective\" help=\"When true, includes fields inherited across the lineage (the family's accumulated schema). When false (default), returns only this config's own fields.\"\n flag \"--source <source>\" help=\"Render using a previously-captured source projection (its named types). Only affects the typed-code formats (`typescript`/`protobuf`/`python`/`go`/`rust`); ignored if the source has no projection.\"\n }\n cmd \"get\" help=\"Get a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"update\" help=\"Partially update a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--body-param.value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--body-param.scoped-overrides <scoped_overrides>\" help=\"Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.source <source>\" help=\"Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export.\"\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.experiment-guard\" help=\"Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.\"\n flag \"--body-param.invariants <invariants>\" help=\"Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.\"\n flag \"--body-param.bypass-approval\" help=\"Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"archive\" help=\"Archive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"lock\" help=\"Lock a config at its current published revision\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--reason <reason>\" help=\"Optional note explaining why the config was locked.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unlock\" help=\"Unlock a config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n}\n", + "configs": "cmd \"configs\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"list\" help=\"Get all configs\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n }\n cmd \"create\" help=\"Create a single config\" {\n flag \"--key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]\"\n flag \"--name <name>\" help=\"The display name of the config [required]\"\n flag \"--parent <parent>\" help=\"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).\"\n flag \"--extends <extends...>\" help=\"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--scoped-overrides <scoped_overrides>\" help=\"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--source <source>\" help=\"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=<id>&format=<lang>` can reproduce those names.\"\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--experiment-guard\" help=\"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.\"\n flag \"--invariants <invariants>\" help=\"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-references\" help=\"Get features and configs that reference this config\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-key-usage\" help=\"Get the feature rules and default values implementing each key\" {\n alias \"gku\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"get-lineage\" help=\"Get the full lineage (family tree) for a config\" {\n alias \"gl\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"verify-schema\" help=\"Verify a config's schema against a source (drift check)\" {\n alias \"vs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"get-schema\" help=\"Export a config's schema\" {\n alias \"gs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--format-param <format_param>\" help=\"Output format. `json-schema` (default) returns a JSON Schema document; `typescript`, `protobuf`, `python` (Pydantic), `go`, and `rust` (serde) render the schema as source in that language. (options: json-schema, typescript, protobuf, python, go, rust)\"\n flag \"--effective\" help=\"When true, includes fields inherited across the lineage (the family's accumulated schema). When false (default), returns only this config's own fields.\"\n flag \"--source <source>\" help=\"Render using a previously-captured source projection (its named types). Only affects the typed-code formats (`typescript`/`protobuf`/`python`/`go`/`rust`); ignored if the source has no projection.\"\n }\n cmd \"get\" help=\"Get a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"update\" help=\"Partially update a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.\"\n flag \"--extends <extends...>\" help=\"Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--scoped-overrides <scoped_overrides>\" help=\"Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--source <source>\" help=\"Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export.\"\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--experiment-guard\" help=\"Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.\"\n flag \"--invariants <invariants>\" help=\"Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.\"\n flag \"--bypass-approval\" help=\"Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete\" help=\"Delete a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n cmd \"archive\" help=\"Archive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unarchive\" help=\"Unarchive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"lock\" help=\"Lock a config at its current published revision\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--reason <reason>\" help=\"Optional note explaining why the config was locked.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"unlock\" help=\"Unlock a config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n }\n}\n", "configs list": "cmd \"list\" help=\"Get all configs\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n}\n", - "configs create": "cmd \"create\" help=\"Create a single config\" {\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]\"\n flag \"--body-param.name <name>\" help=\"The display name of the config [required]\"\n flag \"--body-param.parent <parent>\" help=\"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).\"\n flag \"--body-param.extends <extends...>\" help=\"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--body-param.value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--body-param.scoped-overrides <scoped_overrides>\" help=\"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.source <source>\" help=\"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=<id>&format=<lang>` can reproduce those names.\"\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.experiment-guard\" help=\"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.\"\n flag \"--body-param.invariants <invariants>\" help=\"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "configs create": "cmd \"create\" help=\"Create a single config\" {\n flag \"--key <key>\" help=\"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key` [required]\"\n flag \"--name <name>\" help=\"The display name of the config [required]\"\n flag \"--parent <parent>\" help=\"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).\"\n flag \"--extends <extends...>\" help=\"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--scoped-overrides <scoped_overrides>\" help=\"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the user associated with the request's Personal Access Token (PAT), if one is being used.\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--source <source>\" help=\"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=<id>&format=<lang>` can reproduce those names.\"\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--experiment-guard\" help=\"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.\"\n flag \"--invariants <invariants>\" help=\"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "configs get-references": "cmd \"get-references\" help=\"Get features and configs that reference this config\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n}\n", "configs gr": "cmd \"get-references\" help=\"Get features and configs that reference this config\" {\n alias \"gr\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n}\n", "configs get-key-usage": "cmd \"get-key-usage\" help=\"Get the feature rules and default values implementing each key\" {\n alias \"gku\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n}\n", @@ -379,28 +379,28 @@ var usageSchemas = map[string]string{ "configs get-schema": "cmd \"get-schema\" help=\"Export a config's schema\" {\n alias \"gs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--format-param <format_param>\" help=\"Output format. `json-schema` (default) returns a JSON Schema document; `typescript`, `protobuf`, `python` (Pydantic), `go`, and `rust` (serde) render the schema as source in that language. (options: json-schema, typescript, protobuf, python, go, rust)\"\n flag \"--effective\" help=\"When true, includes fields inherited across the lineage (the family's accumulated schema). When false (default), returns only this config's own fields.\"\n flag \"--source <source>\" help=\"Render using a previously-captured source projection (its named types). Only affects the typed-code formats (`typescript`/`protobuf`/`python`/`go`/`rust`); ignored if the source has no projection.\"\n}\n", "configs gs": "cmd \"get-schema\" help=\"Export a config's schema\" {\n alias \"gs\"\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--format-param <format_param>\" help=\"Output format. `json-schema` (default) returns a JSON Schema document; `typescript`, `protobuf`, `python` (Pydantic), `go`, and `rust` (serde) render the schema as source in that language. (options: json-schema, typescript, protobuf, python, go, rust)\"\n flag \"--effective\" help=\"When true, includes fields inherited across the lineage (the family's accumulated schema). When false (default), returns only this config's own fields.\"\n flag \"--source <source>\" help=\"Render using a previously-captured source projection (its named types). Only affects the typed-code formats (`typescript`/`protobuf`/`python`/`go`/`rust`); ignored if the source has no projection.\"\n}\n", "configs get": "cmd \"get\" help=\"Get a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n}\n", - "configs update": "cmd \"update\" help=\"Partially update a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--body-param.value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--body-param.scoped-overrides <scoped_overrides>\" help=\"Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.source <source>\" help=\"Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export.\"\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.experiment-guard\" help=\"Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.\"\n flag \"--body-param.invariants <invariants>\" help=\"Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.\"\n flag \"--body-param.bypass-approval\" help=\"Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "configs update": "cmd \"update\" help=\"Partially update a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.\"\n flag \"--extends <extends...>\" help=\"Replace the composition bases (mixins) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins. Set inheritance here, never via a `@config:` entry in `value`.\" var=#true\n flag \"--value <value>\" help=\"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.\"\n flag \"--scoped-overrides <scoped_overrides>\" help=\"Replace the ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--source <source>\" help=\"Optional identifier of the consuming codebase/service. When a `typescript` or `protobuf` schema is supplied, its named-type structure is captured under this source for reproduction on export.\"\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--experiment-guard\" help=\"Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.\"\n flag \"--invariants <invariants>\" help=\"Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.\"\n flag \"--bypass-approval\" help=\"Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "configs delete": "cmd \"delete\" help=\"Delete a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n}\n", - "configs archive": "cmd \"archive\" help=\"Archive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "configs archive": "cmd \"archive\" help=\"Archive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "configs unarchive": "cmd \"unarchive\" help=\"Unarchive a single config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "configs lock": "cmd \"lock\" help=\"Lock a config at its current published revision\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n flag \"--reason <reason>\" help=\"Optional note explaining why the config was locked.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "configs unlock": "cmd \"unlock\" help=\"Unlock a config\" {\n flag \"--key <key>\" help=\"The key of the config [required]\"\n}\n", - "config-revisions": "cmd \"config-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"cre\"\n cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--body-param.infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--body-param.title <title>\" help=\"string value\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", - "cre": "cmd \"config-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"cre\"\n cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--body-param.infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--body-param.title <title>\" help=\"string value\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", + "config-revisions": "cmd \"config-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"cre\"\n cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", + "cre": "cmd \"config-revisions\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n alias \"cre\"\n cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n }\n cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n }\n cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n }\n cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"request-review\" help=\"Request review for a draft revision\" {\n alias \"rre\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--auto-publish-on-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"submit-review\" help=\"Submit a review on a draft revision\" {\n alias \"sr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--decision <decision>\" help=\"options: approve, request-changes, comment [required]\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--skip-auto-publish\" help=\"boolean flag\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"undo-review\" help=\"Retract your own review verdict\" {\n alias \"ur\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"[required]\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"recall-review\" help=\"Recall a review request\" {\n alias \"rr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"reopen\" help=\"Reopen a discarded revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--body-param <body_param>\" help=\"JSON object\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"schedule-publish\" help=\"Schedule (or cancel) a deferred publish\" {\n alias \"sp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--scheduled-publish-at <scheduled_publish_at>\" help=\"When to publish, as an RFC3339 timestamp (e.g. `2026-01-31T09:00:00Z` or `2026-01-31T02:00:00-07:00`), or `null` to cancel a pending schedule. [required]\"\n flag \"--lock-edits\" help=\"boolean flag\"\n flag \"--lock-others\" help=\"boolean flag\"\n flag \"--bypass-approval\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n }\n cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", "config-revisions list": "cmd \"list\" help=\"List config revisions across the organization\" {\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--key <key>\" help=\"Restrict results to revisions for a single config (by its key). When omitted, returns revisions across every config the caller can read.\"\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n}\n", "config-revisions list-for-config": "cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n}\n", "config-revisions lfc": "cmd \"list-for-config\" help=\"List revisions for a config\" {\n alias \"lfc\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--limit <limit>\" help=\"The number of items to return\" default=10\n flag \"--offset <offset>\" help=\"How many items to skip (use in conjunction with limit for pagination)\" default=0\n flag \"--skip-pagination\" help=\"If true, return all matching items and ignore limit/offset.\\nSelf-hosted only. Has no effect unless API_ALLOW_SKIP_PAGINATION is set to true or 1.\" default=#false\n flag \"--status <status>\" help=\"Filter by revision status. Accepts a comma-separated list, or the literal `open` for non-merged/non-discarded revisions.\"\n flag \"--author <author>\" help=\"string value\"\n flag \"--mine\" help=\"If true, return only revisions authored by the calling user. Requires a user-scoped API key. Mutually exclusive with `author`.\"\n}\n", "config-revisions create": "cmd \"create\" help=\"Create a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "config-revisions latest": "cmd \"latest\" help=\"Get the most recent active draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--mine\" help=\"If true, return only the most recent active draft authored by the calling user. Requires a user-scoped API key.\"\n}\n", "config-revisions get": "cmd \"get\" help=\"Get a single config revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n}\n", - "config-revisions set-metadata": "cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions sm": "cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.name <name>\" help=\"string value\"\n flag \"--body-param.owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--body-param.description <description>\" help=\"string value\"\n flag \"--body-param.project <project>\" help=\"string value\"\n flag \"--body-param.parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--body-param.extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--body-param.extensible\" help=\"boolean flag\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions set-value": "cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--body-param.infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions sv": "cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--body-param.infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions set-schema": "cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions ss": "cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions set-projection": "cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions spr": "cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.revision-title <revision_title>\" help=\"string value\"\n flag \"--body-param.revision-comment <revision_comment>\" help=\"string value\"\n flag \"--body-param.source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--body-param.schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--body-param.additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions set-metadata": "cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions sm": "cmd \"set-metadata\" help=\"Update config metadata in a draft revision\" {\n alias \"sm\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--name <name>\" help=\"string value\"\n flag \"--owner <owner>\" help=\"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization.\"\n flag \"--description <description>\" help=\"string value\"\n flag \"--project <project>\" help=\"string value\"\n flag \"--parent <parent>\" help=\"Change the lineage parent (the `key` to inherit from). Empty string detaches from the parent.\"\n flag \"--extends <extends...>\" help=\"Replace the composition mixins layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Send the complete set; an empty array clears all mixins.\" var=#true\n flag \"--extensible\" help=\"boolean flag\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions set-value": "cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions sv": "cmd \"set-value\" help=\"Update the value of a config draft revision\" {\n alias \"sv\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--value <value>\" help=\"This config's own value as a JSON object — a targeted patch deep-merged onto the resolved parent value.\"\n flag \"--infer-schema-if-missing\" help=\"When the config has no schema yet, infer one from the supplied `value` and stage it on the same draft.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions set-schema": "cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions ss": "cmd \"set-schema\" help=\"Update or import the schema of a config draft revision\" {\n alias \"ss\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--infer\" help=\"Derive the schema from the draft's value instead.\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions set-projection": "cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions spr": "cmd \"set-projection\" help=\"Set (or update) a config's per-source render projection on a draft\" {\n alias \"spr\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--source <source>\" help=\"Identifier of the consuming codebase/service this projection belongs to. [required]\"\n flag \"--schema <schema>\" help=\"{ value: object } | { value: string }\"\n flag \"--additional-properties\" help=\"Whether the resulting object schema permits extra keys (family extensibility).\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "config-revisions delete-projection": "cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n}\n", "config-revisions dp": "cmd \"delete-projection\" help=\"Remove a config's per-source render projection on a draft\" {\n alias \"dp\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--source <source>\" help=\"Identifier of the projection (source) to remove. [required]\"\n}\n", "config-revisions archive": "cmd \"archive\" help=\"Stage an archive/unarchive in a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--revision-title <revision_title>\" help=\"string value\"\n flag \"--revision-comment <revision_comment>\" help=\"string value\"\n flag \"--archived\" help=\"[required]\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", @@ -418,9 +418,9 @@ var usageSchemas = map[string]string{ "config-revisions merge-status": "cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n}\n", "config-revisions ms": "cmd \"merge-status\" help=\"Get merge status for a draft revision\" {\n alias \"ms\"\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n}\n", "config-revisions rebase": "cmd \"rebase\" help=\"Rebase a draft revision onto the current live config\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--conflict-resolutions <conflict_resolutions>\" help=\"value\"\n flag \"--custom-values <custom_values>\" help=\"Custom values to use for `union` strategy fields. Keyed by field name.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions publish": "cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions publish": "cmd \"publish\" help=\"Publish a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--bypass-approval\" help=\"Deprecated and ignored. Approval is bypassed automatically when the caller has Bypass draft approvals access for this resource or when the organization enables the REST API approval bypass. Otherwise, the revision must be approved before it can be published.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "config-revisions discard": "cmd \"discard\" help=\"Discard a draft revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--reason <reason>\" help=\"string value\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", - "config-revisions revert": "cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--skip-schema-validation\" help=\"Deprecated — pass `skipSchemaValidation` in the request body instead.\"\n flag \"--ignore-warnings\" help=\"Deprecated — pass `ignoreWarnings` in the request body instead.\"\n flag \"--body-param.strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--body-param.title <title>\" help=\"string value\"\n flag \"--body-param.comment <comment>\" help=\"string value\"\n flag \"--body-param.ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--body-param.skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body-param.skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", + "config-revisions revert": "cmd \"revert\" help=\"Revert the config to a prior revision\" {\n flag \"--key <key>\" help=\"[required]\"\n flag \"--version-param <version_param>\" help=\"[required]\"\n flag \"--strategy <strategy>\" help=\"Whether to stage the revert as a draft or publish it immediately. Defaults to `draft`, or to `publish` when the org enables 'reverts bypass approval'. (options: draft, publish)\"\n flag \"--title <title>\" help=\"string value\"\n flag \"--comment <comment>\" help=\"string value\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "releases": "cmd \"releases\" help=\"**Beta** — these endpoints are new and may change in backwards-incompatible ways\" {\n cmd \"publish-revisions\" help=\"Atomically publish revisions across multiple entities\" {\n alias \"pr\"\n flag \"--revisions <revisions>\" help=\"The revisions to publish, at most one per entity. [required]\"\n flag \"--dry-run\" help=\"Report every gate and outcome without writing anything.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge warnings from experiment guards, schema changes, or archives. It can also force-publish an out-of-date draft when the caller has Bypass draft approvals access for that resource.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema or invariant failures. Validation still runs and the response still reports each failure. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite Custom Hook rejections. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--comment <comment>\" help=\"An optional publish comment recorded on every revision in this release — it appears in each entity's revision history and is passed to any custom validation hooks that run for the publish.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n }\n}\n", "releases publish-revisions": "cmd \"publish-revisions\" help=\"Atomically publish revisions across multiple entities\" {\n alias \"pr\"\n flag \"--revisions <revisions>\" help=\"The revisions to publish, at most one per entity. [required]\"\n flag \"--dry-run\" help=\"Report every gate and outcome without writing anything.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge warnings from experiment guards, schema changes, or archives. It can also force-publish an out-of-date draft when the caller has Bypass draft approvals access for that resource.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema or invariant failures. Validation still runs and the response still reports each failure. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite Custom Hook rejections. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--comment <comment>\" help=\"An optional publish comment recorded on every revision in this release — it appears in each entity's revision history and is passed to any custom validation hooks that run for the publish.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n", "releases pr": "cmd \"publish-revisions\" help=\"Atomically publish revisions across multiple entities\" {\n alias \"pr\"\n flag \"--revisions <revisions>\" help=\"The revisions to publish, at most one per entity. [required]\"\n flag \"--dry-run\" help=\"Report every gate and outcome without writing anything.\"\n flag \"--ignore-warnings\" help=\"Set to true to acknowledge warnings from experiment guards, schema changes, or archives. It can also force-publish an out-of-date draft when the caller has Bypass draft approvals access for that resource.\"\n flag \"--skip-schema-validation\" help=\"Set to true to publish despite schema or invariant failures. Validation still runs and the response still reports each failure. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--skip-hooks\" help=\"Set to true to publish despite Custom Hook rejections. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project.\"\n flag \"--comment <comment>\" help=\"An optional publish comment recorded on every revision in this release — it appears in each entity's revision history and is passed to any custom validation hooks that run for the publish.\"\n flag \"--body <body>\" help=\"Request body as JSON (alternative to individual flags). Can also be provided via stdin.\"\n}\n",