Skip to main content
Glama

LaunchDarkly MCP Server

Official
by launchdarkly
gen.lock861 kB
lockVersion: 2.0.0 id: cc3a5766-8b39-40da-a0be-fff57173d8e1 management: docChecksum: 2e0929fc035a4d91d9fbf708633ca988 docVersion: "2.0" speakeasyVersion: 1.580.0 generationVersion: 2.654.2 releaseVersion: 0.4.0 configChecksum: 941cd2dd2f7c5a28dd935c935f7e8ac2 repoURL: https://github.com/launchdarkly/mcp-server.git installationURL: https://github.com/launchdarkly/mcp-server published: true features: typescript: additionalDependencies: 0.1.0 constsAndDefaults: 0.1.12 core: 3.21.13 defaultEnabledRetries: 0.1.0 deprecations: 2.81.1 devContainers: 2.90.0 enumUnions: 0.1.0 envVarSecurityUsage: 0.1.2 globalSecurity: 2.82.13 globalSecurityCallbacks: 0.1.0 globalSecurityFlattening: 0.1.0 globalServerURLs: 2.82.5 groups: 2.81.2 ignores: 2.81.1 mcpServer: 0.9.3 nameOverrides: 2.81.2 responseFormat: 0.2.3 retries: 2.83.0 sdkHooks: 0.3.0 unions: 2.85.11 generatedFiles: - .devcontainer/README.md - .devcontainer/devcontainer.json - .devcontainer/setup.sh - .gitattributes - .npmignore - FUNCTIONS.md - RUNTIMES.md - USAGE.md - docs/lib/utils/retryconfig.md - docs/models/components/access.md - docs/models/components/accessallowedreason.md - docs/models/components/accessallowedreasoneffect.md - docs/models/components/accessallowedrep.md - docs/models/components/accessdenied.md - docs/models/components/accessdeniedreason.md - docs/models/components/accessdeniedreasoneffect.md - docs/models/components/aiconfig.md - docs/models/components/aiconfigmaintainer.md - docs/models/components/aiconfigmode.md - docs/models/components/aiconfigpatch.md - docs/models/components/aiconfigpost.md - docs/models/components/aiconfigpostmode.md - docs/models/components/aiconfigs.md - docs/models/components/aiconfigsaccess.md - docs/models/components/aiconfigsaccessallowedreason.md - docs/models/components/aiconfigsaccessallowedreasoneffect.md - docs/models/components/aiconfigsaccessallowedrep.md - docs/models/components/aiconfigsaccessdenied.md - docs/models/components/aiconfigsaccessdeniedreason.md - docs/models/components/aiconfigsaccessdeniedreasoneffect.md - docs/models/components/aiconfigsexperimentenabledperiodrep.md - docs/models/components/aiconfigsexperimentenvironmentsettingrep.md - docs/models/components/aiconfigsexperimentinforep.md - docs/models/components/aiconfigsfilter.md - docs/models/components/aiconfigsfiltertype.md - docs/models/components/aiconfigslegacyexperimentrep.md - docs/models/components/aiconfigslink.md - docs/models/components/aiconfigsmaintainerteam.md - docs/models/components/aiconfigsmembersummary.md - docs/models/components/aiconfigsmetriceventdefaultrep.md - docs/models/components/aiconfigsmetriclistingrep.md - docs/models/components/aiconfigsmetriclistingrepanalysistype.md - docs/models/components/aiconfigsmetriclistingrepkind.md - docs/models/components/aiconfigsmetriclistingrepsuccesscriteria.md - docs/models/components/aiconfigsmetriclistingrepunitaggregationtype.md - docs/models/components/aiconfigsmodification.md - docs/models/components/aiconfigtargeting.md - docs/models/components/aiconfigtargetingdefaults.md - docs/models/components/aiconfigtargetingenvironment.md - docs/models/components/aiconfigtargetingenvironmentfallthrough.md - docs/models/components/aiconfigtargetingenvironmentfallthroughrollout.md - docs/models/components/aiconfigtargetingenvironmentfallthroughrolloutexperimentationallocation.md - docs/models/components/aiconfigtargetingenvironmentfallthroughrolloutvariation.md - docs/models/components/aiconfigtargetingenvironmentrule.md - docs/models/components/aiconfigtargetingenvironmentruleclause.md - docs/models/components/aiconfigtargetingenvironmenttarget.md - docs/models/components/aiconfigtargetingpatch.md - docs/models/components/aiconfigtargetingvariation.md - docs/models/components/aiconfigtargetingvariationjson.md - docs/models/components/aiconfigtargetingvariationvalue.md - docs/models/components/aiconfigvariation.md - docs/models/components/aiconfigvariationmodel.md - docs/models/components/aiconfigvariationpatch.md - docs/models/components/aiconfigvariationpatchmodel.md - docs/models/components/aiconfigvariationpost.md - docs/models/components/aiconfigvariationpostmodel.md - docs/models/components/aiconfigvariationsresponse.md - docs/models/components/clause.md - docs/models/components/clientsideavailability.md - docs/models/components/clientsideavailabilitypost.md - docs/models/components/corelink.md - docs/models/components/customproperty.md - docs/models/components/defaults.md - docs/models/components/experimentallocationrep.md - docs/models/components/experimentenabledperiodrep.md - docs/models/components/experimentenvironmentsettingrep.md - docs/models/components/experimentinforep.md - docs/models/components/featureflag.md - docs/models/components/featureflagbody.md - docs/models/components/featureflagconfig.md - docs/models/components/featureflagkind.md - docs/models/components/featureflags.md - docs/models/components/filter.md - docs/models/components/filtertype.md - docs/models/components/flagconfigevaluation.md - docs/models/components/flagconfigmigrationsettingsrep.md - docs/models/components/flagmigrationsettingsrep.md - docs/models/components/flagprerequisitepost.md - docs/models/components/flagsummary.md - docs/models/components/legacyexperimentrep.md - docs/models/components/link.md - docs/models/components/maintainermember.md - docs/models/components/maintainerteam.md - docs/models/components/membersummary.md - docs/models/components/message.md - docs/models/components/metriceventdefaultrep.md - docs/models/components/metriclistingrep.md - docs/models/components/metriclistingrepanalysistype.md - docs/models/components/metriclistingrepkind.md - docs/models/components/metriclistingrepsuccesscriteria.md - docs/models/components/metriclistingrepunitaggregationtype.md - docs/models/components/migrationsettingspost.md - docs/models/components/modification.md - docs/models/components/paginatedlinks.md - docs/models/components/parentandselflinks.md - docs/models/components/parentlink.md - docs/models/components/patchoperation.md - docs/models/components/patchwithcomment.md - docs/models/components/prerequisite.md - docs/models/components/purpose.md - docs/models/components/rollout.md - docs/models/components/rule.md - docs/models/components/security.md - docs/models/components/target.md - docs/models/components/variation.md - docs/models/components/variationorrolloutrep.md - docs/models/components/variationsummary.md - docs/models/components/weightedvariation.md - docs/models/errors/errort.md - docs/models/errors/forbiddenerrorrep.md - docs/models/errors/invalidrequesterrorrep.md - docs/models/errors/methodnotallowederrorrep.md - docs/models/errors/notfounderrorrep.md - docs/models/errors/ratelimitederrorrep.md - docs/models/errors/statusconflicterrorrep.md - docs/models/errors/unauthorizederrorrep.md - docs/models/operations/deleteaiconfigldapiversion.md - docs/models/operations/deleteaiconfigrequest.md - docs/models/operations/deleteaiconfigvariationldapiversion.md - docs/models/operations/deleteaiconfigvariationrequest.md - docs/models/operations/deletefeatureflagrequest.md - docs/models/operations/getaiconfigldapiversion.md - docs/models/operations/getaiconfigrequest.md - docs/models/operations/getaiconfigsldapiversion.md - docs/models/operations/getaiconfigsrequest.md - docs/models/operations/getaiconfigtargetingldapiversion.md - docs/models/operations/getaiconfigtargetingrequest.md - docs/models/operations/getaiconfigvariationldapiversion.md - docs/models/operations/getaiconfigvariationrequest.md - docs/models/operations/getfeatureflagrequest.md - docs/models/operations/getfeatureflagsrequest.md - docs/models/operations/patchaiconfigldapiversion.md - docs/models/operations/patchaiconfigrequest.md - docs/models/operations/patchaiconfigtargetingldapiversion.md - docs/models/operations/patchaiconfigtargetingrequest.md - docs/models/operations/patchaiconfigvariationldapiversion.md - docs/models/operations/patchaiconfigvariationrequest.md - docs/models/operations/patchfeatureflagrequest.md - docs/models/operations/postaiconfigldapiversion.md - docs/models/operations/postaiconfigrequest.md - docs/models/operations/postaiconfigvariationldapiversion.md - docs/models/operations/postaiconfigvariationrequest.md - docs/models/operations/postfeatureflagrequest.md - docs/sdks/aiconfigs/README.md - docs/sdks/featureflags/README.md - docs/sdks/launchdarkly/README.md - eslint.config.mjs - examples/.env.template - examples/README.md - examples/featureFlagsList.example.ts - examples/package.json - jsr.json - package.json - src/core.ts - src/funcs/aiConfigsCreate.ts - src/funcs/aiConfigsCreateVariation.ts - src/funcs/aiConfigsDelete.ts - src/funcs/aiConfigsDeleteVariation.ts - src/funcs/aiConfigsGet.ts - src/funcs/aiConfigsGetTargeting.ts - src/funcs/aiConfigsGetVariation.ts - src/funcs/aiConfigsList.ts - src/funcs/aiConfigsUpdate.ts - src/funcs/aiConfigsUpdateTargeting.ts - src/funcs/aiConfigsUpdateVariation.ts - src/funcs/featureFlagsCreate.ts - src/funcs/featureFlagsDelete.ts - src/funcs/featureFlagsGet.ts - src/funcs/featureFlagsList.ts - src/funcs/featureFlagsPatch.ts - src/hooks/hooks.ts - src/hooks/index.ts - src/hooks/types.ts - src/index.ts - src/lib/base64.ts - src/lib/config.ts - src/lib/dlv.ts - src/lib/encodings.ts - src/lib/env.ts - src/lib/files.ts - src/lib/http.ts - src/lib/is-plain-object.ts - src/lib/logger.ts - src/lib/matchers.ts - src/lib/primitives.ts - src/lib/retries.ts - src/lib/schemas.ts - src/lib/sdks.ts - src/lib/security.ts - src/lib/url.ts - src/mcp-server/build.mts - src/mcp-server/cli.ts - src/mcp-server/cli/start/command.ts - src/mcp-server/cli/start/impl.ts - src/mcp-server/console-logger.ts - src/mcp-server/extensions.ts - src/mcp-server/mcp-server.ts - src/mcp-server/prompts.ts - src/mcp-server/resources.ts - src/mcp-server/scopes.ts - src/mcp-server/server.ts - src/mcp-server/shared.ts - src/mcp-server/tools.ts - src/mcp-server/tools/aiConfigsCreate.ts - src/mcp-server/tools/aiConfigsCreateVariation.ts - src/mcp-server/tools/aiConfigsDelete.ts - src/mcp-server/tools/aiConfigsDeleteVariation.ts - src/mcp-server/tools/aiConfigsGet.ts - src/mcp-server/tools/aiConfigsGetTargeting.ts - src/mcp-server/tools/aiConfigsGetVariation.ts - src/mcp-server/tools/aiConfigsList.ts - src/mcp-server/tools/aiConfigsUpdate.ts - src/mcp-server/tools/aiConfigsUpdateTargeting.ts - src/mcp-server/tools/aiConfigsUpdateVariation.ts - src/mcp-server/tools/featureFlagsCreate.ts - src/mcp-server/tools/featureFlagsDelete.ts - src/mcp-server/tools/featureFlagsGet.ts - src/mcp-server/tools/featureFlagsList.ts - src/mcp-server/tools/featureFlagsPatch.ts - src/models/components/access.ts - src/models/components/accessallowedreason.ts - src/models/components/accessallowedrep.ts - src/models/components/accessdenied.ts - src/models/components/accessdeniedreason.ts - src/models/components/aiconfig.ts - src/models/components/aiconfigmaintainer.ts - src/models/components/aiconfigpatch.ts - src/models/components/aiconfigpost.ts - src/models/components/aiconfigs.ts - src/models/components/aiconfigsaccess.ts - src/models/components/aiconfigsaccessallowedreason.ts - src/models/components/aiconfigsaccessallowedrep.ts - src/models/components/aiconfigsaccessdenied.ts - src/models/components/aiconfigsaccessdeniedreason.ts - src/models/components/aiconfigsexperimentenabledperiodrep.ts - src/models/components/aiconfigsexperimentenvironmentsettingrep.ts - src/models/components/aiconfigsexperimentinforep.ts - src/models/components/aiconfigsfilter.ts - src/models/components/aiconfigslegacyexperimentrep.ts - src/models/components/aiconfigslink.ts - src/models/components/aiconfigsmembersummary.ts - src/models/components/aiconfigsmetriceventdefaultrep.ts - src/models/components/aiconfigsmetriclistingrep.ts - src/models/components/aiconfigsmodification.ts - src/models/components/aiconfigtargeting.ts - src/models/components/aiconfigtargetingdefaults.ts - src/models/components/aiconfigtargetingenvironment.ts - src/models/components/aiconfigtargetingenvironmentfallthrough.ts - src/models/components/aiconfigtargetingenvironmentfallthroughrollout.ts - src/models/components/aiconfigtargetingenvironmentfallthroughrolloutexperimentationallocation.ts - src/models/components/aiconfigtargetingenvironmentfallthroughrolloutvariation.ts - src/models/components/aiconfigtargetingenvironmentrule.ts - src/models/components/aiconfigtargetingenvironmentruleclause.ts - src/models/components/aiconfigtargetingenvironmenttarget.ts - src/models/components/aiconfigtargetingpatch.ts - src/models/components/aiconfigtargetingvariation.ts - src/models/components/aiconfigtargetingvariationjson.ts - src/models/components/aiconfigtargetingvariationvalue.ts - src/models/components/aiconfigvariation.ts - src/models/components/aiconfigvariationpatch.ts - src/models/components/aiconfigvariationpost.ts - src/models/components/aiconfigvariationsresponse.ts - src/models/components/clause.ts - src/models/components/clientsideavailability.ts - src/models/components/clientsideavailabilitypost.ts - src/models/components/corelink.ts - src/models/components/customproperty.ts - src/models/components/defaults.ts - src/models/components/experimentallocationrep.ts - src/models/components/experimentenabledperiodrep.ts - src/models/components/experimentenvironmentsettingrep.ts - src/models/components/experimentinforep.ts - src/models/components/featureflag.ts - src/models/components/featureflagbody.ts - src/models/components/featureflagconfig.ts - src/models/components/featureflags.ts - src/models/components/filter.ts - src/models/components/flagconfigevaluation.ts - src/models/components/flagconfigmigrationsettingsrep.ts - src/models/components/flagmigrationsettingsrep.ts - src/models/components/flagprerequisitepost.ts - src/models/components/flagsummary.ts - src/models/components/index.ts - src/models/components/legacyexperimentrep.ts - src/models/components/link.ts - src/models/components/maintainerteam.ts - src/models/components/membersummary.ts - src/models/components/message.ts - src/models/components/metriceventdefaultrep.ts - src/models/components/metriclistingrep.ts - src/models/components/migrationsettingspost.ts - src/models/components/modification.ts - src/models/components/paginatedlinks.ts - src/models/components/parentandselflinks.ts - src/models/components/parentlink.ts - src/models/components/patchoperation.ts - src/models/components/patchwithcomment.ts - src/models/components/prerequisite.ts - src/models/components/rollout.ts - src/models/components/rule.ts - src/models/components/security.ts - src/models/components/target.ts - src/models/components/variation.ts - src/models/components/variationorrolloutrep.ts - src/models/components/variationsummary.ts - src/models/components/weightedvariation.ts - src/models/errors/apierror.ts - src/models/errors/error.ts - src/models/errors/forbiddenerrorrep.ts - src/models/errors/httpclienterrors.ts - src/models/errors/index.ts - src/models/errors/invalidrequesterrorrep.ts - src/models/errors/launchdarklyerror.ts - src/models/errors/methodnotallowederrorrep.ts - src/models/errors/notfounderrorrep.ts - src/models/errors/ratelimitederrorrep.ts - src/models/errors/responsevalidationerror.ts - src/models/errors/sdkvalidationerror.ts - src/models/errors/statusconflicterrorrep.ts - src/models/errors/unauthorizederrorrep.ts - src/models/operations/deleteaiconfig.ts - src/models/operations/deleteaiconfigvariation.ts - src/models/operations/deletefeatureflag.ts - src/models/operations/getaiconfig.ts - src/models/operations/getaiconfigs.ts - src/models/operations/getaiconfigtargeting.ts - src/models/operations/getaiconfigvariation.ts - src/models/operations/getfeatureflag.ts - src/models/operations/getfeatureflags.ts - src/models/operations/index.ts - src/models/operations/patchaiconfig.ts - src/models/operations/patchaiconfigtargeting.ts - src/models/operations/patchaiconfigvariation.ts - src/models/operations/patchfeatureflag.ts - src/models/operations/postaiconfig.ts - src/models/operations/postaiconfigvariation.ts - src/models/operations/postfeatureflag.ts - src/sdk/aiconfigs.ts - src/sdk/featureflags.ts - src/sdk/index.ts - src/sdk/sdk.ts - src/types/async.ts - src/types/blobs.ts - src/types/constdatetime.ts - src/types/enums.ts - src/types/fp.ts - src/types/index.ts - src/types/operations.ts - src/types/rfcdate.ts - src/types/streams.ts - tsconfig.json examples: getRoot: speakeasy-default-get-root: responses: "200": application/json: {"links": {"key": {}, "key1": {}}} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getCallerIdentity: speakeasy-default-get-caller-identity: responses: "200": application/json: {} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getOpenapiSpec: speakeasy-default-get-openapi-spec: responses: "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getIps: speakeasy-default-get-ips: responses: "200": application/json: {"addresses": ["104.156.80.0/20", "151.101.0.0/16"], "outboundAddresses": ["52.21.152.96/32"]} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getVersions: speakeasy-default-get-versions: responses: "200": application/json: {"validVersions": [20901, 961977, 332941], "latestVersion": 244114, "currentVersion": 138222, "beta": false} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getRelayProxyConfigs: speakeasy-default-get-relay-proxy-configs: responses: "200": application/json: {"items": [{"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 327732, "lastModified": 188573}, {"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 327732, "lastModified": 188573}, {"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 327732, "lastModified": 188573}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postRelayAutoConfig: "": requestBody: application/json: {"name": "Sample Relay Proxy config for all proj and env", "policy": [{"resources": ["proj/*:env/*"], "actions": ["*"], "effect": "allow"}]} responses: "201": application/json: {"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 449171, "lastModified": 609726} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getRelayProxyConfig: speakeasy-default-get-relay-proxy-config: parameters: path: id: "<value>" responses: "200": application/json: {"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 348818, "lastModified": 457688} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteRelayAutoConfig: speakeasy-default-delete-relay-auto-config: parameters: path: id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchRelayAutoConfig: "": parameters: path: id: "<value>" requestBody: application/json: {"patch": [{"op": "replace", "path": "/policy/0", "value": {"actions": ["*"], "effect": "allow", "resources": ["proj/*:env/qa"]}}]} responses: "200": application/json: {"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 596895, "lastModified": 836272} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "422": application/json: {"code": "patch_failed", "message": "Unprocessable entity. Could not apply patch."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} resetRelayAutoConfig: speakeasy-default-reset-relay-auto-config: parameters: path: id: "<value>" responses: "200": application/json: {"_id": "<id>", "_creator": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "name": "Relay Proxy Demo Config", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "fullKey": "<value>", "displayKey": "7f30", "creationDate": 535690, "lastModified": 205725} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApplications: speakeasy-default-get-applications: responses: "200": application/json: {"items": [{"flags": {"items": [{"name": "Example flag", "key": "flag-key-123abc"}], "totalCount": 1}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "autoAdded": true, "description": "The LaunchDarkly Cafe app", "key": "com.launchdarkly.cafe", "kind": "mobile", "_maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "name": "LaunchDarklyCafe"}], "totalCount": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApplication: speakeasy-default-get-application: parameters: path: applicationKey: "<value>" responses: "200": application/json: {"flags": {"items": [{"name": "Example flag", "key": "flag-key-123abc"}], "totalCount": 1}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "autoAdded": true, "description": "The LaunchDarkly Cafe app", "key": "com.launchdarkly.cafe", "kind": "mobile", "_maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "name": "LaunchDarklyCafe"} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteApplication: speakeasy-default-delete-application: parameters: path: applicationKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchApplication: "": parameters: path: applicationKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/description", "value": "Updated description"}] responses: "200": application/json: {"flags": {"items": [{"name": "Example flag", "key": "flag-key-123abc"}], "totalCount": 1}, "_access": {"denied": [], "allowed": []}, "autoAdded": true, "description": "The LaunchDarkly Cafe app", "key": "com.launchdarkly.cafe", "kind": "mobile", "_maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "name": "LaunchDarklyCafe"} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApplicationVersions: speakeasy-default-get-application-versions: parameters: path: applicationKey: "<value>" responses: "200": application/json: {"items": [{"_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "autoAdded": true, "key": "2", "name": "01.02.03", "supported": true}, {"_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "autoAdded": true, "key": "2", "name": "01.02.03", "supported": true}, {"_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "autoAdded": true, "key": "2", "name": "01.02.03", "supported": true}], "totalCount": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteApplicationVersion: speakeasy-default-delete-application-version: parameters: path: applicationKey: "<value>" versionKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchApplicationVersion: "": parameters: path: applicationKey: "<value>" versionKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/supported", "value": "false"}] responses: "200": application/json: {"_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "autoAdded": true, "key": "2", "name": "01.02.03", "supported": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApprovalRequests: speakeasy-default-get-approval-requests: responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 542910, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{"key": "<value>", "key1": "<value>"}, {"key": "<value>"}], "conflicts": [{}, {}], "_links": {"key": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}, "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "project": {"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "environments": {"totalCount": 2, "items": []}}, "environments": [{"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}], "flag": {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 673862, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key1": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key2": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "defaults": {"onVariation": 0, "offVariation": 1}}, "resource": {"kind": "flag", "flag": {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 673862, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key1": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key2": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "defaults": {"onVariation": 0, "offVariation": 1}}, "segment": {"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 995805, "lastModifiedDate": 712436, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {"key": {}, "key1": {}}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 852643, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false}, "aiConfig": {"key": "aiconfig-key-123abc", "name": "AI Config 1"}}}], "totalCount": 1, "_links": {"key": {}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postApprovalRequest: speakeasy-default-post-approval-request: requestBody: application/json: {"resourceId": "proj/projKey:env/envKey:flag/flagKey", "comment": "optional comment", "description": "Requesting to update targeting", "instructions": [{"key": "<value>", "key1": "<value>", "key2": "<value>"}, {"key": "<value>", "key1": "<value>"}, {"key": "<value>", "key1": "<value>"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"]} responses: "201": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 478131, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{}, {"key": "<value>", "key1": "<value>"}, {"key": "<value>", "key1": "<value>"}], "conflicts": [{}, {}, {}], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}, "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApprovalRequest: speakeasy-default-get-approval-request: parameters: path: id: "<value>" responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 231387, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{}], "conflicts": [{}, {}], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}, "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "project": {"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": ["ops"], "environments": {"totalCount": 2, "items": [{"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}]}}, "environments": [{"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}], "flag": {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 792154, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key1": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key2": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "defaults": {"onVariation": 0, "offVariation": 1}}, "resource": {"kind": "flag", "flag": {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 792154, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key1": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key2": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "defaults": {"onVariation": 0, "offVariation": 1}}, "segment": {"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 798602, "lastModifiedDate": 346292, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {"key": {}, "key1": {}, "key2": {}}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 865323, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false}, "aiConfig": {"key": "aiconfig-key-123abc", "name": "AI Config 1"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteApprovalRequest: speakeasy-default-delete-approval-request: parameters: path: id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postApprovalRequestApply: speakeasy-default-post-approval-request-apply: parameters: path: id: "<value>" requestBody: application/json: {"comment": "Looks good, thanks for updating"} responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 961709, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{}], "conflicts": [], "_links": {"key": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}, "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postApprovalRequestReview: speakeasy-default-post-approval-request-review: parameters: path: id: "<value>" requestBody: application/json: {"kind": "approve", "comment": "Looks good, thanks for updating"} responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 672389, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{}], "conflicts": [{}, {}, {}], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}, "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApprovalsForFlag: speakeasy-default-get-approvals-for-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [], "_links": {}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postApprovalRequestForFlag: speakeasy-default-post-approval-request-for-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"comment": "optional comment", "description": "Requesting to update targeting", "instructions": [{"key": "<value>", "key1": "<value>", "key2": "<value>"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "operatingOnId": "6297ed79dee7dc14e1f9a80c"} responses: "201": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 506388, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [], "conflicts": [{}], "_links": {}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postFlagCopyConfigApprovalRequest: speakeasy-default-post-flag-copy-config-approval-request: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"comment": "optional comment", "description": "copy flag settings to another environment", "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "source": {"key": "environment-key-123abc", "version": 1}, "includedActions": ["updateOn"], "excludedActions": ["updateOn"]} responses: "201": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 829373, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{"key": "<value>", "key1": "<value>", "key2": "<value>"}], "conflicts": [{}, {}], "_links": {"key": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getApprovalForFlag: speakeasy-default-get-approval-for-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 311826, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{"key": "<value>", "key1": "<value>"}, {"key": "<value>"}, {}], "conflicts": [], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteApprovalRequestForFlag: speakeasy-default-delete-approval-request-for-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postApprovalRequestApplyForFlag: speakeasy-default-post-approval-request-apply-for-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" requestBody: application/json: {"comment": "Looks good, thanks for updating"} responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 150389, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{"key": "<value>"}], "conflicts": [{}, {}], "_links": {}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postApprovalRequestReviewForFlag: speakeasy-default-post-approval-request-review-for-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" requestBody: application/json: {"kind": "approve", "comment": "Looks good, thanks for updating"} responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 857307, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{"key": "<value>"}], "conflicts": [], "_links": {"key": "<value>", "key1": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchApprovalRequest: speakeasy-default-patch-approval-request: parameters: path: id: "<value>" responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 797410, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}, {"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [{}, {}, {}], "conflicts": [{}, {}, {}], "_links": {"key": "<value>", "key1": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchFlagConfigApprovalRequest: speakeasy-default-patch-flag-config-approval-request: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "200": application/json: {"_id": "12ab3c45de678910abc12345", "_version": 1, "creationDate": 615269, "serviceKind": "<value>", "requestorId": "12ab3c45de678910abc12345", "description": "example: request approval from someone", "reviewStatus": "pending", "allReviews": [{"_id": "12ab3c45de678910abc12345", "kind": "approve", "comment": "Approved!", "memberId": "12ab3c45de678910abc12345", "serviceTokenId": "12ab3c45de678910abc12345"}], "notifyMemberIds": ["1234a56b7c89d012345e678f"], "appliedByMemberId": "1234a56b7c89d012345e678f", "appliedByServiceTokenId": "1234a56b7c89d012345e678f", "status": "pending", "instructions": [], "conflicts": [{}, {}, {}], "_links": {"key": "<value>", "key1": "<value>"}, "operatingOnId": "12ab3c45de678910abc12345", "source": {"key": "source-flag-key-123abc", "version": 1}, "customWorkflowMetadata": {"name": "Example workflow name", "stage": {"index": 0, "name": "Stage 1"}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getAuditLogEntries: speakeasy-default-get-audit-log-entries: responses: "200": application/json: {"items": [], "_links": {"key": {}, "key1": {}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postAuditLogEntries: speakeasy-default-post-audit-log-entries: requestBody: application/json: [{"resources": ["proj/*:env/*:flag/*;testing-tag"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*:flag/*;testing-tag"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*:flag/*;testing-tag"], "actions": ["*"], "effect": "allow"}] responses: "200": application/json: {"items": [{"_links": {}, "_id": "1234a56b7c89d012345e678f", "_accountId": "1234a56b7c89d012345e678f", "date": 722073, "accesses": [{}], "kind": "<value>", "name": "Example feature flag", "description": "Example, turning on the flag for testing", "shortDescription": "Example, turning on the flag", "comment": "This is an automated test", "member": {"_id": "507f1f77bcf86cd799439011", "email": "ariel@acme.com", "firstName": "Ariel", "lastName": "Flores"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}, "titleVerb": "turned on the flag", "target": {"name": "Example flag name", "resources": ["proj/example-project:env/production:flag/example-flag"]}}], "_links": {"key": {}, "key1": {}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getAuditLogEntry: speakeasy-default-get-audit-log-entry: parameters: path: id: "<value>" responses: "200": application/json: {"_links": {"key": {}, "key1": {}}, "_id": "1234a56b7c89d012345e678f", "_accountId": "1234a56b7c89d012345e678f", "date": 102463, "accesses": [{}, {}, {}], "kind": "<value>", "name": "Example feature flag", "description": "Example, turning on the flag for testing", "shortDescription": "Example, turning on the flag", "comment": "This is an automated test", "member": {"_id": "507f1f77bcf86cd799439011", "email": "ariel@acme.com", "firstName": "Ariel", "lastName": "Flores"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}, "titleVerb": "turned on the flag", "target": {"name": "Example flag name", "resources": ["proj/example-project:env/production:flag/example-flag"]}, "subentries": [{"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "1234a56b7c89d012345e678f", "_accountId": "1234a56b7c89d012345e678f", "date": 607807, "accesses": [{}], "kind": "<value>", "name": "Example feature flag", "description": "Example, turning on the flag for testing", "shortDescription": "Example, turning on the flag", "comment": "This is an automated test", "member": {"_id": "507f1f77bcf86cd799439011", "email": "ariel@acme.com", "firstName": "Ariel", "lastName": "Flores"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}, "titleVerb": "turned on the flag", "target": {"name": "Example flag name", "resources": ["proj/example-project:env/production:flag/example-flag"]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExtinctions: speakeasy-default-get-extinctions: responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "items": {"key": [], "key1": [{"revision": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "message": "Remove flag for launched feature", "time": 184283, "flagKey": "enable-feature", "projKey": "default"}, {"revision": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "message": "Remove flag for launched feature", "time": 184283, "flagKey": "enable-feature", "projKey": "default"}]}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getRepositories: speakeasy-default-get-repositories: responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "items": [{"name": "LaunchDarkly-Docs", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "commitUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/commit/${sha}", "hunkUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/blob/${sha}/${filePath}#L${lineNumber}", "type": "github", "defaultBranch": "main", "enabled": true, "version": 3, "branches": [{"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 545027, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>", "key1": "<value>"}}], "_links": {"key": "<value>", "key1": "<value>"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postRepository: speakeasy-default-post-repository: requestBody: application/json: {"name": "LaunchDarkly-Docs", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "commitUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/commit/${sha}", "hunkUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/blob/${sha}/${filePath}#L${lineNumber}", "type": "github", "defaultBranch": "main"} responses: "200": application/json: {"name": "LaunchDarkly-Docs", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "commitUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/commit/${sha}", "hunkUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/blob/${sha}/${filePath}#L${lineNumber}", "type": "github", "defaultBranch": "main", "enabled": true, "version": 3, "branches": [{"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 670253, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>"}}], "_links": {"key": "<value>"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getRepository: speakeasy-default-get-repository: parameters: path: repo: "<value>" responses: "200": application/json: {"name": "LaunchDarkly-Docs", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "commitUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/commit/${sha}", "hunkUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/blob/${sha}/${filePath}#L${lineNumber}", "type": "github", "defaultBranch": "main", "enabled": true, "version": 3, "branches": [{"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 899021, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>", "key1": "<value>"}}, {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 899021, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>", "key1": "<value>"}}, {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 899021, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>", "key1": "<value>"}}], "_links": {"key": "<value>", "key1": "<value>"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteRepository: speakeasy-default-delete-repository: parameters: path: repo: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchRepository: "": parameters: path: repo: "<value>" requestBody: application/json: [{"op": "replace", "path": "/defaultBranch", "value": "main"}] responses: "200": application/json: {"name": "LaunchDarkly-Docs", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "commitUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/commit/${sha}", "hunkUrlTemplate": "https://github.com/launchdarkly/LaunchDarkly-Docs/blob/${sha}/${filePath}#L${lineNumber}", "type": "github", "defaultBranch": "main", "enabled": true, "version": 3, "branches": [{"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 993129, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}], "_links": {"key": "<value>"}}, {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 993129, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}], "_links": {"key": "<value>"}}, {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 993129, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}], "_links": {"key": "<value>"}}], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteBranches: "": parameters: path: repo: "<value>" requestBody: application/json: ["branch-to-be-deleted", "another-branch-to-be-deleted"] responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getBranches: speakeasy-default-get-branches: parameters: path: repo: "<value>" responses: "200": application/json: {"_links": {"key": {}, "key1": {}}, "items": [{"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 563548, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>", "key1": "<value>"}}, {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 563548, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}, {"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}], "_links": {"key": "<value>", "key1": "<value>"}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getBranch: speakeasy-default-get-branch: parameters: path: repo: "<value>" branch: "<value>" responses: "200": application/json: {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 799498, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}, {"path": "/main/index.js", "hint": "javascript", "hunks": []}], "_links": {}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} putBranch: speakeasy-default-put-branch: parameters: path: repo: "<value>" branch: "<value>" requestBody: application/json: {"name": "main", "head": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "updateSequenceId": 25, "syncTime": 273279, "references": [{"path": "/main/index.js", "hint": "javascript", "hunks": [{"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}, {"startingLineNumber": 45, "lines": "var enableFeature = 'enable-feature';", "projKey": "default", "flagKey": "enable-feature", "aliases": ["enableFeature", "EnableFeature"]}]}]} responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postExtinction: speakeasy-default-post-extinction: parameters: path: repo: "<value>" branch: "<value>" requestBody: application/json: [{"revision": "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", "message": "Remove flag for launched feature", "time": 613431, "flagKey": "enable-feature", "projKey": "default"}] responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getRootStatistic: speakeasy-default-get-root-statistic: responses: "200": application/json: {"projects": [{"href": "/api/v2/code-refs/statistics/example-project-with-code-refs", "type": "application/json"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getStatistics: speakeasy-default-get-statistics: parameters: path: projectKey: "<value>" responses: "200": application/json: {"flags": {"key": [], "key1": [{"name": "LaunchDarkly-Docs", "type": "github", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "defaultBranch": "main", "enabled": true, "version": 3, "hunkCount": 640816, "fileCount": 641749, "_links": {"key": {}, "key1": {}, "key2": {}}}, {"name": "LaunchDarkly-Docs", "type": "github", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "defaultBranch": "main", "enabled": true, "version": 3, "hunkCount": 640816, "fileCount": 641749, "_links": {"key": {}, "key1": {}, "key2": {}}}, {"name": "LaunchDarkly-Docs", "type": "github", "sourceLink": "https://github.com/launchdarkly/LaunchDarkly-Docs", "defaultBranch": "main", "enabled": true, "version": 3, "hunkCount": 640816, "fileCount": 641749, "_links": {"key": {}, "key1": {}, "key2": {}}}]}, "_links": {}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getDestinations: speakeasy-default-get-destinations: responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/destinations", "type": "application/json"}}, "items": [{"_id": "610addeadbeefaa86ec9a7d4", "_links": {"parent": {"href": "/api/v2/destinations", "type": "application/json"}, "self": {"href": "/api/v2/destinations/my-project/my-environment/610addeadbeefaa86ec9a7d4", "type": "application/json"}}, "name": "example-destination", "kind": "google-pubsub", "version": 1, "config": "{\"project\":\"test-prod\",\"topic\":\"ld-pubsub-test-192301\"}", "on": true, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}, {"_id": "610addeadbeefaa86ec9a7d4", "_links": {"parent": {"href": "/api/v2/destinations", "type": "application/json"}, "self": {"href": "/api/v2/destinations/my-project/my-environment/610addeadbeefaa86ec9a7d4", "type": "application/json"}}, "name": "example-destination", "kind": "google-pubsub", "version": 1, "config": "{\"project\":\"test-prod\",\"topic\":\"ld-pubsub-test-192301\"}", "on": true, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}, {"_id": "610addeadbeefaa86ec9a7d4", "_links": {"parent": {"href": "/api/v2/destinations", "type": "application/json"}, "self": {"href": "/api/v2/destinations/my-project/my-environment/610addeadbeefaa86ec9a7d4", "type": "application/json"}}, "name": "example-destination", "kind": "google-pubsub", "version": 1, "config": "{\"project\":\"test-prod\",\"topic\":\"ld-pubsub-test-192301\"}", "on": true, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postGenerateWarehouseDestinationKeyPair: speakeasy-default-post-generate-warehouse-destination-key-pair: responses: "201": application/json: {} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postDestination: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"kind": "google-pubsub", "config": {"project": "test-prod", "topic": "ld-pubsub-test-192301"}} responses: "201": application/json: {"_id": "610addeadbeefaa86ec9a7d4", "_links": {"parent": {"href": "/api/v2/destinations", "type": "application/json"}, "self": {"href": "/api/v2/destinations/my-project/my-environment/610addeadbeefaa86ec9a7d4", "type": "application/json"}}, "name": "example-destination", "kind": "google-pubsub", "version": 1, "config": "{\"project\":\"test-prod\",\"topic\":\"ld-pubsub-test-192301\"}", "on": true, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getDestination: speakeasy-default-get-destination: parameters: path: projectKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "200": application/json: {"_id": "610addeadbeefaa86ec9a7d4", "_links": {"parent": {"href": "/api/v2/destinations", "type": "application/json"}, "self": {"href": "/api/v2/destinations/my-project/my-environment/610addeadbeefaa86ec9a7d4", "type": "application/json"}}, "name": "example-destination", "kind": "google-pubsub", "version": 1, "config": "{\"project\":\"test-prod\",\"topic\":\"ld-pubsub-test-192301\"}", "on": true, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteDestination: speakeasy-default-delete-destination: parameters: path: projectKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchDestination: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" id: "<value>" requestBody: application/json: [{"op": "replace", "path": "/config/topic", "value": "ld-pubsub-test-192302"}] responses: "200": application/json: {"_id": "610addeadbeefaa86ec9a7d4", "_links": {"parent": {"href": "/api/v2/destinations", "type": "application/json"}, "self": {"href": "/api/v2/destinations/my-project/my-environment/610addeadbeefaa86ec9a7d4", "type": "application/json"}}, "name": "example-destination", "kind": "google-pubsub", "version": 1, "config": "{\"project\":\"test-prod\",\"topic\":\"ld-pubsub-test-192301\"}", "on": true, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagLinks: speakeasy-default-get-flag-links: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"items": [{"_links": {"key": {}, "key1": {}}, "_key": "flag-link-key-123abc", "_id": "1234a56b7c89d012345e678f", "_deepLink": "https://example.com/archives/123123123", "_timestamp": {}, "title": "Example link title", "description": "Example link description", "_createdAt": 249123}, {"_links": {"key": {}, "key1": {}}, "_key": "flag-link-key-123abc", "_id": "1234a56b7c89d012345e678f", "_deepLink": "https://example.com/archives/123123123", "_timestamp": {}, "title": "Example link title", "description": "Example link description", "_createdAt": 249123}, {"_links": {"key": {}, "key1": {}}, "_key": "flag-link-key-123abc", "_id": "1234a56b7c89d012345e678f", "_deepLink": "https://example.com/archives/123123123", "_timestamp": {}, "title": "Example link title", "description": "Example link description", "_createdAt": 249123}], "_links": {"key": {}, "key1": {}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createFlagLink: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"key": "flag-link-key-123abc", "deepLink": "https://example.com/archives/123123123", "title": "Example link title", "description": "Example link description"} responses: "201": application/json: {"_links": {}, "_key": "flag-link-key-123abc", "_id": "1234a56b7c89d012345e678f", "_deepLink": "https://example.com/archives/123123123", "_timestamp": {}, "title": "Example link title", "description": "Example link description", "_createdAt": 416126} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteFlagLink: speakeasy-default-delete-flag-link: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" id: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateFlagLink: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" id: "<value>" requestBody: application/json: [{"op": "replace", "path": "/title", "value": "Updated flag link title"}] responses: "200": application/json: {"_links": {"key": {}, "key1": {}}, "_key": "flag-link-key-123abc", "_id": "1234a56b7c89d012345e678f", "_deepLink": "https://example.com/archives/123123123", "_timestamp": {}, "title": "Example link title", "description": "Example link description", "_createdAt": 151507} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFeatureFlagStatusAcrossEnvironments: speakeasy-default-get-feature-flag-status-across-environments: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"environments": {"production": {"name": "inactive", "lastRequested": "2020-02-05T18:17:01.514Z"}}, "key": "flag-key-123abc", "_links": {"parent": {"href": "/api/v2/flag-status", "type": "application/json"}, "self": {"href": "/api/v2/flag-status/my-project/my-flag", "type": "application/json"}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFeatureFlagStatuses: speakeasy-default-get-feature-flag-statuses: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/flag-statuses/my-project/my-environment", "type": "application/json"}}, "items": [{"name": "inactive", "lastRequested": "2020-02-05T18:17:01.514Z", "_links": {"parent": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}, "self": {"href": "/api/v2/flag-statuses/my-project/my-flag", "type": "application/json"}}}, {"name": "inactive", "lastRequested": "2020-02-05T18:17:01.514Z", "_links": {"parent": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}, "self": {"href": "/api/v2/flag-statuses/my-project/my-flag", "type": "application/json"}}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFeatureFlagStatus: speakeasy-default-get-feature-flag-status: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"name": "inactive", "lastRequested": "2020-02-05T18:17:01.514Z", "_links": {"parent": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}, "self": {"href": "/api/v2/flag-statuses/my-project/my-flag", "type": "application/json"}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFeatureFlags: speakeasy-default-get-feature-flags: parameters: path: projectKey: "<value>" responses: "200": application/json: {"items": [{"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 498404, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 741359, "items": []}, "customProperties": {}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 771720, "isOff": true}}, "prerequisites": 0}}}}, {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 498404, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 741359, "items": []}, "customProperties": {}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 771720, "isOff": true}}, "prerequisites": 0}}}}], "_links": {"self": {"href": "/api/v2/flags/default", "type": "application/json"}}, "totalCount": 1, "totalCountWithDifferences": 0} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postFeatureFlag: "": parameters: path: projectKey: "<value>" requestBody: application/json: {"name": "My Flag", "key": "flag-key-123abc", "clientSideAvailability": {"usingEnvironmentId": true, "usingMobileKey": true}} responses: "201": application/json: {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 758807, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 484144, "items": [{"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 564975, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}, {"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 564975, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}, {"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 564975, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}]}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}, "key1": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 715434, "isOff": true}}, "prerequisites": 0}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} speakeasy-default-post-feature-flag: parameters: path: projectKey: "<value>" requestBody: application/json: {"name": "My flag", "key": "flag-key-123abc", "description": "This flag controls the example widgets", "clientSideAvailability": {"usingEnvironmentId": true, "usingMobileKey": true}, "variations": [{"value": true}, {"value": false}], "temporary": false, "tags": ["example-tag"], "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "defaults": {"onVariation": 0, "offVariation": 1}, "purpose": "migration", "maintainerId": "12ab3c45de678910fgh12345", "maintainerTeamKey": "team-1"} responses: "201": application/json: {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 758807, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 484144, "items": [{"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 564975, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}]}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 715434, "isOff": true}}, "prerequisites": 0}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFeatureFlag: speakeasy-default-get-feature-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 349934, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 765600, "items": [{"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": [], "_creationDate": 385115, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}, {"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": [], "_creationDate": 385115, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}]}, "customProperties": {}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 240512, "isOff": true}}, "prerequisites": 0}}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteFeatureFlag: speakeasy-default-delete-feature-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchFeatureFlag: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"patch": [{"op": "replace", "path": "/description", "value": "New description for this flag"}]} responses: "200": application/json: {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 205200, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 60812, "items": []}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 896494, "isOff": true}}, "prerequisites": 0}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} speakeasy-default-patch-feature-flag: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"patch": []} responses: "200": application/json: {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 60812, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 219455, "items": []}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 410797, "isOff": true}}, "prerequisites": 0}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} copyFeatureFlag: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"source": {"key": "source-env-key-123abc", "currentVersion": 1}, "target": {"key": "target-env-key-123abc", "currentVersion": 1}, "comment": "optional comment"} responses: "201": application/json: {"name": "My Flag", "kind": "boolean", "description": "This flag controls the example widgets", "key": "flag-key-123abc", "_version": 1, "creationDate": 74131, "variations": [{"_id": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "value": true}, {"_id": "a00bf58d-d252-476c-b915-15a74becacb4", "value": false}], "temporary": true, "tags": ["example-tag"], "_links": {"parent": {"href": "/api/v2/flags/my-project", "type": "application/json"}, "self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}, "maintainerId": "569f183514f4432160000007", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "maintainerTeamKey": "team-1", "_maintainerTeam": {"key": "team-key-123abc", "name": "Example team", "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}}, "experiments": {"baselineIdx": 635354, "items": [{"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 369663, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, "environments": ["production", "test", "my-environment"]}]}, "customProperties": {"key": {"name": "Jira issues", "value": ["is-123", "is-456"]}}, "archived": false, "deprecated": false, "defaults": {"onVariation": 0, "offVariation": 1}, "migrationSettings": {"contextKind": "device", "stageCount": 6}, "environments": {"my-environment": {"on": false, "archived": false, "salt": "61eddeadbeef4da1facecafe3a60a397", "sel": "810edeadbeef4844facecafe438f2999492", "lastModified": 1627071171347, "version": 1, "targets": [{"values": ["user-key-123abc"], "variation": 0, "contextKind": "user"}], "contextTargets": [{"values": ["device-key-123abc"], "variation": 0, "contextKind": "device"}], "rules": [], "fallthrough": {"variation": 0}, "offVariation": 1, "prerequisites": [], "_site": {"href": "/default/my-environment/features/client-side-flag", "type": "text/html"}, "_environmentName": "My Environment", "trackEvents": false, "trackEventsFallthrough": false, "_summary": {"variations": {"0": {"rules": 0, "nullRules": 0, "targets": 1, "contextTargets": 1, "isFallthrough": true}, "1": {"rules": 0, "nullRules": 0, "targets": 0, "contextTargets": 74247, "isOff": true}}, "prerequisites": 0}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExpiringContextTargets: speakeasy-default-get-expiring-context-targets: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 306451, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchExpiringTargets: speakeasy-default-patch-expiring-targets: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"comment": "optional comment", "instructions": [{"kind": "addExpireUserTargetDate", "userKey": "sandy", "value": 1686412800000, "variationId": "ce12d345-a1b2-4fb5-a123-ab123d4d5f5d"}]} responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 936546, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}, {"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 936546, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}], "errors": [{"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExpiringUserTargets: speakeasy-default-get-expiring-user-targets: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 826183, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 826183, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchExpiringUserTargets: speakeasy-default-patch-expiring-user-targets: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"comment": "optional comment", "instructions": [{"kind": "addExpireUserTargetDate", "userKey": "sandy", "value": 1686412800000, "variationId": "ce12d345-a1b2-4fb5-a123-ab123d4d5f5d"}]} responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 604503, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 604503, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}], "totalInstructions": 1, "successfulInstructions": 1, "failedInstructions": 0, "errors": [{"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postMigrationSafetyIssues: speakeasy-default-post-migration-safety-issues: parameters: path: projectKey: "<value>" flagKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"instructions": [{"key": "<value>", "key1": "<value>"}]} responses: "200": application/json: [{}] "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} "503": application/json: {"code": "service_unavailable", "message": "Requested service unavailable"} getDependentFlagsByEnv: speakeasy-default-get-dependent-flags-by-env: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"items": [{"name": "Example dependent flag", "key": "dependent-flag-key-123abc", "_links": {"key": {}, "key1": {}}, "_site": {}}, {"name": "Example dependent flag", "key": "dependent-flag-key-123abc", "_links": {"key": {}, "key1": {}}, "_site": {}}, {"name": "Example dependent flag", "key": "dependent-flag-key-123abc", "_links": {"key": {}, "key1": {}}, "_site": {}}], "_links": {}, "_site": {}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getDependentFlags: speakeasy-default-get-dependent-flags: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"items": [{"name": "Example dependent flag", "key": "dependent-flag-key-123abc", "environments": [{"name": "Example environment", "key": "environment-key-123abc", "_links": {}, "_site": {}}]}, {"name": "Example dependent flag", "key": "dependent-flag-key-123abc", "environments": [{"name": "Example environment", "key": "environment-key-123abc", "_links": {}, "_site": {}}]}, {"name": "Example dependent flag", "key": "dependent-flag-key-123abc", "environments": [{"name": "Example environment", "key": "environment-key-123abc", "_links": {}, "_site": {}}]}], "_links": {"key": {}}, "_site": {}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTriggerWorkflows: speakeasy-default-get-trigger-workflows: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"items": [{"_version": 1, "_maintainerId": "12ab3c45de678910abc12345", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "enabled": true, "_integrationKey": "generic-trigger", "_triggerCount": 3}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createTriggerWorkflow: speakeasy-default-create-trigger-workflow: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"comment": "example comment", "instructions": [{"kind": "turnFlagOn"}], "integrationKey": "generic-trigger"} responses: "201": application/json: {"_version": 1, "_maintainerId": "12ab3c45de678910abc12345", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "enabled": true, "_integrationKey": "generic-trigger", "_triggerCount": 3} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTriggerWorkflowById: speakeasy-default-get-trigger-workflow-by-id: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "200": application/json: {"_version": 1, "_maintainerId": "12ab3c45de678910abc12345", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "enabled": true, "_integrationKey": "generic-trigger", "_triggerCount": 3} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteTriggerWorkflow: speakeasy-default-delete-trigger-workflow: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" id: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchTriggerWorkflow: speakeasy-default-patch-trigger-workflow: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" id: "<value>" requestBody: application/json: {"comment": "optional comment", "instructions": [{"kind": "disableTrigger"}]} responses: "200": application/json: {"_version": 1, "_maintainerId": "12ab3c45de678910abc12345", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "enabled": true, "_integrationKey": "generic-trigger", "_triggerCount": 3} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getReleaseByFlagKey: speakeasy-default-get-release-by-flag-key: parameters: path: projectKey: "<value>" flagKey: "<value>" responses: "200": application/json: {"name": "Example release pipeline", "releasePipelineKey": "example-release-pipeline", "releasePipelineDescription": "Our release pipeline for typical testing and deployment", "phases": [{"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 341235, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}], "_version": 1} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} deleteReleaseByFlagKey: speakeasy-default-delete-release-by-flag-key: parameters: path: projectKey: "<value>" flagKey: "<value>" responses: "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} patchReleaseByFlagKey: "": parameters: path: projectKey: "<value>" flagKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/phases/0/complete", "value": true}] responses: "200": application/json: {"name": "Example release pipeline", "releasePipelineKey": "example-release-pipeline", "releasePipelineDescription": "Our release pipeline for typical testing and deployment", "phases": [{"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 95774, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}, {"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 95774, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}], "_version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createReleaseForFlag: speakeasy-default-create-release-for-flag: parameters: path: projectKey: "<value>" flagKey: "<value>" requestBody: application/json: {"releasePipelineKey": "<value>"} responses: "200": application/json: {"name": "Example release pipeline", "releasePipelineKey": "example-release-pipeline", "releasePipelineDescription": "Our release pipeline for typical testing and deployment", "phases": [{"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 591807, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}], "_version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updatePhaseStatus: speakeasy-default-update-phase-status: parameters: path: projectKey: "<value>" flagKey: "<value>" phaseId: "<value>" requestBody: application/json: {"audiences": [{"releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"]}]} responses: "200": application/json: {"name": "Example release pipeline", "releasePipelineKey": "example-release-pipeline", "releasePipelineDescription": "Our release pipeline for typical testing and deployment", "phases": [{"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 232048, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}, {"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 232048, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}, {"_id": "1234a56b7c89d012345e678f", "_name": "Phase 1 - Testing", "complete": true, "_creationDate": 232048, "_completedBy": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "token": {"name": "DevOps token", "ending": "2345", "serviceToken": false}}, "_audiences": [{"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}, {"_id": "1234a56b7c89d012345e678g", "environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}]}], "_version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getBigSegmentStoreIntegrations: speakeasy-default-get-big-segment-store-integrations: responses: "200": application/json: {"_links": {"self": {}}, "items": [{"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "redis", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"available": true, "potentiallyStale": false}}, {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "redis", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"available": true, "potentiallyStale": false}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createBigSegmentStoreIntegration: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" requestBody: application/json: {"on": false, "config": {"optional": "example value for optional formVariables property for sample-integration", "required": "example value for required formVariables property for sample-integration"}, "tags": ["example-tag"], "name": "Example persistent store integration"} responses: "201": application/json: {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "redis", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [], "allowed": []}, "_status": {"available": true, "potentiallyStale": false}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getBigSegmentStoreIntegration: speakeasy-default-get-big-segment-store-integration: parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" integrationId: "<value>" responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "redis", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_status": {"available": true, "potentiallyStale": false}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteBigSegmentStoreIntegration: speakeasy-default-delete-big-segment-store-integration: parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" integrationId: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchBigSegmentStoreIntegration: speakeasy-default-patch-big-segment-store-integration: parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" integrationId: "<value>" requestBody: application/json: [] responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "redis", "projectKey": "default", "environmentKey": "development", "config": {}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"available": true, "potentiallyStale": false}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getIntegrationDeliveryConfigurations: speakeasy-default-get-integration-delivery-configurations: responses: "200": application/json: {"_links": {"self": {}}, "items": [{"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}, {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getIntegrationDeliveryConfigurationByEnvironment: speakeasy-default-get-integration-delivery-configuration-by-environment: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {}}, "items": [{"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}, {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}, {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createIntegrationDeliveryConfiguration: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" requestBody: application/json: {"on": false, "config": {"optional": "example value for optional formVariables property for sample-integration", "required": "example value for required formVariables property for sample-integration"}, "tags": ["example-tag"], "name": "Sample integration"} responses: "201": application/json: {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getIntegrationDeliveryConfigurationById: speakeasy-default-get-integration-delivery-configuration-by-id: parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" id: "<value>" responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {"key": "<value>", "key1": "<value>"}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteIntegrationDeliveryConfiguration: speakeasy-default-delete-integration-delivery-configuration: parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" id: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchIntegrationDeliveryConfiguration: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" id: "<value>" requestBody: application/json: [{"op": "replace", "path": "/on", "value": true}] responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}, "environment": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "example-integration-key", "projectKey": "default", "environmentKey": "development", "config": {}, "on": true, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "422": application/json: {"code": "patch_failed", "message": "Unprocessable entity. Could not apply patch."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} validateIntegrationDeliveryConfiguration: speakeasy-default-validate-integration-delivery-configuration: parameters: path: projectKey: "<value>" environmentKey: "<value>" integrationKey: "<value>" id: "<value>" responses: "200": application/json: {"statusCode": 200} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagImportConfigurations: speakeasy-default-get-flag-import-configurations: responses: "200": application/json: {"_links": {"self": {}}, "items": [{"_links": {"self": {}, "parent": {}, "project": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "split", "projectKey": "default", "config": {"key": "<value>", "key1": "<value>"}, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"status": "pending"}}, {"_links": {"self": {}, "parent": {}, "project": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "split", "projectKey": "default", "config": {"key": "<value>", "key1": "<value>"}, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"status": "pending"}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createFlagImportConfiguration: "": parameters: path: projectKey: "<value>" integrationKey: "<value>" requestBody: application/json: {"config": {"environmentId": "The ID of the environment in the external system", "ldApiKey": "An API key with create flag permissions in your LaunchDarkly account", "ldMaintainer": "The ID of the member who will be the maintainer of the imported flags", "ldTag": "A tag to apply to all flags imported to LaunchDarkly", "splitTag": "If provided, imports only the flags from the external system with this tag. Leave blank to import all flags.", "workspaceApiKey": "An API key with read permissions in the external feature management system", "workspaceId": "The ID of the workspace in the external system"}, "tags": ["example-tag"], "name": "Sample configuration"} responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "split", "projectKey": "default", "config": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"status": "pending"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagImportConfiguration: speakeasy-default-get-flag-import-configuration: parameters: path: projectKey: "<value>" integrationKey: "<value>" integrationId: "<value>" responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "split", "projectKey": "default", "config": {"key": "<value>"}, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_status": {"status": "pending"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteFlagImportConfiguration: speakeasy-default-delete-flag-import-configuration: parameters: path: projectKey: "<value>" integrationKey: "<value>" integrationId: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchFlagImportConfiguration: speakeasy-default-patch-flag-import-configuration: parameters: path: projectKey: "<value>" integrationKey: "<value>" integrationId: "<value>" requestBody: application/json: [] responses: "200": application/json: {"_links": {"self": {}, "parent": {}, "project": {}}, "_id": "12ab3c4d5ef1a2345bcde67f", "integrationKey": "split", "projectKey": "default", "config": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "tags": [], "name": "Development environment configuration", "version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_status": {"status": "pending"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} triggerFlagImportJob: speakeasy-default-trigger-flag-import-job: parameters: path: projectKey: "<value>" integrationKey: "<value>" integrationId: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getAllIntegrationConfigurations: speakeasy-default-get-all-integration-configurations: parameters: path: integrationKey: "<value>" responses: "200": application/json: {"items": [{"_links": {"key": {}}, "_id": "<id>", "name": "Example Datadog integration", "_integrationKey": "datadog", "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "capabilityConfig": {"approvals": {"additionalFormVariables": [{}]}, "auditLogEventsHook": {"statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}}}, {"_links": {"key": {}}, "_id": "<id>", "name": "Example Datadog integration", "_integrationKey": "datadog", "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "capabilityConfig": {"approvals": {"additionalFormVariables": [{}]}, "auditLogEventsHook": {"statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}}}], "_links": {}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createIntegrationConfiguration: speakeasy-default-create-integration-configuration: parameters: path: integrationKey: "<value>" requestBody: application/json: {"name": "Example integration configuration", "enabled": true, "tags": ["ops"], "configValues": {"optional": "an optional property", "required": "the required property", "url": "https://example.com"}, "capabilityConfig": {"approvals": {"additionalFormVariables": [{}]}, "auditLogEventsHook": {"statements": [{"resources": ["proj/*:env/*:flag/*;testing-tag"], "actions": ["*"], "effect": "allow"}]}}} responses: "201": application/json: {"_links": {"key": {}, "key1": {}}, "_id": "<id>", "name": "Example Datadog integration", "_integrationKey": "datadog", "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "capabilityConfig": {"approvals": {"additionalFormVariables": [{}]}, "auditLogEventsHook": {"statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getIntegrationConfiguration: speakeasy-default-get-integration-configuration: parameters: path: integrationConfigurationId: "<value>" responses: "200": application/json: {"_links": {"key": {}, "key1": {}}, "_id": "<id>", "name": "Example Datadog integration", "_integrationKey": "datadog", "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "capabilityConfig": {"approvals": {"additionalFormVariables": [{}]}, "auditLogEventsHook": {"statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteIntegrationConfiguration: speakeasy-default-delete-integration-configuration: parameters: path: integrationConfigurationId: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateIntegrationConfiguration: "": parameters: path: integrationConfigurationId: "<value>" requestBody: application/json: [{"op": "replace", "path": "/on", "value": false}] responses: "200": application/json: {"_links": {}, "_id": "<id>", "name": "Example Datadog integration", "_integrationKey": "datadog", "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "capabilityConfig": {"approvals": {"additionalFormVariables": [{}]}, "auditLogEventsHook": {"statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getSubscriptions: speakeasy-default-get-subscriptions: parameters: path: integrationKey: "<value>" responses: "200": application/json: {"items": [{"_id": "1234a56b7c89d012345e678f", "kind": "datadog", "name": "Example Datadog integration", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["testing"], "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createSubscription: "": parameters: path: integrationKey: "<value>" requestBody: application/json: {"name": "Example audit log subscription.", "statements": [{"resources": ["proj/*:env/*:flag/*;testing-tag"], "actions": ["*"], "effect": "allow"}], "on": false, "tags": ["testing-tag"], "config": {"optional": "an optional property", "required": "the required property", "url": "https://example.com"}} responses: "201": application/json: {"_id": "1234a56b7c89d012345e678f", "kind": "datadog", "name": "Example Datadog integration", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getSubscriptionByID: speakeasy-default-get-subscription-by-ID: parameters: path: integrationKey: "<value>" id: "<value>" responses: "200": application/json: {"_id": "1234a56b7c89d012345e678f", "kind": "datadog", "name": "Example Datadog integration", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["testing"], "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteSubscription: speakeasy-default-delete-subscription: parameters: path: integrationKey: "<value>" id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateSubscription: "": parameters: path: integrationKey: "<value>" id: "<value>" requestBody: application/json: [{"op": "replace", "path": "/on", "value": false}] responses: "200": application/json: {"_id": "1234a56b7c89d012345e678f", "kind": "datadog", "name": "Example Datadog integration", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["testing"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMembers: speakeasy-default-get-members: responses: "200": application/json: {"items": [{"_links": {"key": {}, "key1": {}}, "_id": "507f1f77bcf86cd799439011", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com", "_pendingInvite": false, "_verified": true, "customRoles": ["devOps", "backend-devs"], "mfa": "<value>", "_lastSeen": 81969, "_lastSeenMetadata": {"tokenId": "5b52207f8ca8e631d31fdb2b"}, "teams": [{"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}], "permissionGrants": [{"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}], "creationDate": 671522, "version": 1}], "_links": {}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postMembers: speakeasy-default-post-members: requestBody: application/json: [{"email": "sandy@acme.com", "password": "***", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "customRoles": ["customRole1", "customRole2"], "teamKeys": ["team-1", "team-2"]}, {"email": "sandy@acme.com", "password": "***", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "customRoles": ["customRole1", "customRole2"], "teamKeys": ["team-1", "team-2"]}, {"email": "sandy@acme.com", "password": "***", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "customRoles": ["customRole1", "customRole2"], "teamKeys": ["team-1", "team-2"]}] responses: "201": application/json: {"items": [{"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "507f1f77bcf86cd799439011", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com", "_pendingInvite": false, "_verified": true, "customRoles": ["devOps", "backend-devs"], "mfa": "<value>", "_lastSeen": 387652, "_lastSeenMetadata": {"tokenId": "5b52207f8ca8e631d31fdb2b"}, "teams": [{"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}], "permissionGrants": [{"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}], "creationDate": 743434, "version": 1}, {"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "507f1f77bcf86cd799439011", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com", "_pendingInvite": false, "_verified": true, "customRoles": ["devOps", "backend-devs"], "mfa": "<value>", "_lastSeen": 387652, "_lastSeenMetadata": {"tokenId": "5b52207f8ca8e631d31fdb2b"}, "teams": [{"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}], "permissionGrants": [{"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}], "creationDate": 743434, "version": 1}], "_links": {"key": {}, "key1": {}, "key2": {}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMember: speakeasy-default-get-member: parameters: path: id: "<value>" responses: "200": application/json: {"_links": {"key": {}}, "_id": "507f1f77bcf86cd799439011", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com", "_pendingInvite": false, "_verified": true, "customRoles": ["devOps", "backend-devs"], "mfa": "<value>", "_lastSeen": 906801, "_lastSeenMetadata": {"tokenId": "5b52207f8ca8e631d31fdb2b"}, "teams": [{"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}], "permissionGrants": [{"actions": ["maintainTeam"], "resource": "team/qa-team"}], "creationDate": 290842, "version": 1} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteMember: speakeasy-default-delete-member: parameters: path: id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchMember: "": parameters: path: id: "<value>" requestBody: application/json: [{"op": "add", "path": "/role", "value": "writer"}] responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "507f1f77bcf86cd799439011", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com", "_pendingInvite": false, "_verified": true, "customRoles": ["devOps", "backend-devs"], "mfa": "<value>", "_lastSeen": 8498, "_lastSeenMetadata": {"tokenId": "5b52207f8ca8e631d31fdb2b"}, "teams": [{"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}, {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}], "permissionGrants": [{"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}], "creationDate": 916231, "version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postMemberTeams: speakeasy-default-post-member-teams: parameters: path: id: "<value>" requestBody: application/json: {"teamKeys": ["team1", "team2"]} responses: "201": application/json: {"_links": {}, "_id": "507f1f77bcf86cd799439011", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com", "_pendingInvite": false, "_verified": true, "customRoles": ["devOps", "backend-devs"], "mfa": "<value>", "_lastSeen": 671326, "_lastSeenMetadata": {"tokenId": "5b52207f8ca8e631d31fdb2b"}, "teams": [{"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}, {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}, {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}], "permissionGrants": [{"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}, {"actions": ["maintainTeam"], "resource": "team/qa-team"}], "creationDate": 344952, "version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchMembers: "": requestBody: application/json: {"comment": "Optional comment about the update", "instructions": [{"kind": "replaceMembersRoles", "memberIDs": ["1234a56b7c89d012345e678f", "507f1f77bcf86cd799439011"], "value": "reader"}]} responses: "200": application/json: {"members": ["1234a56b7c89d012345e678f"], "errors": [{"507f1f77bcf86cd799439011": "you cannot modify your own role"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMetrics: speakeasy-default-get-metrics: parameters: path: projectKey: "<value>" responses: "200": application/json: {"items": [{"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 524942, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}, {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 524942, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}}], "_links": {"self": {"href": "/api/v2/metrics/my-project?limit=20", "type": "application/json"}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} postMetric: "": parameters: path: projectKey: "<value>" requestBody: application/json: {"key": "metric-key-123abc", "kind": "custom", "isNumeric": false, "eventKey": "Order placed"} responses: "201": application/json: {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": [], "_creationDate": 534544, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 502980, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "metricGroups": [{"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}}, {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}}], "isActive": true, "_attachedFeatures": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "_version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMetric: speakeasy-default-get-metric: parameters: path: projectKey: "<value>" metricKey: "<value>" responses: "200": application/json: {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 789409, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 210326, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "metricGroups": [{"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}}], "isActive": true, "_attachedFeatures": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "_version": 1} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteMetric: speakeasy-default-delete-metric: parameters: path: projectKey: "<value>" metricKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchMetric: "": parameters: path: projectKey: "<value>" metricKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/name", "value": "my-updated-metric"}] responses: "200": application/json: {"experimentCount": 0, "metricGroupCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": [], "_creationDate": 562520, "lastModified": {"date": "2021-08-05T19:46:31.148082Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "category": "Error monitoring", "isNumeric": true, "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "<value>", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"value": 0}, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 440880, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}, {"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 440880, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}, {"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 440880, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "metricGroups": [{"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}}, {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}}, {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}}], "isActive": true, "_attachedFeatures": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "_version": 1} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getOAuthClients: speakeasy-default-get-O-auth-clients: responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/oauth/clients", "type": "application/json"}}, "items": [{"_links": {"parent": {"href": "/api/v2/oauth/clients", "type": "application/json"}, "self": {"href": "/api/v2/oauth/clients/50666563-9144-4125-b822-33f308227e45", "type": "application/json"}}, "name": "<value>", "_accountId": "<id>", "_clientId": "<id>", "redirectUri": "https://brave-widow.name", "_creationDate": 726963}, {"_links": {"parent": {"href": "/api/v2/oauth/clients", "type": "application/json"}, "self": {"href": "/api/v2/oauth/clients/50666563-9144-4125-b822-33f308227e45", "type": "application/json"}}, "name": "<value>", "_accountId": "<id>", "_clientId": "<id>", "redirectUri": "https://brave-widow.name", "_creationDate": 726963}, {"_links": {"parent": {"href": "/api/v2/oauth/clients", "type": "application/json"}, "self": {"href": "/api/v2/oauth/clients/50666563-9144-4125-b822-33f308227e45", "type": "application/json"}}, "name": "<value>", "_accountId": "<id>", "_clientId": "<id>", "redirectUri": "https://brave-widow.name", "_creationDate": 726963}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} createOAuth2Client: speakeasy-default-create-O-auth2-client: requestBody: application/json: {} responses: "201": application/json: {"_links": {"parent": {"href": "/api/v2/oauth/clients", "type": "application/json"}, "self": {"href": "/api/v2/oauth/clients/50666563-9144-4125-b822-33f308227e45", "type": "application/json"}}, "name": "<value>", "_accountId": "<id>", "_clientId": "<id>", "redirectUri": "https://apt-reasoning.org", "_creationDate": 173650} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} getOAuthClientById: speakeasy-default-get-O-auth-client-by-id: parameters: path: clientId: "<value>" responses: "200": application/json: {"_links": {"parent": {"href": "/api/v2/oauth/clients", "type": "application/json"}, "self": {"href": "/api/v2/oauth/clients/50666563-9144-4125-b822-33f308227e45", "type": "application/json"}}, "name": "<value>", "_accountId": "<id>", "_clientId": "<id>", "redirectUri": "https://limping-t-shirt.name", "_creationDate": 15586} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} deleteOAuthClient: speakeasy-default-delete-O-auth-client: parameters: path: clientId: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} patchOAuthClient: "": parameters: path: clientId: "<value>" requestBody: application/json: [{"op": "replace", "path": "/name", "value": "Example Client V2"}] responses: "200": application/json: {"_links": {"parent": {"href": "/api/v2/oauth/clients", "type": "application/json"}, "self": {"href": "/api/v2/oauth/clients/50666563-9144-4125-b822-33f308227e45", "type": "application/json"}}, "name": "<value>", "_accountId": "<id>", "_clientId": "<id>", "redirectUri": "https://small-hamburger.org", "_creationDate": 244291} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getProjects: speakeasy-default-get-projects: responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects", "type": "application/json"}}, "items": [{"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": ["ops"], "environments": {"totalCount": 2, "items": []}}, {"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": ["ops"], "environments": {"totalCount": 2, "items": []}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postProject: "": requestBody: application/json: {"name": "My Project", "key": "project-key-123abc"} responses: "201": application/json: {"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "environments": []} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getProject: speakeasy-default-get-project: parameters: path: projectKey: "<value>" responses: "200": application/json: {"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "environments": {"totalCount": 2, "items": []}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteProject: speakeasy-default-delete-project: parameters: path: projectKey: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchProject: "": parameters: path: projectKey: "<value>" requestBody: application/json: [{"op": "add", "path": "/tags/0", "value": "another-tag"}] responses: "200": application/json: {"_links": {"environments": {"href": "/api/v2/projects/my-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11383", "key": "project-key-123abc", "includeInSnippetByDefault": true, "name": "My Project", "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "environments": []} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagDefaultsByProject: speakeasy-default-get-flag-defaults-by-project: parameters: path: projectKey: "<value>" responses: "200": application/json: {"tags": ["tag-1", "tag-2"], "temporary": true, "booleanDefaults": {"trueDisplayName": "True", "falseDisplayName": "False", "trueDescription": "serve true", "falseDescription": "serve false", "onVariation": 0, "offVariation": 1}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} putFlagDefaultsByProject: speakeasy-default-put-flag-defaults-by-project: parameters: path: projectKey: "<value>" requestBody: application/json: {"tags": ["tag-1", "tag-2"], "temporary": true, "booleanDefaults": {"trueDisplayName": "True", "falseDisplayName": "False", "trueDescription": "serve true", "falseDescription": "serve false", "onVariation": 0, "offVariation": 1}, "defaultClientSideAvailability": {"usingMobileKey": true, "usingEnvironmentId": true}} responses: "200": application/json: {"tags": ["tag-1", "tag-2"], "temporary": true, "booleanDefaults": {"trueDisplayName": "True", "falseDisplayName": "False", "trueDescription": "serve true", "falseDescription": "serve false", "onVariation": 0, "offVariation": 1}, "defaultClientSideAvailability": {"usingMobileKey": true, "usingEnvironmentId": true}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchFlagDefaultsByProject: speakeasy-default-patch-flag-defaults-by-project: parameters: path: projectKey: "<value>" requestBody: application/json: [] responses: "200": application/json: {"tags": ["tag-1", "tag-2"], "temporary": true, "booleanDefaults": {"trueDisplayName": "True", "falseDisplayName": "False", "trueDescription": "serve true", "falseDescription": "serve false", "onVariation": 0, "offVariation": 1}, "defaultClientSideAvailability": {"usingMobileKey": true, "usingEnvironmentId": true}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getContextKindsByProjectKey: speakeasy-default-get-context-kinds-by-project-key: parameters: path: projectKey: "<value>" responses: "200": application/json: {"items": [{"key": "organization-key-123abc", "name": "Organization", "description": "An example context kind, to enable targeting based on organization", "version": 4, "creationDate": 537647, "lastModified": 638504, "createdFrom": "<value>", "hideInTargeting": false, "archived": false}], "_links": {"key": {}, "key1": {}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} putContextKind: speakeasy-default-put-context-kind: parameters: path: projectKey: "<value>" key: "<value>" requestBody: application/json: {"name": "organization", "description": "An example context kind for organizations", "hideInTargeting": false, "archived": false, "version": 1} responses: "200": application/json: {"status": "success"} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getContextAttributeNames: speakeasy-default-get-context-attribute-names: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [{"kind": "user", "names": []}, {"kind": "user", "names": []}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getContextAttributeValues: speakeasy-default-get-context-attribute-values: parameters: path: projectKey: "<value>" environmentKey: "<value>" attributeName: "<value>" responses: "200": application/json: {"items": [{"kind": "user", "values": [{"name": "Sandy", "weight": 35}, {"name": "Sandy", "weight": 35}, {"name": "Sandy", "weight": 35}]}, {"kind": "user", "values": [{"name": "Sandy", "weight": 35}, {"name": "Sandy", "weight": 35}, {"name": "Sandy", "weight": 35}]}, {"kind": "user", "values": [{"name": "Sandy", "weight": 35}, {"name": "Sandy", "weight": 35}, {"name": "Sandy", "weight": 35}]}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} searchContextInstances: speakeasy-default-search-context-instances: parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"filter": "{\"filter\": \"kindKeys:{\"contains\": [\"user:Henry\"]},\"sort\": \"-ts\",\"limit\": 50}", "sort": "-ts", "limit": 10, "continuationToken": "QAGFKH1313KUGI2351"} responses: "200": application/json: {"_links": {"next": {"href": "/api/v2/projects/my-project/environments/my-env/context-instances/organization:launch-darkly:user:henry?limit=2&continuationToken=2022-04-15T15:00:57.526470334Z", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-proj/environments/my-env/context-instances/organization:launch-darkly:user:henry-jacobs?limit=2", "type": "application/json"}}, "totalCount": 100, "_environmentId": "57be1db38b75bf0772d11384", "continuationToken": "QAGFKH1313KUGI2351", "items": []} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getContextInstances: speakeasy-default-get-context-instances: parameters: path: projectKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "200": application/json: {"_links": {"next": {"href": "/api/v2/projects/my-project/environments/my-env/context-instances/organization:launch-darkly:user:henry?limit=2&continuationToken=2022-04-15T15:00:57.526470334Z", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-proj/environments/my-env/context-instances/organization:launch-darkly:user:henry-jacobs?limit=2", "type": "application/json"}}, "totalCount": 100, "_environmentId": "57be1db38b75bf0772d11384", "continuationToken": "QAGFKH1313KUGI2351", "items": [{"lastSeen": "2022-04-15T15:00:57.526470334Z", "id": "b3JnOmxhdW5jaGRhcmtseQ", "applicationId": "GoSDK/1.2", "anonymousKinds": ["device", "privateKind"], "context": "{\"kind\": \"user\", \"key\": \"context-key-123abc\", \"name\": \"Sandy Smith\", \"email\": \"sandy@example.com\"}", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-env/context-instances/organization:launch-darkly:user:henry?filter=applicationId:\"GoSDK/1.2\"", "type": "application/json"}, "site": {"href": "/my-project/my-environment/context-instances/organization:launch-darkly:user:henry", "type": "text/html"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}}, {"lastSeen": "2022-04-15T15:00:57.526470334Z", "id": "b3JnOmxhdW5jaGRhcmtseQ", "applicationId": "GoSDK/1.2", "anonymousKinds": ["device", "privateKind"], "context": "{\"kind\": \"user\", \"key\": \"context-key-123abc\", \"name\": \"Sandy Smith\", \"email\": \"sandy@example.com\"}", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-env/context-instances/organization:launch-darkly:user:henry?filter=applicationId:\"GoSDK/1.2\"", "type": "application/json"}, "site": {"href": "/my-project/my-environment/context-instances/organization:launch-darkly:user:henry", "type": "text/html"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteContextInstances: speakeasy-default-delete-context-instances: parameters: path: projectKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} searchContexts: speakeasy-default-search-contexts: parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"filter": "*.name startsWith Jo,kind anyOf [\"user\",\"organization\"]", "sort": "-ts", "limit": 10, "continuationToken": "QAGFKH1313KUGI2351"} responses: "200": application/json: {"_links": {"next": {"href": "/app.launchdarkly.com/api/v2/projects/my-project/environments/my-environment/contexts?filter=kind:{\"equals\": [\"organization\"]}&limit=2&continuationToken=QAGFKH1313KUGI2351", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-proj/environments/my-env/contexts?filter=kind:{\"equals\": [\"organization\"]}&limit=2&continuationToken=QAGFKH1313KUGI2351", "type": "application/json"}}, "totalCount": 100, "_environmentId": "57be1db38b75bf0772d11384", "continuationToken": "QAGFKH1313KUGI2351", "items": [{"lastSeen": "2022-04-15T15:00:57.526470334Z", "applicationId": "GoSDK/1.2", "context": "{\"kind\": \"user\", \"key\": \"context-key-123abc\", \"name\": \"Sandy Smith\", \"email\": \"sandy@example.com\"}", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-env/contexts/organization:launch-darkly:user:henry?filter=applicationId:\"GoSDK/1.2\"", "type": "application/json"}, "site": {"href": "/my-project/my-environment/context/organization:launch-darkly:user:henry", "type": "text/html"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "associatedContexts": 0}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getContexts: speakeasy-default-get-contexts: parameters: path: projectKey: "<value>" environmentKey: "<value>" kind: "<value>" key: "<value>" responses: "200": application/json: {"_links": {"next": {"href": "/app.launchdarkly.com/api/v2/projects/my-project/environments/my-environment/contexts?filter=kind:{\"equals\": [\"organization\"]}&limit=2&continuationToken=QAGFKH1313KUGI2351", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-proj/environments/my-env/contexts?filter=kind:{\"equals\": [\"organization\"]}&limit=2&continuationToken=QAGFKH1313KUGI2351", "type": "application/json"}}, "totalCount": 100, "_environmentId": "57be1db38b75bf0772d11384", "continuationToken": "QAGFKH1313KUGI2351", "items": []} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} evaluateContextInstance: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"key": "user-key-123abc", "kind": "user", "otherAttribute": "other attribute value"} responses: "200": application/json: {"items": [{"name": "SortOrder", "key": "sort.order", "_value": true, "reason": {"kind": "FALLTHROUGH"}, "_links": {"self": {"href": "/api/v2/projects/{projectKey}/environments/{environmentKey}/flags/evaluate", "type": "application/json"}, "site": {"href": "/my-project/my-environment/features/sort.order/targeting", "type": "text/html"}}}, {"name": "AlternatePage", "key": "alternate.page", "_value": false, "reason": {"kind": "RULE_MATCH", "ruleIndex": 1, "ruleID": "b2530cdf-14c6-4e16-b660-00239e08f19b"}, "_links": {"self": {"href": "/api/v2/projects/{projectKey}/environments/{environmentKey}/flags/evaluate", "type": "application/json"}, "site": {"href": "/my-project/my-environment/features/alternate.page/targeting", "type": "text/html"}}}], "totalCount": 2, "_links": {"self": {"href": "/api/v2/projects/{projectKey}/environments/{environmentKey}/flags/evaluate", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getEnvironmentsByProject: speakeasy-default-get-environments-by-project: parameters: path: projectKey: "<value>" responses: "200": application/json: {"totalCount": 2, "items": [{"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postEnvironment: "": parameters: path: projectKey: "<value>" requestBody: application/json: {"name": "My Environment", "key": "environment-key-123abc", "color": "DADBEE"} responses: "201": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getEnvironment: speakeasy-default-get-environment: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteEnvironment: speakeasy-default-delete-environment: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchEnvironment: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/requireComments", "value": true}] responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} resetEnvironmentSDKKey: speakeasy-default-reset-environment-SDK-key: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} resetEnvironmentMobileKey: speakeasy-default-reset-environment-mobile-key: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} putContextFlagSetting: speakeasy-default-put-context-flag-setting: parameters: path: projectKey: "<value>" environmentKey: "<value>" contextKind: "<value>" contextKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"setting": "existing_variation_value_to_use", "comment": "make sure this context experiences a specific variation"} responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExperiments: speakeasy-default-get-experiments: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 731094, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 244286, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 424786, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 224202, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 224202, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}, {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 731094, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 244286, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 424786, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 224202, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 224202, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}, {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 731094, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 244286, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 424786, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 224202, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 224202, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createExperiment: speakeasy-default-create-experiment: parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"name": "Example experiment", "description": "An example experiment, used in testing", "maintainerId": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "iteration": {"hypothesis": "Example hypothesis, the new button placement will increase conversion", "canReshuffleTraffic": true, "metrics": [{"key": "metric-key-123abc", "isGroup": true}, {"key": "metric-key-123abc", "isGroup": true}], "primarySingleMetricKey": "metric-key-123abc", "primaryFunnelKey": "metric-group-key-123abc", "treatments": [{"name": "Treatment 1", "baseline": true, "allocationPercent": "10", "parameters": [{"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}]}, {"name": "Treatment 1", "baseline": true, "allocationPercent": "10", "parameters": [{"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}]}, {"name": "Treatment 1", "baseline": true, "allocationPercent": "10", "parameters": [{"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}]}], "flags": {"key": {"ruleId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, "key1": {"ruleId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, "key2": {"ruleId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}}, "randomizationUnit": "user", "attributes": ["country", "device", "os"]}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40"} responses: "201": application/json: {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 54514, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 692407, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 187421, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 807444, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExperiment: speakeasy-default-get-experiment: parameters: path: projectKey: "<value>" environmentKey: "<value>" experimentKey: "<value>" responses: "200": application/json: {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 517286, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 526601, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 747965, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 785077, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 785077, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchExperiment: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" experimentKey: "<value>" requestBody: application/json: {"comment": "Example comment describing the update", "instructions": [{"kind": "updateName", "value": "Updated experiment name"}]} responses: "200": application/json: {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 818151, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 985732, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 524938, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 202885, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 202885, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createIteration: speakeasy-default-create-iteration: parameters: path: projectKey: "<value>" environmentKey: "<value>" experimentKey: "<value>" requestBody: application/json: {"hypothesis": "Example hypothesis, the new button placement will increase conversion", "canReshuffleTraffic": true, "metrics": [{"key": "metric-key-123abc", "isGroup": true}], "primarySingleMetricKey": "metric-key-123abc", "primaryFunnelKey": "metric-group-key-123abc", "treatments": [{"name": "Treatment 1", "baseline": true, "allocationPercent": "10", "parameters": [{"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}]}, {"name": "Treatment 1", "baseline": true, "allocationPercent": "10", "parameters": [{"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, {"flagKey": "example-flag-for-experiment", "variationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}]}], "flags": {"key": {"ruleId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}, "key1": {"ruleId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05"}}, "randomizationUnit": "user", "attributes": ["country", "device", "os"]} responses: "200": application/json: {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 914813, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExperimentResultsForMetricGroup: speakeasy-default-get-experiment-results-for-metric-group: parameters: path: projectKey: "<value>" environmentKey: "<value>" experimentKey: "<value>" metricGroupKey: "<value>" responses: "200": application/json: {"_links": {}, "metrics": [{"metric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, "results": {"metricSeen": {"ever": true, "timestamp": 1657129307}, "probabilityOfMismatch": 0.9999999999999738, "results": [{"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}]}}, {"metric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, "results": {"metricSeen": {"ever": true, "timestamp": 1657129307}, "probabilityOfMismatch": 0.9999999999999738, "results": [{"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}]}}, {"metric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, "results": {"metricSeen": {"ever": true, "timestamp": 1657129307}, "probabilityOfMismatch": 0.9999999999999738, "results": [{"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}]}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExperimentResults: speakeasy-default-get-experiment-results: parameters: path: projectKey: "<value>" environmentKey: "<value>" experimentKey: "<value>" metricKey: "<value>" responses: "200": application/json: {"metricSeen": {"ever": true, "timestamp": 1657129307}, "probabilityOfMismatch": 0.9999999999999738, "results": [{"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}, {"attribute": "country", "attributeValue": "Canada", "treatmentResults": [{"treatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077", "treatmentName": "variation 25% off", "mean": 0.5432525951557093, "dataMean": 2.464845, "dataStdDev": 1e-7, "credibleInterval": {"upper": 0.6713222134386467, "lower": 0.4060771673663068}, "pBest": 0.6083, "relativeDifferences": [{"upper": 0.42655970355712425, "lower": -0.13708601934659803, "fromTreatmentId": "92b8354e-360e-4d67-8f13-fa6a46ca8077"}], "units": 76, "traffic": 332, "eventValuesSum": 6234, "distribution": {"kind": "normal"}, "varianceReduction": 0.1, "model": "bayesianNormal"}]}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExperimentationSettings: speakeasy-default-get-experimentation-settings: parameters: path: projectKey: "<value>" responses: "200": application/json: {"_projectId": "12345abcde67890fghij", "_projectKey": "project-key-123abc", "randomizationUnits": [{"randomizationUnit": "user", "standardRandomizationUnit": "user", "default": true, "_displayName": "User"}, {"randomizationUnit": "user", "standardRandomizationUnit": "user", "default": true, "_displayName": "User"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} putExperimentationSettings: speakeasy-default-put-experimentation-settings: parameters: path: projectKey: "<value>" requestBody: application/json: {"randomizationUnits": [{"randomizationUnit": "user", "default": true, "standardRandomizationUnit": "organization"}]} responses: "200": application/json: {"_projectId": "12345abcde67890fghij", "_projectKey": "project-key-123abc", "randomizationUnits": [{"randomizationUnit": "user", "standardRandomizationUnit": "user", "default": true, "_displayName": "User"}, {"randomizationUnit": "user", "standardRandomizationUnit": "user", "default": true, "_displayName": "User"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFollowersByProjEnv: speakeasy-default-get-followers-by-proj-env: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/flags/my-flay/environments/my-environment/followers", "type": "application/json"}}, "items": [{"flagKey": "example-flag-key", "followers": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}]}, {"flagKey": "example-flag-key", "followers": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}]}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getFlagFollowers: speakeasy-default-get-flag-followers: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/projects/my-project/flags/my-flay/environments/my-environment/followers", "type": "application/json"}}, "items": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} putFlagFollower: speakeasy-default-put-flag-follower: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" memberId: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} deleteFlagFollower: speakeasy-default-delete-flag-follower: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" memberId: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getAllHoldouts: speakeasy-default-get-all-holdouts: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"self": {"href": "/api/v2/my-project/environments/my-environment/holdouts?limit=20", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postHoldout: speakeasy-default-post-holdout: parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"name": "holdout-one-name", "key": "holdout-key", "description": "My holdout-one description", "randomizationunit": "user", "attributes": ["country", "device", "os"], "holdoutamount": "10", "primarymetrickey": "metric-key-123abc", "metrics": [{"key": "metric-key-123abc", "isGroup": true}, {"key": "metric-key-123abc", "isGroup": true}, {"key": "metric-key-123abc", "isGroup": true}], "prerequisiteflagkey": "flag-key-123abc"} responses: "201": application/json: {"_id": "<id>", "status": "enabled", "holdoutAmount": "<value>", "createdAt": 657208, "updatedAt": 885228, "baseExperiment": {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 101966, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 775170, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 316531, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 312322, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 312322, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} getHoldoutById: speakeasy-default-get-holdout-by-id: parameters: path: projectKey: "<value>" environmentKey: "<value>" holdoutId: "<value>" responses: "200": application/json: {"_id": "<id>", "status": "ended", "holdoutAmount": "<value>", "createdAt": 995882, "updatedAt": 398763, "baseExperiment": {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 839199, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 337799, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 28954, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 897389, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getHoldout: speakeasy-default-get-holdout: parameters: path: projectKey: "<value>" environmentKey: "<value>" holdoutKey: "<value>" responses: "200": application/json: {"_id": "<id>", "status": "enabled", "holdoutAmount": "<value>", "createdAt": 445684, "updatedAt": 148655, "baseExperiment": {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 301536, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 909926, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 281348, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}, "relatedExperiments": [{"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 758018, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 909926, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 281348, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}, {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 758018, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 909926, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 281348, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}, {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 758018, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 909926, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 281348, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 707176, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchHoldout: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" holdoutKey: "<value>" requestBody: application/json: {"comment": "Optional comment describing the update", "instructions": [{"kind": "updateName", "value": "Updated holdout name"}]} responses: "200": application/json: {"_id": "<id>", "status": "ended", "holdoutAmount": "<value>", "createdAt": 700668, "updatedAt": 818886, "baseExperiment": {"_id": "12ab3c45de678910fgh12345", "key": "experiment-key-123abc", "name": "Example experiment", "description": "An example experiment, used in testing", "_maintainerId": "12ab3c45de678910fgh12345", "_creationDate": 853881, "environmentKey": "<value>", "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment", "type": "application/json"}}, "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40", "currentIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 972210, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key2": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "draftIteration": {"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 374767, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}, "previousIterations": [{"_id": "12ab3c45de678910fgh12345", "hypothesis": "The new button placement will increase conversion", "status": "running", "createdAt": 605526, "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58", "winningReason": "We ran this iteration for two weeks and the winning variation was clear", "canReshuffleTraffic": true, "flags": {"key": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}, "key1": {"targetingRule": "fallthrough", "targetingRuleDescription": "Customers who live in Canada", "flagConfigVersion": 12, "notInExperimentVariationId": "e432f62b-55f6-49dd-a02f-eb24acf39d05", "_links": {"self": {"href": "/api/v2/flags/my-project/my-flag", "type": "application/json"}}}}, "primaryMetric": {"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": false, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "primarySingleMetric": {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}}, "primaryFunnel": {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}, "randomizationUnit": "user", "treatments": [{"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}, {"_id": "122c9f3e-da26-4321-ba68-e0fc02eced58", "name": "Treatment 1", "allocationPercent": "10", "baseline": true}], "metrics": [{"key": "metric-key-123abc", "_versionId": "<id>", "name": "My metric", "kind": "custom", "isNumeric": true, "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "isGroup": true, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}]}], "layerSnapshot": {"key": "checkout-flow", "name": "Checkout Flow", "reservationPercent": 10, "otherReservationPercent": 70}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getContextInstanceSegmentsMembershipByEnv: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"address": {"city": "Springfield", "street": "123 Main Street"}, "jobFunction": "doctor", "key": "context-key-123abc", "kind": "user", "name": "Sandy"} responses: "200": application/json: {"items": [{"name": "Segment Name", "key": "segment-key-123abc", "description": "Segment description", "unbounded": false, "external": "https://amplitude.com/myCohort", "isMember": true, "isIndividuallyTargeted": true, "isRuleTargeted": false, "_links": {"key": {}, "key1": {}, "key2": {}}}, {"name": "Segment Name", "key": "segment-key-123abc", "description": "Segment description", "unbounded": false, "external": "https://amplitude.com/myCohort", "isMember": true, "isIndividuallyTargeted": true, "isRuleTargeted": false, "_links": {"key": {}, "key1": {}, "key2": {}}}, {"name": "Segment Name", "key": "segment-key-123abc", "description": "Segment description", "unbounded": false, "external": "https://amplitude.com/myCohort", "isMember": true, "isIndividuallyTargeted": true, "isRuleTargeted": false, "_links": {"key": {}, "key1": {}, "key2": {}}}], "_links": {"key": {}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getSegments: speakeasy-default-get-segments: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [{"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 682226, "lastModifiedDate": 381770, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {"key": {}}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [], "allowed": []}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 910928, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false}, {"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 682226, "lastModifiedDate": 381770, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {"key": {}}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [], "allowed": []}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 910928, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false}], "_links": {"key": {}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} postSegment: speakeasy-default-post-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"name": "Example segment", "key": "segment-key-123abc", "description": "Bundle our sample customers together", "tags": ["testing"], "unbounded": false, "unboundedContextKind": "device"} responses: "201": application/json: {"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 420452, "lastModifiedDate": 115261, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {"key": {}, "key1": {}, "key2": {}}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 143209, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getSegment: speakeasy-default-get-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" responses: "200": application/json: {"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 331543, "lastModifiedDate": 82536, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {"key": {}, "key1": {}, "key2": {}}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 770185, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteSegment: speakeasy-default-delete-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchSegment: "": parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" requestBody: application/json: {"patch": [{"op": "replace", "path": "/description", "value": "New description for this segment"}, {"op": "add", "path": "/tags/0", "value": "example"}]} responses: "200": application/json: {"name": "Example segment", "description": "Bundle our sample customers together", "tags": ["testing"], "creationDate": 579606, "lastModifiedDate": 260631, "key": "segment-key-123abc", "included": ["user-key-123abc"], "excluded": ["user-key-123abc"], "_links": {}, "rules": [{"_id": "1234a56b7c89d012345e678f", "clauses": [{"_id": "12ab3c45de678910fab12345", "attribute": "email", "op": "endsWith", "values": [".edu"], "negate": false}]}], "version": 1, "deleted": false, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_flags": [{"name": "Example flag", "key": "flag-key-123abc"}, {"name": "Example flag", "key": "flag-key-123abc"}], "unbounded": false, "generation": 841356, "_external": "amplitude", "_externalLink": "https://analytics.amplitude.com/org/1234/cohort/123abc", "_importInProgress": false} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateBigSegmentContextTargets: speakeasy-default-update-big-segment-context-targets: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" requestBody: application/json: {} responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getSegmentMembershipForContext: speakeasy-default-get-segment-membership-for-context: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" contextKey: "<value>" responses: "200": application/json: {"userKey": "<value>", "included": true, "excluded": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createBigSegmentExport: speakeasy-default-create-big-segment-export: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getBigSegmentExport: speakeasy-default-get-big-segment-export: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" exportID: "<value>" responses: "200": application/json: {"id": "1234a567-bcd8-9123-4567-abcd1234567f", "segmentKey": "example-big-segment", "creationTime": 958738, "status": "complete", "sizeBytes": 18, "size": "18 B", "initiator": {"name": "Bob Loblaw", "email": "ariel@acme.com"}, "_links": {}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createBigSegmentImport: speakeasy-default-create-big-segment-import: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" requestBody: multipart/form-data: {} responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getBigSegmentImport: speakeasy-default-get-big-segment-import: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" importID: "<value>" responses: "200": application/json: {"id": "1234a567-bcd8-9123-4567-abcd1234567f", "segmentKey": "example-big-segment", "creationTime": 943777, "mode": "replace", "status": "complete", "files": [{"filename": "bigsegimport.csv", "status": "complete"}], "_links": {"key": {}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateBigSegmentTargets: speakeasy-default-update-big-segment-targets: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" requestBody: application/json: {} responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getSegmentMembershipForUser: speakeasy-default-get-segment-membership-for-user: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" userKey: "<value>" responses: "200": application/json: {"userKey": "<value>", "included": false, "excluded": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExpiringTargetsForSegment: speakeasy-default-get-expiring-targets-for-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 519394, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchExpiringTargetsForSegment: speakeasy-default-patch-expiring-targets-for-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" requestBody: application/json: {"comment": "optional comment", "instructions": [{"kind": "updateExpiringTarget", "contextKey": "user@email.com", "contextKind": "user", "targetType": "included", "value": 1587582000000, "version": 0}]} responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 979315, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}, {"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 979315, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}, {"_id": "12ab3c45de678910abc12345", "_version": 1, "expirationDate": 979315, "contextKind": "user", "contextKey": "context-key-123abc", "targetType": "included", "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73", "_resourceId": {"environmentKey": "environment-key-123abc", "key": "segment-key-123abc", "projectKey": "project-key-123abc"}}], "errors": [{"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExpiringUserTargetsForSegment: speakeasy-default-get-expiring-user-targets-for-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 870977, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 870977, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 870977, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchExpiringUserTargetsForSegment: speakeasy-default-patch-expiring-user-targets-for-segment: parameters: path: projectKey: "<value>" environmentKey: "<value>" segmentKey: "<value>" requestBody: application/json: {"comment": "optional comment", "instructions": [{"kind": "removeExpireUserTargetDate", "userKey": "<value>", "targetType": "included", "value": 1587582000000, "version": 0}]} responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 631385, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 631385, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}], "totalInstructions": 1, "successfulInstructions": 1, "failedInstructions": 0, "errors": [{"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagConfigScheduledChanges: speakeasy-default-get-flag-config-scheduled-changes: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [{"_id": "<id>", "_creationDate": 874111, "_maintainerId": "12ab3c45de678910abc12345", "_version": 1, "executionDate": 244681, "instructions": [{"key": "<value>"}]}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} postFlagConfigScheduledChanges: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"comment": "Optional comment describing the scheduled changes", "executionDate": 1718467200000, "instructions": [{"kind": "turnFlagOn"}]} responses: "201": application/json: {"_id": "<id>", "_creationDate": 79424, "_maintainerId": "12ab3c45de678910abc12345", "_version": 1, "executionDate": 584308, "instructions": [{"key": "<value>"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFeatureFlagScheduledChange: speakeasy-default-get-feature-flag-scheduled-change: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "200": application/json: {"_id": "<id>", "_creationDate": 563928, "_maintainerId": "12ab3c45de678910abc12345", "_version": 1, "executionDate": 809849, "instructions": [{"key": "<value>"}, {"key": "<value>", "key1": "<value>"}, {"key": "<value>"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteFlagConfigScheduledChanges: speakeasy-default-delete-flag-config-scheduled-changes: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchFlagConfigScheduledChange: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" id: "<value>" requestBody: application/json: {"comment": "Optional comment describing the update to the scheduled changes", "instructions": [{"kind": "replaceScheduledChangesInstructions", "value": [{"kind": "turnFlagOff"}]}]} responses: "200": application/json: {"_id": "<id>", "_creationDate": 911039, "_maintainerId": "12ab3c45de678910abc12345", "_version": 1, "executionDate": 42994, "instructions": [{}, {"key": "<value>", "key1": "<value>", "key2": "<value>"}, {"key": "<value>", "key1": "<value>"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getWorkflows: speakeasy-default-get-workflows: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [], "totalCount": 1, "_links": {"key": {}, "key1": {}}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postWorkflow: "": parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"name": "Progressive rollout starting in two days", "description": "Turn flag on for 10% of customers each day", "stages": [{"name": "10% rollout on day 1", "conditions": [{"scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "kind": "schedule"}], "action": {"instructions": [{"kind": "turnFlagOn"}, {"kind": "updateFallthroughVariationOrRollout", "rolloutWeights": {"452f5fb5-7320-4ba3-81a1-8f4324f79d49": 90000, "fc15f6a4-05d3-4aa4-a997-446be461345d": 10000}}]}}]} responses: "201": application/json: {"_id": "12ab3c4d5ef1a2345bcde67f", "_version": 1, "_conflicts": [{"stageId": "12ab3c4d5ef1a2345bcde67f", "message": "<value>"}, {"stageId": "12ab3c4d5ef1a2345bcde67f", "message": "<value>"}, {"stageId": "12ab3c4d5ef1a2345bcde67f", "message": "<value>"}], "_creationDate": 131396, "_maintainerId": "12ab3c45de678910abc12345", "_links": {"key": {}, "key1": {}, "key2": {}}, "name": "Progressive rollout starting in two days", "description": "Turn flag on for 10% of customers each day", "kind": "custom", "stages": [{"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yum off considering apud", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}, {"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{}]}, "_execution": {"status": "completed"}}, {"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yum off considering apud", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}, {"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{}]}, "_execution": {"status": "completed"}}], "_execution": {"status": "completed"}, "templateKey": "example-workflow-template"} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getCustomWorkflow: speakeasy-default-get-custom-workflow: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" workflowId: "<value>" responses: "200": application/json: {"_id": "12ab3c4d5ef1a2345bcde67f", "_version": 1, "_conflicts": [{"stageId": "12ab3c4d5ef1a2345bcde67f", "message": "<value>"}], "_creationDate": 972052, "_maintainerId": "12ab3c45de678910abc12345", "_links": {"key": {}, "key1": {}, "key2": {}}, "name": "Progressive rollout starting in two days", "description": "Turn flag on for 10% of customers each day", "kind": "custom", "stages": [{"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "supposing likewise speedily so inconsequential", "notifyMemberIds": ["<value 1>", "<value 2>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}, {"_id": "<id>", "kind": "<value>"}, {"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": []}, "_execution": {"status": "completed"}}], "_execution": {"status": "completed"}, "templateKey": "example-workflow-template"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteWorkflow: speakeasy-default-delete-workflow: parameters: path: projectKey: "<value>" featureFlagKey: "<value>" environmentKey: "<value>" workflowId: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getLayers: speakeasy-default-get-layers: parameters: path: projectKey: "<value>" responses: "200": application/json: {"items": [{"key": "checkout-flow", "name": "Checkout Flow", "description": "The checkout flow for the application", "createdAt": 906300, "randomizationUnit": "user", "environments": {"key": {"reservations": [{"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}, {"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}]}, "key1": {"reservations": [{"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}, {"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}]}, "key2": {"reservations": [{"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}, {"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}]}}}], "totalCount": 257558, "_links": {"self": {"href": "/api/v2/projects/my-project/layers", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createLayer: speakeasy-default-create-layer: parameters: path: projectKey: "<value>" requestBody: application/json: {"key": "checkout-flow", "name": "Checkout Flow", "description": "unlike well fess usefully boiling"} responses: "201": application/json: {"key": "checkout-flow", "name": "Checkout Flow", "description": "The checkout flow for the application", "createdAt": 628654, "randomizationUnit": "user", "environments": {"key": {"reservations": [{"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}, {"experimentKey": "checkout-flow-experiment", "flagKey": "checkout-flow-flag", "reservationPercent": 20}]}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateLayer: "": parameters: path: projectKey: "<value>" layerKey: "<value>" requestBody: application/json: {"comment": "Example comment describing the update", "environmentKey": "production", "instructions": [{"experimentKey": "checkout-button-color", "kind": "updateExperimentReservation", "reservationPercent": 25}]} responses: "200": application/json: {"key": "checkout-flow", "name": "Checkout Flow", "description": "The checkout flow for the application", "createdAt": 593877, "randomizationUnit": "user", "environments": {"key": {"reservations": []}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMetricGroups: speakeasy-default-get-metric-groups: parameters: path: projectKey: "<value>" responses: "200": application/json: {"items": [{"_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab", "key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "_creationDate": 517780, "_lastModified": 196579, "maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}], "_version": 1, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 53623, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "experimentCount": 0}, {"_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab", "key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "_creationDate": 517780, "_lastModified": 196579, "maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}], "_version": 1, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 53623, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "experimentCount": 0}, {"_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab", "key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "_creationDate": 517780, "_lastModified": 196579, "maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}], "_version": 1, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 53623, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "experimentCount": 0}], "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createMetricGroup: speakeasy-default-create-metric-group: parameters: path: projectKey: "<value>" requestBody: application/json: {"key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "maintainerId": "569fdeadbeef1644facecafe", "tags": ["ops"], "metrics": [{"key": "metric-key-123abc", "nameInGroup": "Step 1"}]} responses: "201": application/json: {"_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab", "key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": ["ops"], "_creationDate": 169822, "_lastModified": 310167, "maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "metrics": [], "_version": 1, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 903560, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "experimentCount": 0} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMetricGroup: speakeasy-default-get-metric-group: parameters: path: projectKey: "<value>" metricGroupKey: "<value>" responses: "200": application/json: {"_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab", "key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "tags": ["ops"], "_creationDate": 420953, "_lastModified": 14663, "maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "metrics": [{"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}, {"key": "metric-key-123abc", "_versionId": "version-id-123abc", "name": "Example metric", "kind": "custom", "isNumeric": true, "unitAggregationType": "sum", "_links": {"self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "nameInGroup": "Step 1", "randomizationUnits": ["user"]}], "_version": 1, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 346478, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}, {"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 346478, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}, {"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 346478, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "experimentCount": 0} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteMetricGroup: speakeasy-default-delete-metric-group: parameters: path: projectKey: "<value>" metricGroupKey: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchMetricGroup: "": parameters: path: projectKey: "<value>" metricGroupKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/name", "value": "my-updated-metric-group"}] responses: "200": application/json: {"_id": "bc3e5be1-02d2-40c7-9926-26d0aacd7aab", "key": "metric-group-key-123abc", "name": "My metric group", "kind": "funnel", "description": "Description of the metric group", "_links": {"parent": {"href": "/api/v2/projects/my-project", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/metric-groups/my-metric-group", "type": "application/json"}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "tags": ["ops"], "_creationDate": 347509, "_lastModified": 94767, "maintainer": {"member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "team": {"customRoleKeys": ["access-to-test-projects"], "key": "team-key-123abc", "name": "QA Team"}}, "metrics": [], "_version": 1, "experiments": [{"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 595780, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}, {"key": "experiment-key-123abc", "name": "Example experiment", "environmentId": "1234a56b7c89d012345e678f", "environmentKey": "production", "creationDate": 595780, "_links": {"parent": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/projects/my-project/environments/my-environment/experiments/example-experiment", "type": "application/json"}}}], "experimentCount": 0} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getAllReleasePipelines: speakeasy-default-get-all-release-pipelines: parameters: path: projectKey: "<value>" responses: "200": application/json: {"items": [], "totalCount": 1} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} postReleasePipeline: speakeasy-default-post-release-pipeline: parameters: path: projectKey: "<value>" requestBody: application/json: {"description": "Standard pipeline to roll out to production", "key": "standard-pipeline", "name": "Standard Pipeline", "phases": [], "tags": ["example-tag"]} responses: "201": application/json: {"createdAt": "1684262711507", "description": "Standard pipeline to roll out to production", "key": "standard-pipeline", "name": "Standard Pipeline", "phases": [{"id": "1234a56b7c89d012345e678f", "audiences": [], "name": "Phase 1 - Testing"}, {"id": "1234a56b7c89d012345e678f", "audiences": [], "name": "Phase 1 - Testing"}, {"id": "1234a56b7c89d012345e678f", "audiences": [], "name": "Phase 1 - Testing"}], "tags": ["example-tag"], "_version": 1, "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_isLegacy": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} getReleasePipelineByKey: speakeasy-default-get-release-pipeline-by-key: parameters: path: projectKey: "<value>" pipelineKey: "<value>" responses: "200": application/json: {"createdAt": "1684262711507", "description": "Standard pipeline to roll out to production", "key": "standard-pipeline", "name": "Standard Pipeline", "phases": [{"id": "1234a56b7c89d012345e678f", "audiences": [{"environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "key": "environment-key-123abc", "name": "My Environment", "color": "F5A623"}, "name": "Phase 1 - Testing", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}, "segmentKeys": ["segment-key-123abc"]}], "name": "Phase 1 - Testing"}], "tags": ["example-tag"], "_version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_isLegacy": true} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} putReleasePipeline: speakeasy-default-put-release-pipeline: parameters: path: projectKey: "<value>" pipelineKey: "<value>" requestBody: application/json: {"description": "Standard pipeline to roll out to production", "name": "Standard Pipeline", "phases": [{"audiences": [{"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}, {"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}, {"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}], "name": "Phase 1 - Testing"}, {"audiences": [{"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}, {"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}, {"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}], "name": "Phase 1 - Testing"}, {"audiences": [{"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}, {"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}, {"environmentKey": "<value>", "name": "<value>", "configuration": {"releaseStrategy": "<value>", "requireApproval": true, "notifyMemberIds": ["1234a56b7c89d012345e678f"], "notifyTeamKeys": ["example-reviewer-team"], "releaseGuardianConfiguration": {"monitoringWindowMilliseconds": 60000, "rolloutWeight": 50, "rollbackOnRegression": true, "randomizationUnit": "user"}}}], "name": "Phase 1 - Testing"}], "tags": ["example-tag"]} responses: "200": application/json: {"createdAt": "1684262711507", "description": "Standard pipeline to roll out to production", "key": "standard-pipeline", "name": "Standard Pipeline", "phases": [{"id": "1234a56b7c89d012345e678f", "audiences": [], "name": "Phase 1 - Testing"}], "tags": ["example-tag"], "_version": 1, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_isLegacy": true} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} deleteReleasePipeline: speakeasy-default-delete-release-pipeline: parameters: path: projectKey: "<value>" pipelineKey: "<value>" responses: "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getAllReleaseProgressionsForReleasePipeline: speakeasy-default-get-all-release-progressions-for-release-pipeline: parameters: path: projectKey: "<value>" pipelineKey: "<value>" responses: "200": application/json: {"activeCount": 3, "completedCount": 1, "items": [], "phases": [{"_id": "1234a56b7c89d012345e678f", "name": "Phase 1 - Testing", "releaseCount": 2}], "totalCount": 8, "_links": {"key": {}, "key1": {}, "key2": {}}} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getCustomRoles: speakeasy-default-get-custom-roles: responses: "200": application/json: {"items": [{"_id": "1234a56b7c89d012345e678f", "_links": {"key": {}, "key1": {}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "description": "This custom role is just an example", "key": "example-custom-role", "name": "Example custom role", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "_presetStatements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}, {"_id": "1234a56b7c89d012345e678f", "_links": {"key": {}, "key1": {}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "description": "This custom role is just an example", "key": "example-custom-role", "name": "Example custom role", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "_presetStatements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postCustomRole: "": requestBody: application/json: {"name": "Ops team", "key": "role-key-123abc", "description": "An example role for members of the ops team", "policy": [{"resources": ["proj/*:env/production:flag/*"], "actions": ["updateOn"], "effect": "allow"}], "basePermissions": "reader"} responses: "201": application/json: {"_id": "1234a56b7c89d012345e678f", "_links": {}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "description": "This custom role is just an example", "key": "example-custom-role", "name": "Example custom role", "policy": [], "_presetStatements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getCustomRole: speakeasy-default-get-custom-role: parameters: path: customRoleKey: "<value>" responses: "200": application/json: {"_id": "1234a56b7c89d012345e678f", "_links": {"key": {}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "description": "This custom role is just an example", "key": "example-custom-role", "name": "Example custom role", "policy": [], "_presetStatements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteCustomRole: speakeasy-default-delete-custom-role: parameters: path: customRoleKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchCustomRole: "": parameters: path: customRoleKey: "<value>" requestBody: application/json: {"patch": [{"op": "add", "path": "/policy/0", "value": {"actions": ["updateOn"], "effect": "allow", "resources": ["proj/*:env/qa:flag/*"]}}]} responses: "200": application/json: {"_id": "1234a56b7c89d012345e678f", "_links": {"key": {}}, "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "description": "This custom role is just an example", "key": "example-custom-role", "name": "Example custom role", "policy": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "_presetStatements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTeams: speakeasy-default-get-teams: responses: "200": application/json: {"items": [], "_links": {"self": {"href": "/api/v2/teams?expand=maintainers%2Cmembers%2Croles%2Cprojects&limit=20", "type": "application/json"}}, "totalCount": 1} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postTeam: "": requestBody: application/json: {"customRoleKeys": ["example-role1", "example-role2"], "description": "An example team", "key": "team-key-123abc", "memberIDs": ["12ab3c45de678910fgh12345"], "name": "Example team"} responses: "201": application/json: {"description": "Description for this team.", "key": "team-key-123abc", "name": "Example team", "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}, "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}, "_version": 3, "_idpSynced": true, "roles": {"totalCount": 1, "items": [{"key": "role-key-123abc", "name": "Example role", "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}}], "_links": {"self": {"href": "/api/v2/teams/example-team/roles?limit=25", "type": "application/json"}}}, "members": {"totalCount": 15}, "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}, "maintainers": {"totalCount": 1, "items": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com"}], "_links": {"self": {"href": "/api/v2/teams/example-team/maintainers?limit=5", "type": "application/json"}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTeam: speakeasy-default-get-team: parameters: path: teamKey: "<value>" responses: "200": application/json: {"description": "Description for this team.", "key": "team-key-123abc", "name": "Example team", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}, "_version": 3, "_idpSynced": true, "roles": {"totalCount": 1, "items": [{"key": "role-key-123abc", "name": "Example role", "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}}], "_links": {"self": {"href": "/api/v2/teams/example-team/roles?limit=25", "type": "application/json"}}}, "members": {"totalCount": 15}, "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}, "maintainers": {"totalCount": 1, "items": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com"}], "_links": {"self": {"href": "/api/v2/teams/example-team/maintainers?limit=5", "type": "application/json"}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteTeam: speakeasy-default-delete-team: parameters: path: teamKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchTeam: "": parameters: path: teamKey: "<value>" requestBody: application/json: {"comment": "Optional comment about the update", "instructions": [{"kind": "updateDescription", "value": "New description for the team"}]} responses: "200": application/json: {"description": "Description for this team.", "key": "team-key-123abc", "name": "Example team", "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": []}, "_links": {"parent": {"href": "/api/v2/teams", "type": "application/json"}, "roles": {"href": "/api/v2/teams/example-team/roles", "type": "application/json"}, "self": {"href": "/api/v2/teams/example-team", "type": "application/json"}}, "_version": 3, "_idpSynced": true, "roles": {"totalCount": 1, "items": [{"key": "role-key-123abc", "name": "Example role", "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}}], "_links": {"self": {"href": "/api/v2/teams/example-team/roles?limit=25", "type": "application/json"}}}, "members": {"totalCount": 15}, "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}, "maintainers": {"totalCount": 1, "items": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com"}], "_links": {"self": {"href": "/api/v2/teams/example-team/maintainers?limit=5", "type": "application/json"}}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTeamMaintainers: speakeasy-default-get-team-maintainers: parameters: path: teamKey: "<value>" responses: "200": application/json: {"totalCount": 1, "items": [{"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "reader", "email": "ariel@acme.com"}], "_links": {"self": {"href": "/api/v2/teams/example-team/maintainers?limit=5", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postTeamMembers: speakeasy-default-post-team-members: parameters: path: teamKey: "<value>" requestBody: multipart/form-data: {} responses: "201": application/json: {"items": [{"status": "error", "value": "new-team-member@acme.com"}, {"status": "error", "value": "new-team-member@acme.com"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTeamRoles: speakeasy-default-get-team-roles: parameters: path: teamKey: "<value>" responses: "200": application/json: {"totalCount": 1, "items": [{"key": "role-key-123abc", "name": "Example role", "projects": {"totalCount": 1, "items": [{"_id": "57be1db38b75bf0772d11383", "_links": {"environments": {"href": "/api/v2/projects/example-project/environments", "type": "application/json"}, "self": {"href": "/api/v2/projects/example-project", "type": "application/json"}}, "key": "project-key-123abc", "name": "Example project"}]}}], "_links": {"self": {"href": "/api/v2/teams/example-team/roles?limit=25", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "405": application/json: {"code": "method_not_allowed", "message": "Method not allowed"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchTeams: "": requestBody: application/json: {"comment": "Optional comment about the update", "instructions": [{"kind": "addMembersToTeams", "memberIDs": ["1234a56b7c89d012345e678f"], "teamKeys": ["example-team-1", "example-team-2"]}]} responses: "200": application/json: {"memberIDs": ["1234a56b7c89d012345e678f"], "teamKeys": ["example-team-1"], "errors": [{"example-team-2": "example failure message"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getWorkflowTemplates: speakeasy-default-get-workflow-templates: responses: "200": application/json: {"items": [{"_id": "<id>", "_key": "<key>", "_creationDate": 326003, "_ownerId": "<id>", "_maintainerId": "<id>", "_links": {"key": {}}, "stages": [{"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yahoo competent gadzooks fooey cease phooey highly vice ownership", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>"}, {}]}, "_execution": {"status": "completed"}}, {"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yahoo competent gadzooks fooey cease phooey highly vice ownership", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>"}, {}]}, "_execution": {"status": "completed"}}]}, {"_id": "<id>", "_key": "<key>", "_creationDate": 326003, "_ownerId": "<id>", "_maintainerId": "<id>", "_links": {"key": {}}, "stages": [{"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yahoo competent gadzooks fooey cease phooey highly vice ownership", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>"}, {}]}, "_execution": {"status": "completed"}}, {"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yahoo competent gadzooks fooey cease phooey highly vice ownership", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>"}, {}]}, "_execution": {"status": "completed"}}]}, {"_id": "<id>", "_key": "<key>", "_creationDate": 326003, "_ownerId": "<id>", "_maintainerId": "<id>", "_links": {"key": {}}, "stages": [{"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yahoo competent gadzooks fooey cease phooey highly vice ownership", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>"}, {}]}, "_execution": {"status": "completed"}}, {"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "yahoo competent gadzooks fooey cease phooey highly vice ownership", "notifyMemberIds": ["<value 1>", "<value 2>", "<value 3>"], "allReviews": [{"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>"}, {}]}, "_execution": {"status": "completed"}}]}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createWorkflowTemplate: speakeasy-default-create-workflow-template: requestBody: application/json: {"key": "<key>", "stages": [{"name": "10% rollout on day 1", "executeConditionsInSequence": true, "conditions": [{"scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "kind": "schedule"}], "action": {"instructions": "{\"instructions\": [{ \"kind\": \"turnFlagOn\"}]}"}}]} responses: "201": application/json: {"_id": "<id>", "_key": "<key>", "_creationDate": 131706, "_ownerId": "<id>", "_maintainerId": "<id>", "_links": {"key": {}}, "stages": [{"_id": "12ab3c45de678910abc12345", "name": "10% rollout on day 1", "conditions": [{"_id": "<id>", "kind": "schedule", "_execution": {"status": "completed"}, "scheduleKind": "relative", "waitDuration": 2, "waitDurationUnit": "calendarDay", "description": "superior pish amidst during whose lazily like amongst source mentor", "notifyMemberIds": [], "allReviews": [{"_id": "<id>", "kind": "<value>"}, {"_id": "<id>", "kind": "<value>"}, {"_id": "<id>", "kind": "<value>"}], "reviewStatus": "<value>"}], "action": {"kind": "patch", "instructions": [{"key": "<value>", "key1": "<value>", "key2": "<value>"}]}, "_execution": {"status": "completed"}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteWorkflowTemplate: speakeasy-default-delete-workflow-template: parameters: path: templateKey: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTokens: speakeasy-default-get-tokens: responses: "200": application/json: {"items": [{"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 712119, "lastModified": 573594, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603}, {"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 712119, "lastModified": 573594, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603}, {"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 712119, "lastModified": 573594, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postToken: "": requestBody: application/json: {"role": "reader"} responses: "201": application/json: {"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 245702, "lastModified": 336431, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getToken: speakeasy-default-get-token: parameters: path: id: "<value>" responses: "200": application/json: {"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 701833, "lastModified": 879905, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteToken: speakeasy-default-delete-token: parameters: path: id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchToken: "": parameters: path: id: "<value>" requestBody: application/json: [{"op": "replace", "path": "/role", "value": "writer"}] responses: "200": application/json: {"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 59086, "lastModified": 642915, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "422": application/json: {"code": "patch_failed", "message": "Unprocessable entity. Could not apply patch."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} resetToken: speakeasy-default-reset-token: parameters: path: id: "<value>" responses: "200": application/json: {"_id": "<id>", "ownerId": "<id>", "memberId": "<id>", "_member": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "name": "Example reader token", "description": "A reader token used in testing and examples", "creationDate": 458784, "lastModified": 974272, "customRoleIds": [], "inlineRole": [], "role": "reader", "token": "1234", "serviceToken": false, "_links": {"parent": {"href": "/api/v2/tokens", "type": "application/json"}, "self": {"href": "/api/v2/tokens/61095542756dba551110ae21", "type": "application/json"}}, "defaultApiVersion": 20220603} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getDataExportEventsUsage: speakeasy-default-get-data-export-events-usage: responses: "200": application/json: {"series": [{"time": 1676332800000, "value": 92}], "_links": {"key": "<value>"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} "503": application/json: {"code": "service_unavailable", "message": "Requested service unavailable"} getEvaluationsUsage: speakeasy-default-get-evaluations-usage: parameters: path: projectKey: "<value>" environmentKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"_links": {}, "metadata": [{}, {"key": "<value>", "key1": "<value>", "key2": "<value>"}, {"key": "<value>", "key1": "<value>", "key2": "<value>"}], "series": [{"0": 11, "1": 15, "time": 1677888000000}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getEventsUsage: speakeasy-default-get-events-usage: parameters: path: type: "<value>" responses: "200": application/json: {"_links": {"key": "<value>"}, "metadata": [{"key": "<value>"}, {"key": "<value>", "key1": "<value>"}, {}], "series": [{"0": 11, "1": 15, "time": 1677888000000}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExperimentationKeysUsage: speakeasy-default-get-experimentation-keys-usage: responses: "200": application/json: {"series": [], "_links": {"key": "<value>"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} "503": application/json: {"code": "service_unavailable", "message": "Requested service unavailable"} getExperimentationUnitsUsage: speakeasy-default-get-experimentation-units-usage: responses: "200": application/json: {"series": [{"time": 1676332800000, "value": 92}, {"time": 1676332800000, "value": 92}], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} "503": application/json: {"code": "service_unavailable", "message": "Requested service unavailable"} getMauUsage: speakeasy-default-get-mau-usage: responses: "200": application/json: {"_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "metadata": [{}, {"key": "<value>"}], "series": [{"0": 11, "1": 15, "time": 1677888000000}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMauUsageByCategory: speakeasy-default-get-mau-usage-by-category: responses: "200": application/json: {"_links": {"key": "<value>", "key1": "<value>"}, "metadata": [{"key": "<value>", "key1": "<value>", "key2": "<value>"}, {"key": "<value>"}], "series": [{"0": 11, "1": 15, "time": 1677888000000}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getMauSdksByType: speakeasy-default-get-mau-sdks-by-type: responses: "200": application/json: {"_links": {"key": "<value>", "key1": "<value>"}, "sdks": ["Android", "Java", "Node.js"]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getServiceConnectionUsage: speakeasy-default-get-service-connection-usage: responses: "200": application/json: {"series": [{"time": 1676332800000, "value": 92}, {"time": 1676332800000, "value": 92}], "_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} "503": application/json: {"code": "service_unavailable", "message": "Requested service unavailable"} getStreamUsage: speakeasy-default-get-stream-usage: parameters: path: source: "<value>" responses: "200": application/json: {"_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "metadata": [{"key": "<value>"}, {"key": "<value>"}], "series": [{"0": 11, "1": 15, "time": 1677888000000}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getStreamUsageBySdkVersion: speakeasy-default-get-stream-usage-by-SDK-version: parameters: path: source: "<value>" responses: "200": application/json: {"_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "metadata": [], "series": [{"0": 11, "1": 15, "time": 1677888000000}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getStreamUsageSdkversion: speakeasy-default-get-stream-usage-sdkversion: parameters: path: source: "<value>" responses: "200": application/json: {"_links": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "sdkVersions": [{"sdk": "Android", "version": "3.1.2"}, {"sdk": "Android", "version": "3.1.5"}, {"sdk": "C", "version": "2.4.6"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getUserAttributeNames: speakeasy-default-get-user-attribute-names: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"private": ["SSN", "credit_card_number"], "custom": ["Age", "FavoriteFood", "FavoriteColor"], "standard": ["key", "ip", "firstName", "lastName", "country", "anonymous"]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} getSearchUsers: speakeasy-default-get-search-users: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"next": {"href": "/api/v2/user-search/my-project/my-environment?after=1647993600000&limit=20&searchAfter=my-user&sort=userKey", "type": "application/json"}, "self": {"href": "/api/v2/user-search/my-project/my-environment?after=1647993600000&limit=20&sort=userKey", "type": "application/json"}}, "totalCount": 245, "items": [{"lastPing": "2022-06-28T23:21:29.176609596Z", "user": {"key": "user-key-123abc", "secondary": "2398127", "ip": "10.10.10.10", "country": "United States", "email": "sandy@example.com", "firstName": "Sandy", "lastName": "Smith", "avatar": "http://example.com/avatar.png", "name": "Sandy Smith", "anonymous": false}, "sortValue": "user-key-123abc", "_links": {"parent": {"href": "/api/v2/users/my-project/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/users/my-project/my-environment/my-user", "type": "application/json"}, "settings": {"href": "/api/v2/users/my-project/my-environment/my-user/flags", "type": "text/html"}, "site": {"href": "/my-project/my-environment/users/my-user", "type": "text/html"}}, "_access": {"denied": [], "allowed": []}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getUsers: speakeasy-default-get-users: parameters: path: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"_links": {"next": {"href": "/api/v2/users/my-project/my-environment?after=1647993600000&limit=20&searchAfter=my-user", "type": "application/json"}, "self": {"href": "/api/v2/users/my-project/my-environment?after=1647993600000&limit=20", "type": "application/json"}}, "totalCount": 245, "items": [{"lastPing": "2022-06-28T23:21:29.176609596Z", "user": {"key": "user-key-123abc", "secondary": "2398127", "ip": "10.10.10.10", "country": "United States", "email": "sandy@example.com", "firstName": "Sandy", "lastName": "Smith", "avatar": "http://example.com/avatar.png", "name": "Sandy Smith", "anonymous": false}, "sortValue": "user-key-123abc", "_links": {"parent": {"href": "/api/v2/users/my-project/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/users/my-project/my-environment/my-user", "type": "application/json"}, "settings": {"href": "/api/v2/users/my-project/my-environment/my-user/flags", "type": "text/html"}, "site": {"href": "/my-project/my-environment/users/my-user", "type": "text/html"}}, "_access": {"denied": [], "allowed": []}}, {"lastPing": "2022-06-28T23:21:29.176609596Z", "user": {"key": "user-key-123abc", "secondary": "2398127", "ip": "10.10.10.10", "country": "United States", "email": "sandy@example.com", "firstName": "Sandy", "lastName": "Smith", "avatar": "http://example.com/avatar.png", "name": "Sandy Smith", "anonymous": false}, "sortValue": "user-key-123abc", "_links": {"parent": {"href": "/api/v2/users/my-project/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/users/my-project/my-environment/my-user", "type": "application/json"}, "settings": {"href": "/api/v2/users/my-project/my-environment/my-user/flags", "type": "text/html"}, "site": {"href": "/my-project/my-environment/users/my-user", "type": "text/html"}}, "_access": {"denied": [], "allowed": []}}, {"lastPing": "2022-06-28T23:21:29.176609596Z", "user": {"key": "user-key-123abc", "secondary": "2398127", "ip": "10.10.10.10", "country": "United States", "email": "sandy@example.com", "firstName": "Sandy", "lastName": "Smith", "avatar": "http://example.com/avatar.png", "name": "Sandy Smith", "anonymous": false}, "sortValue": "user-key-123abc", "_links": {"parent": {"href": "/api/v2/users/my-project/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/users/my-project/my-environment/my-user", "type": "application/json"}, "settings": {"href": "/api/v2/users/my-project/my-environment/my-user/flags", "type": "text/html"}, "site": {"href": "/my-project/my-environment/users/my-user", "type": "text/html"}}, "_access": {"denied": [], "allowed": []}}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getUser: speakeasy-default-get-user: parameters: path: projectKey: "<value>" environmentKey: "<value>" userKey: "<value>" responses: "200": application/json: {"lastPing": "2022-06-28T23:21:29.176609596Z", "user": {"key": "user-key-123abc", "secondary": "2398127", "ip": "10.10.10.10", "country": "United States", "email": "sandy@example.com", "firstName": "Sandy", "lastName": "Smith", "avatar": "http://example.com/avatar.png", "name": "Sandy Smith", "anonymous": false}, "sortValue": "user-key-123abc", "_links": {"parent": {"href": "/api/v2/users/my-project/my-environment", "type": "application/json"}, "self": {"href": "/api/v2/users/my-project/my-environment/my-user", "type": "application/json"}, "settings": {"href": "/api/v2/users/my-project/my-environment/my-user/flags", "type": "text/html"}, "site": {"href": "/my-project/my-environment/users/my-user", "type": "text/html"}}, "_access": {"denied": [], "allowed": []}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteUser: speakeasy-default-delete-user: parameters: path: projectKey: "<value>" environmentKey: "<value>" userKey: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getUserFlagSettings: speakeasy-default-get-user-flag-settings: parameters: path: projectKey: "<value>" environmentKey: "<value>" userKey: "<value>" responses: "200": application/json: {"items": {"alternate.page": {"_links": {"self": {"href": "/api/v2/users/lacuna/production/Abbie_Braun/flags/alternate.page", "type": "application/json"}}, "_value": false, "setting": "null"}, "sort.order": {"_links": {"self": {"href": "/api/v2/users/lacuna/production/Abbie_Braun/flags/sort.order", "type": "application/json"}}, "_value": true, "setting": "null"}}, "_links": {"self": {"href": "/api/v2/users/lacuna/production/Abbie_Braun/flags", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getUserFlagSetting: speakeasy-default-get-user-flag-setting: parameters: path: projectKey: "<value>" environmentKey: "<value>" userKey: "<value>" featureFlagKey: "<value>" responses: "200": application/json: {"_links": {"sort.order": {"href": "/api/v2/users/lacuna/production/Abbie_Braun/flags/sort.order", "type": "application/json"}}, "_value": "true", "setting": "null", "reason": {"kind": "OFF", "ruleIndex": 3, "ruleID": "1234567890", "prerequisiteKey": "someotherflagkey", "inExperiment": true, "errorKind": "USER_NOT_SPECIFIED"}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} putFlagSetting: speakeasy-default-put-flag-setting: parameters: path: projectKey: "<value>" environmentKey: "<value>" userKey: "<value>" featureFlagKey: "<value>" requestBody: application/json: {"setting": "existing_variation_value_to_use", "comment": "make sure this context experiences a specific variation"} responses: "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getExpiringFlagsForUser: speakeasy-default-get-expiring-flags-for-user: parameters: path: projectKey: "<value>" userKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 767894, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 767894, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 767894, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchExpiringFlagsForUser: speakeasy-default-patch-expiring-flags-for-user: parameters: path: projectKey: "<value>" userKey: "<value>" environmentKey: "<value>" requestBody: application/json: {"comment": "optional comment", "instructions": [{"kind": "addExpireUserTargetDate", "flagKey": "sample-flag-key", "variationId": "ce12d345-a1b2-4fb5-a123-ab123d4d5f5d", "value": 1653469200000, "version": 1}]} responses: "200": application/json: {"items": [{"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 831622, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 831622, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}, {"_id": "12ab3c45de678910fgh12345", "_version": 1, "expirationDate": 831622, "userKey": "example-user-key", "targetType": "included", "variationId": "ce67d625-a8b9-4fb5-a344-ab909d9d4f4d", "_resourceId": {}}], "totalInstructions": 1, "successfulInstructions": 1, "failedInstructions": 0, "errors": [{"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}, {"instructionIndex": 1, "message": "example error message"}]} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getAllWebhooks: speakeasy-default-get-all-webhooks: responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "items": [{"_links": {"key": {}}, "_id": "57be1db38b75bf0772d11384", "name": "Example hook", "url": "http://www.example.com", "secret": "frobozz", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["examples"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} postWebhook: "": requestBody: application/json: {"name": "apidocs test webhook", "url": "https://example.com", "statements": [{"resources": ["proj/test"], "actions": ["*"], "effect": "allow"}], "sign": false, "on": true, "tags": ["example-tag"]} responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "57be1db38b75bf0772d11384", "name": "Example hook", "url": "http://www.example.com", "secret": "frobozz", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["examples"], "_access": {"denied": [], "allowed": []}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getWebhook: speakeasy-default-get-webhook: parameters: path: id: "<value>" responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "57be1db38b75bf0772d11384", "name": "Example hook", "url": "http://www.example.com", "secret": "frobozz", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}, {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["examples"], "_access": {"denied": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}, {"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteWebhook: speakeasy-default-delete-webhook: parameters: path: id: "<value>" responses: "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchWebhook: "": parameters: path: id: "<value>" requestBody: application/json: [{"op": "replace", "path": "/on", "value": false}] responses: "200": application/json: {"_links": {"key": {}, "key1": {}, "key2": {}}, "_id": "57be1db38b75bf0772d11384", "name": "Example hook", "url": "http://www.example.com", "secret": "frobozz", "statements": [{"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}], "on": true, "tags": ["examples"], "_access": {"denied": [], "allowed": [{"action": "<value>", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "actions": ["*"], "effect": "allow"}}]}} "400": application/json: {"code": "invalid_request", "message": "Invalid request body"} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getTags: speakeasy-default-get-tags: responses: "200": application/json: {"items": ["ops", "pro"], "_links": {"key": {"href": "href", "type": "type"}}, "totalCount": 103} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getAIConfigs: "": parameters: path: projectKey: "default" header: LD-API-Version: "beta" responses: "200": application/json: {"_links": {"first": {"href": "href", "type": "type"}, "last": {"href": "href", "type": "type"}, "next": {"href": "href", "type": "type"}, "prev": {"href": "href", "type": "type"}, "self": {"href": "href", "type": "type"}}, "items": [{"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"key": "<key>", "name": "<value>", "kind": "kind"}, "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7}, {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"_id": "<id>", "email": "Rory_Green@hotmail.com", "role": "<value>", "kind": "kind"}, "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7}], "totalCount": 9} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} speakeasy-default-get-AI-configs: parameters: path: projectKey: "default" header: LD-API-Version: "beta" responses: "200": application/json: {"_links": {"first": {"href": "href", "type": "type"}, "last": {"href": "href", "type": "type"}, "next": {"href": "href", "type": "type"}, "prev": {"href": "href", "type": "type"}, "self": {"href": "href", "type": "type"}}, "items": [{"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"key": "<key>", "name": "<value>", "kind": "kind"}, "mode": "completion", "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7}, {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"_id": "<id>", "email": "Rory_Green@hotmail.com", "role": "<value>", "kind": "kind"}, "mode": "completion", "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7}], "totalCount": 9} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} postAIConfig: speakeasy-default-post-AI-config: parameters: path: projectKey: "<value>" header: LD-API-Version: "beta" requestBody: application/json: {"description": "", "key": "key", "maintainerId": "maintainerId", "maintainerTeamKey": "maintainerTeamKey", "mode": "completion", "name": "name", "tags": ["tags", "tags"]} responses: "201": application/json: {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"key": "<key>", "name": "<value>", "kind": "kind"}, "mode": "completion", "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getAIConfig: speakeasy-default-get-AI-config: parameters: path: projectKey: "<value>" configKey: "<value>" header: LD-API-Version: "beta" responses: "200": application/json: {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"key": "<key>", "name": "<value>", "kind": "kind"}, "mode": "completion", "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} deleteAIConfig: "": parameters: path: projectKey: "default" configKey: "<value>" header: LD-API-Version: "beta" responses: "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} speakeasy-default-delete-AI-config: parameters: path: projectKey: "default" configKey: "<value>" header: LD-API-Version: "beta" responses: "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} patchAIConfig: speakeasy-default-patch-AI-config: parameters: path: projectKey: "<value>" configKey: "<value>" header: LD-API-Version: "beta" requestBody: application/json: {"description": "description", "maintainerId": "maintainerId", "maintainerTeamKey": "maintainerTeamKey", "name": "name", "tags": ["tags", "tags"]} responses: "200": application/json: {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"self": {"href": "href", "type": "type"}, "parent": {"href": "href", "type": "type"}}, "description": "description", "key": "key", "_maintainer": {"key": "<key>", "name": "<value>", "kind": "kind"}, "mode": "completion", "name": "name", "tags": ["tags", "tags"], "version": 0, "variations": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "createdAt": 2, "updatedAt": 7} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} postAIConfigVariation: speakeasy-default-post-AI-config-variation: parameters: path: projectKey: "<value>" configKey: "<value>" header: LD-API-Version: "beta" requestBody: application/json: {"comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "name": "name", "modelConfigKey": "modelConfigKey"} responses: "201": application/json: {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getAIConfigVariation: "": parameters: path: projectKey: "default" configKey: "default" variationKey: "default" header: LD-API-Version: "beta" responses: "200": application/json: {"items": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "key": "key", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "totalCount": 0} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} speakeasy-default-get-AI-config-variation: parameters: path: projectKey: "default" configKey: "default" variationKey: "default" header: LD-API-Version: "beta" responses: "200": application/json: {"items": [{"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}, {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5}], "totalCount": 0} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} deleteAIConfigVariation: speakeasy-default-delete-AI-config-variation: parameters: path: projectKey: "<value>" configKey: "<value>" variationKey: "<value>" header: LD-API-Version: "beta" responses: "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} patchAIConfigVariation: speakeasy-default-patch-AI-config-variation: parameters: path: projectKey: "<value>" configKey: "<value>" variationKey: "<value>" header: LD-API-Version: "beta" requestBody: application/json: {"comment": "comment", "description": "description", "instructions": "instructions", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "published": true, "state": "state"} responses: "200": application/json: {"_links": {"parent": {"href": "href", "type": "type"}}, "color": "color", "comment": "comment", "description": "description", "instructions": "instructions", "key": "key", "_id": "_id", "messages": [{"content": "content", "role": "role"}, {"content": "content", "role": "role"}], "model": {}, "modelConfigKey": "modelConfigKey", "name": "name", "createdAt": 6, "version": 1, "state": "state", "_archivedAt": 5, "_publishedAt": 5} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getAIConfigMetrics: speakeasy-default-get-AI-config-metrics: parameters: path: projectKey: "<value>" configKey: "<value>" query: from: 291253 to: 124301 env: "<value>" header: LD-API-Version: "beta" responses: "200": application/json: {"inputTokens": 0, "outputTokens": 6, "totalTokens": 1, "generationCount": 5, "generationSuccessCount": 5, "generationErrorCount": 2, "thumbsUp": 7, "thumbsDown": 9, "durationMs": 3, "timeToFirstTokenMs": 2, "satisfactionRating": 0.4145608, "inputCost": 7.386281948385884, "outputCost": 1.2315135367772556} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getAIConfigMetricsByVariation: speakeasy-default-get-AI-config-metrics-by-variation: parameters: path: projectKey: "<value>" configKey: "<value>" query: from: 418619 to: 272609 env: "<value>" header: LD-API-Version: "beta" responses: "200": application/json: [{"variationKey": "variationKey", "metrics": {"inputTokens": 0, "outputTokens": 6, "totalTokens": 1, "generationCount": 5, "generationSuccessCount": 5, "generationErrorCount": 2, "thumbsUp": 7, "thumbsDown": 9, "durationMs": 3, "timeToFirstTokenMs": 2, "satisfactionRating": 0.4145608, "inputCost": 7.386281948385884, "outputCost": 1.2315135367772556}}] "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} postRestrictedModels: "": parameters: path: projectKey: "default" header: LD-API-Version: "beta" requestBody: application/json: {"keys": ["keys", "keys"]} responses: "200": application/json: {"successes": ["successes", "successes"], "errors": [{"key": "key", "message": "message", "code": 0}, {"key": "key", "message": "message", "code": 0}]} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} deleteRestrictedModels: "": parameters: path: projectKey: "default" header: LD-API-Version: "beta" requestBody: application/json: {"keys": ["keys", "keys"]} responses: "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} listModelConfigs: "": parameters: path: projectKey: "default" header: LD-API-Version: "beta" responses: "200": application/json: [{"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "name": "name", "key": "key", "id": "id", "icon": "icon", "provider": "provider", "global": true, "params": {}, "customParams": {}, "tags": ["tags", "tags"], "version": 0, "costPerInputToken": 6.027456183070403, "costPerOutputToken": 1.4658129805029452, "isRestricted": true}] "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} postModelConfig: "": parameters: path: projectKey: "default" header: LD-API-Version: "beta" requestBody: application/json: {"name": "name", "key": "key", "id": "id", "icon": "icon", "provider": "provider", "params": {}, "customParams": {}, "tags": ["tags", "tags"], "costPerInputToken": 0.8008281904610115, "costPerOutputToken": 6.027456183070403} responses: "200": application/json: {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "name": "name", "key": "key", "id": "id", "icon": "icon", "provider": "provider", "global": true, "params": {}, "customParams": {}, "tags": ["tags", "tags"], "version": 0, "costPerInputToken": 6.027456183070403, "costPerOutputToken": 1.4658129805029452, "isRestricted": true} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getModelConfig: "": parameters: path: projectKey: "default" modelConfigKey: "default" header: LD-API-Version: "beta" responses: "200": application/json: {"_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "name": "name", "key": "key", "id": "id", "icon": "icon", "provider": "provider", "global": true, "params": {}, "customParams": {}, "tags": ["tags", "tags"], "version": 0, "costPerInputToken": 6.027456183070403, "costPerOutputToken": 1.4658129805029452, "isRestricted": true} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} deleteModelConfig: "": parameters: path: projectKey: "default" modelConfigKey: "<value>" header: LD-API-Version: "beta" responses: "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getAnnouncementsPublic: "": parameters: query: status: "active" responses: "200": application/json: {"items": [{"_id": "1234567890", "isDismissible": true, "title": "System Maintenance Notice", "message": "**Important Update:**\n\nPlease be aware of the upcoming maintenance scheduled for *October 31st, 2024*. The system will be unavailable from **12:00 AM** to **4:00 AM**.", "startTime": 1731439812, "endTime": 1731439880, "severity": "info", "_status": "active", "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"parent": {"href": "href", "type": "type"}}}, {"_id": "1234567890", "isDismissible": true, "title": "System Maintenance Notice", "message": "**Important Update:**\n\nPlease be aware of the upcoming maintenance scheduled for *October 31st, 2024*. The system will be unavailable from **12:00 AM** to **4:00 AM**.", "startTime": 1731439812, "endTime": 1731439880, "severity": "info", "_status": "active", "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"parent": {"href": "href", "type": "type"}}}], "_links": {"first": {"href": "href", "type": "type"}, "last": {"href": "href", "type": "type"}, "next": {"href": "href", "type": "type"}, "prev": {"href": "href", "type": "type"}, "self": {"href": "href", "type": "type"}}} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} createAnnouncementPublic: speakeasy-default-create-announcement-public: requestBody: application/json: {"isDismissible": true, "title": "System Maintenance Notice", "message": "**Important Update:**\n\nPlease be aware of the upcoming maintenance scheduled for *October 31st, 2024*. The system will be unavailable from **12:00 AM** to **4:00 AM**.", "startTime": 1731439812, "endTime": 1731439880, "severity": "warning"} responses: "201": application/json: {"_id": "1234567890", "isDismissible": true, "title": "System Maintenance Notice", "message": "**Important Update:**\n\nPlease be aware of the upcoming maintenance scheduled for *October 31st, 2024*. The system will be unavailable from **12:00 AM** to **4:00 AM**.", "startTime": 1731439812, "endTime": 1731439880, "severity": "info", "_status": "active", "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"parent": {"href": "href", "type": "type"}}} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} deleteAnnouncementPublic: "": parameters: path: announcementId: "1234567890" responses: "404": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} updateAnnouncementPublic: "": parameters: path: announcementId: "1234567890" requestBody: application/json: [{"op": "replace", "path": "/exampleField", "value": "new example value"}] responses: "200": application/json: {"_id": "1234567890", "isDismissible": true, "title": "System Maintenance Notice", "message": "**Important Update:**\n\nPlease be aware of the upcoming maintenance scheduled for *October 31st, 2024*. The system will be unavailable from **12:00 AM** to **4:00 AM**.", "startTime": 1731439812, "endTime": 1731439880, "severity": "info", "_status": "active", "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "_links": {"parent": {"href": "href", "type": "type"}}} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} getDeploymentFrequencyChart: speakeasy-default-get-deployment-frequency-chart: responses: "200": application/json: {"metadata": {"summary": {"key": "<value>", "key1": "<value>"}, "name": "deploymentFrequency", "metrics": {"key": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}]}}, "xAxis": {"unit": "count"}, "yAxis": {"unit": "count"}}, "series": []} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getStaleFlagsChart: speakeasy-default-get-stale-flags-chart: parameters: query: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"metadata": {"summary": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "name": "deploymentFrequency", "metrics": {"key": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}, "key1": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}}, "xAxis": {"unit": "count"}, "yAxis": {"unit": "count"}}, "series": [{"metadata": {"name": "<value>", "bounds": [{"name": "equal", "value": 100}]}, "data": [{"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}]}]} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagStatusChart: speakeasy-default-get-flag-status-chart: parameters: query: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"metadata": {"summary": {"key": "<value>", "key1": "<value>", "key2": "<value>"}, "name": "deploymentFrequency", "metrics": {"key": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}, "key1": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}, "key2": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}}, "xAxis": {"unit": "count"}, "yAxis": {"unit": "count"}}, "series": [{"metadata": {"name": "<value>", "bounds": [{"name": "equal", "value": 100}, {"name": "equal", "value": 100}]}, "data": []}, {"metadata": {"name": "<value>", "bounds": [{"name": "equal", "value": 100}, {"name": "equal", "value": 100}]}, "data": []}]} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getLeadTimeChart: speakeasy-default-get-lead-time-chart: parameters: query: projectKey: "<value>" responses: "200": application/json: {"metadata": {"summary": {"key": "<value>", "key1": "<value>"}, "name": "deploymentFrequency", "metrics": {"key": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}, "key1": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}}, "xAxis": {"unit": "count"}, "yAxis": {"unit": "count"}}, "series": [{"metadata": {"name": "<value>", "bounds": [{"name": "equal", "value": 100}, {"name": "equal", "value": 100}]}, "data": [{"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}]}, {"metadata": {"name": "<value>", "bounds": [{"name": "equal", "value": 100}, {"name": "equal", "value": 100}]}, "data": [{"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}]}, {"metadata": {"name": "<value>", "bounds": [{"name": "equal", "value": 100}, {"name": "equal", "value": 100}]}, "data": [{"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}, {"x": 1617225600000, "y": 100}]}]} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getReleaseFrequencyChart: speakeasy-default-get-release-frequency-chart: parameters: query: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"metadata": {"summary": {"key": "<value>"}, "name": "deploymentFrequency", "metrics": {"key": {"indicator": "excellent", "value": 5, "unit": "count", "modifier": "per day", "tiers": [{"indicator": "excellent", "description": "at least 1 per day"}, {"indicator": "excellent", "description": "at least 1 per day"}]}}, "xAxis": {"unit": "count"}, "yAxis": {"unit": "count"}}, "series": []} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createDeploymentEvent: speakeasy-default-create-deployment-event: requestBody: application/json: {"projectKey": "default", "environmentKey": "production", "applicationKey": "billing-service", "applicationName": "Billing Service", "applicationKind": "server", "version": "a90a8a2", "versionName": "v1.0.0", "eventType": "started", "eventMetadata": {"buildSystemVersion": "v1.2.3"}, "deploymentMetadata": {"buildNumber": "1234"}} responses: "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getDeployments: speakeasy-default-get-deployments: parameters: query: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"totalCount": 25, "items": [], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": []} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getDeployment: speakeasy-default-get-deployment: parameters: path: deploymentID: "<value>" responses: "200": application/json: {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 891772, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "pullRequests": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "externalId": "1234", "title": "Enable new payment structure", "status": "merged", "author": "jane.doe", "createTime": 236388, "mergeCommitKey": "a90a8a2", "baseCommitKey": "a90a8a2", "headCommitKey": "a90a8a2", "filesChanged": 2, "linesAdded": 100, "linesDeleted": 50, "url": "https://github.com/launchdarkly/LaunchDarkly-Docs/pull/406", "deployments": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 641265, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 641265, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTime": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "maxWaitDurationMs": 100000, "avgWaitDurationMs": 100000, "maxDeployDurationMs": 100000, "avgDeployDurationMs": 100000, "maxTotalLeadTimeMs": 1600000, "avgTotalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/pull-requests?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/pull-requests", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} updateDeployment: "": parameters: path: deploymentID: "<value>" requestBody: application/json: [{"op": "replace", "path": "/status", "value": "finished"}] responses: "200": application/json: {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 862854, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "pullRequests": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "externalId": "1234", "title": "Enable new payment structure", "status": "merged", "author": "jane.doe", "createTime": 568699, "mergeCommitKey": "a90a8a2", "baseCommitKey": "a90a8a2", "headCommitKey": "a90a8a2", "filesChanged": 2, "linesAdded": 100, "linesDeleted": 50, "url": "https://github.com/launchdarkly/LaunchDarkly-Docs/pull/406", "deployments": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 441734, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 441734, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": []}, "leadTime": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "maxWaitDurationMs": 100000, "avgWaitDurationMs": 100000, "maxDeployDurationMs": 100000, "avgDeployDurationMs": 100000, "maxTotalLeadTimeMs": 1600000, "avgTotalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "externalId": "1234", "title": "Enable new payment structure", "status": "merged", "author": "jane.doe", "createTime": 568699, "mergeCommitKey": "a90a8a2", "baseCommitKey": "a90a8a2", "headCommitKey": "a90a8a2", "filesChanged": 2, "linesAdded": 100, "linesDeleted": 50, "url": "https://github.com/launchdarkly/LaunchDarkly-Docs/pull/406", "deployments": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 441734, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 441734, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": []}, "leadTime": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "maxWaitDurationMs": 100000, "avgWaitDurationMs": 100000, "maxDeployDurationMs": 100000, "avgDeployDurationMs": 100000, "maxTotalLeadTimeMs": 1600000, "avgTotalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "externalId": "1234", "title": "Enable new payment structure", "status": "merged", "author": "jane.doe", "createTime": 568699, "mergeCommitKey": "a90a8a2", "baseCommitKey": "a90a8a2", "headCommitKey": "a90a8a2", "filesChanged": 2, "linesAdded": 100, "linesDeleted": 50, "url": "https://github.com/launchdarkly/LaunchDarkly-Docs/pull/406", "deployments": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 441734, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 441734, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": []}, "leadTime": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "maxWaitDurationMs": 100000, "avgWaitDurationMs": 100000, "maxDeployDurationMs": 100000, "avgDeployDurationMs": 100000, "maxTotalLeadTimeMs": 1600000, "avgTotalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/pull-requests?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/pull-requests", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": []}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getFlagEvents: speakeasy-default-get-flag-events: parameters: query: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"totalCount": 1200, "items": [], "_links": {"next": {"href": "/api/v2/engineering-insights/flag-events?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/flag-events", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} createInsightGroup: speakeasy-default-create-insight-group: requestBody: application/json: {"name": "Production - All Apps", "key": "default-production-all-apps", "projectKey": "default", "environmentKey": "production", "applicationKeys": ["billing-service", "inventory-service"]} responses: "201": application/json: {"environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, "scores": {"overall": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFrequency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFailureRate": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "leadTime": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "impactSize": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "experimentationCoverage": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "flagHealth": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "velocity": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "risk": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "efficiency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "creationRatio": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}}, "key": "default-production-all-apps", "name": "Production - All Apps", "projectKey": "default", "environmentKey": "production", "applicationKeys": ["billing-service", "inventory-service"], "createdAt": 905678} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": []} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "409": application/json: {"code": "optimistic_locking_error", "message": "Conflict. Optimistic lock error. Try again later."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getInsightGroups: speakeasy-default-get-insight-groups: responses: "200": application/json: {"totalCount": 15, "items": [{"environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, "scores": {"overall": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFrequency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFailureRate": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "leadTime": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "impactSize": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "experimentationCoverage": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "flagHealth": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "velocity": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "risk": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "efficiency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "creationRatio": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}}, "key": "default-production-all-apps", "name": "Production - All Apps", "projectKey": "default", "environmentKey": "production", "applicationKeys": ["billing-service", "inventory-service"], "createdAt": 450665}], "metadata": {"countByIndicator": {"excellent": 1, "good": 1, "fair": 1, "needsAttention": 1, "notCalculated": 1, "unknown": 1, "total": 6}}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getInsightGroup: speakeasy-default-get-insight-group: parameters: path: insightGroupKey: "<value>" responses: "200": application/json: {"environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, "scores": {"overall": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFrequency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFailureRate": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "leadTime": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "impactSize": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "experimentationCoverage": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "flagHealth": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "velocity": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "risk": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "efficiency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "creationRatio": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}}, "key": "default-production-all-apps", "name": "Production - All Apps", "projectKey": "default", "environmentKey": "production", "applicationKeys": ["billing-service", "inventory-service"], "createdAt": 543580} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": []} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteInsightGroup: speakeasy-default-delete-insight-group: parameters: path: insightGroupKey: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} patchInsightGroup: "": parameters: path: insightGroupKey: "<value>" requestBody: application/json: [{"op": "replace", "path": "/name", "value": "Prod group"}] responses: "200": application/json: {"environment": {"_links": {"self": {"href": "/api/v2/projects/my-project/environments/my-environment", "type": "application/json"}}, "_id": "57be1db38b75bf0772d11384", "key": "environment-key-123abc", "name": "My Environment", "apiKey": "sdk-xxx", "mobileKey": "mob-xxx", "color": "F5A623", "defaultTtl": 5, "secureMode": true, "defaultTrackEvents": false, "requireComments": true, "confirmChanges": true, "tags": ["ops"], "approvalSettings": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "resourceApprovalSettings": {"key": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key1": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}, "key2": {"required": true, "bypassApprovalsForPendingChanges": false, "minNumApprovals": 1, "canReviewOwnRequest": false, "canApplyDeclinedChanges": true, "autoApplyApprovedChanges": true, "serviceKind": "launchdarkly", "serviceConfig": {}, "requiredApprovalTags": ["require-approval"], "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"}}, "critical": true}, "scores": {"overall": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFrequency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFailureRate": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "leadTime": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "impactSize": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "experimentationCoverage": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "flagHealth": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "velocity": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "risk": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "efficiency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "creationRatio": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}}, "key": "default-production-all-apps", "name": "Production - All Apps", "projectKey": "default", "environmentKey": "production", "applicationKeys": ["billing-service", "inventory-service"], "createdAt": 46705} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "422": application/json: {"code": "patch_failed", "message": "Unprocessable entity. Could not apply patch."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getInsightsScores: speakeasy-default-get-insights-scores: parameters: query: projectKey: "<value>" environmentKey: "<value>" responses: "200": application/json: {"period": {"startTime": 285368, "endTime": 748521}, "lastPeriod": {"startTime": 737530, "endTime": 38312}, "scores": {"overall": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFrequency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "deploymentFailureRate": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "leadTime": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "impactSize": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "experimentationCoverage": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "flagHealth": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "velocity": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "risk": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "efficiency": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}, "creationRatio": {"score": 100, "aggregateOf": ["deploymentFrequency", "leadTime"], "indicator": "<value>", "indicatorRange": {"min": 0, "max": 100}}}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": []} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getPullRequests: speakeasy-default-get-pull-requests: parameters: query: projectKey: "<value>" responses: "200": application/json: {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "externalId": "1234", "title": "Enable new payment structure", "status": "merged", "author": "jane.doe", "createTime": 25979, "mergeCommitKey": "a90a8a2", "baseCommitKey": "a90a8a2", "headCommitKey": "a90a8a2", "filesChanged": 2, "linesAdded": 100, "linesDeleted": 50, "url": "https://github.com/launchdarkly/LaunchDarkly-Docs/pull/406", "deployments": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 830348, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 830348, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 830348, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTime": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "maxWaitDurationMs": 100000, "avgWaitDurationMs": 100000, "maxDeployDurationMs": 100000, "avgDeployDurationMs": 100000, "maxTotalLeadTimeMs": 1600000, "avgTotalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "externalId": "1234", "title": "Enable new payment structure", "status": "merged", "author": "jane.doe", "createTime": 25979, "mergeCommitKey": "a90a8a2", "baseCommitKey": "a90a8a2", "headCommitKey": "a90a8a2", "filesChanged": 2, "linesAdded": 100, "linesDeleted": 50, "url": "https://github.com/launchdarkly/LaunchDarkly-Docs/pull/406", "deployments": {"totalCount": 25, "items": [{"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 830348, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 830348, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}, {"id": "a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11", "applicationKey": "billing-service", "applicationVersion": "a90a8a2", "startedAt": 830348, "durationMs": 10996000, "status": "<value>", "kind": "<value>", "active": true, "metadata": {"buildNumber": "1234"}, "archived": false, "environmentKey": "production", "numberOfContributors": 1, "numberOfPullRequests": 2, "linesAdded": 100, "linesDeleted": 50, "leadTime": 20237000, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTimeStages": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "waitDurationMs": 100000, "deployDurationMs": 100000, "totalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/deployments?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/deployments", "type": "application/json"}}}, "flagReferences": {"totalCount": 25, "items": [{"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}, {"projectKey": "default", "flagKey": "enable-new-payment-structure", "referencesAdded": 2, "referencesRemoved": 5}]}, "leadTime": {"codingDurationMs": 1000000, "reviewDurationMs": 500000, "maxWaitDurationMs": 100000, "avgWaitDurationMs": 100000, "maxDeployDurationMs": 100000, "avgDeployDurationMs": 100000, "maxTotalLeadTimeMs": 1600000, "avgTotalLeadTimeMs": 1600000}}], "_links": {"next": {"href": "/api/v2/engineering-insights/pull-requests?after=a4290006-1fd1-4ca5-acf7-9f31fac61cf5", "type": "application/json"}, "self": {"href": "/api/v2/engineering-insights/pull-requests", "type": "application/json"}}} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getInsightsRepositories: speakeasy-default-get-insights-repositories: responses: "200": application/json: {"totalCount": 1, "items": [{"_id": "5f9a9b1a-5b9a-4b9a-9a9a-9a9a9a9a9a9a", "version": 1, "key": "launchdarkly/LaunchDarkly-Docs", "type": "github", "url": "https://github.com/launchdarkly/LaunchDarkly-Docs", "mainBranch": "main", "projects": {"totalCount": 629216, "items": []}}, {"_id": "5f9a9b1a-5b9a-4b9a-9a9a-9a9a9a9a9a9a", "version": 1, "key": "launchdarkly/LaunchDarkly-Docs", "type": "github", "url": "https://github.com/launchdarkly/LaunchDarkly-Docs", "mainBranch": "main", "projects": {"totalCount": 629216, "items": []}}]} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} associateRepositoriesAndProjects: speakeasy-default-associate-repositories-and-projects: requestBody: application/json: {"mappings": [{"repositoryKey": "launchdarkly/LaunchDarkly-Docs", "projectKey": "default"}]} responses: "200": application/json: {"totalCount": 1, "items": [{"repositoryKey": "launchdarkly/LaunchDarkly-Docs", "projectKey": "default"}, {"repositoryKey": "launchdarkly/LaunchDarkly-Docs", "projectKey": "default"}, {"repositoryKey": "launchdarkly/LaunchDarkly-Docs", "projectKey": "default"}]} "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} deleteRepositoryProject: speakeasy-default-delete-repository-project: parameters: path: repositoryKey: "<value>" projectKey: "<value>" responses: "400": application/json: {"code": "invalid_request", "message": "validation failed", "errors": [{"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}, {"attribute": "projectKey", "reason": "must be present"}]} "401": application/json: {"code": "unauthorized", "message": "Invalid access token"} "403": application/json: {"code": "forbidden", "message": "Forbidden. Access to the requested resource was denied."} "404": application/json: {"code": "not_found", "message": "Invalid resource identifier"} "429": application/json: {"code": "rate_limited", "message": "You've exceeded the API rate limit. Try again later."} getAIConfigTargeting: speakeasy-default-get-AI-config-targeting: parameters: path: projectKey: "<value>" configKey: "<value>" header: LD-API-Version: "beta" responses: "200": application/json: {"createdAt": 0, "defaults": {"onVariation": 6, "offVariation": 1}, "environments": {"key": {"contextTargets": [{"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}, {"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}], "enabled": true, "fallthrough": {"variation": 5, "rollout": {"bucketBy": "bucketBy", "contextKind": "contextKind", "experimentAllocation": {"canReshuffle": true, "defaultVariation": 2, "type": "type"}, "seed": 7, "variations": [{"_untracked": true, "variation": 9, "weight": 3}, {"_untracked": true, "variation": 9, "weight": 3}]}}, "lastModified": 2, "offVariation": 4, "rules": [{"clauses": [{"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}, {"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}], "trackEvents": true}, {"clauses": [{"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}, {"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}], "trackEvents": true}], "targets": [{"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}, {"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}], "trackEvents": true, "trackEventsFallthrough": true, "_environmentName": "_environmentName", "_version": 7}}, "experiments": {"baselineIdx": 1, "items": [{"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "guardedRolloutCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_site": {"href": "href", "type": "type"}, "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "tags": [], "_creationDate": 1, "lastModified": {"date": "2021-08-05T19:46:31.148Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "description": "description", "category": "Error monitoring", "isNumeric": true, "successCriteria": "HigherThanBaseline", "unit": "unit", "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "op", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"disabled": true, "value": 0}}, "environments": ["production", "test", "my-environment"], "_environmentSettings": {"key": {"startDate": 1, "stopDate": 6, "enabledPeriods": [{"startDate": 7, "stopDate": 1}, {"startDate": 7, "stopDate": 1}]}}}, {"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "guardedRolloutCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_site": {"href": "href", "type": "type"}, "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "tags": [], "_creationDate": 1, "lastModified": {"date": "2021-08-05T19:46:31.148Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "description": "description", "category": "Error monitoring", "isNumeric": true, "successCriteria": "HigherThanBaseline", "unit": "unit", "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "op", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"disabled": true, "value": 0}}, "environments": ["production", "test", "my-environment"], "_environmentSettings": {"key": {"startDate": 1, "stopDate": 6, "enabledPeriods": [{"startDate": 7, "stopDate": 1}, {"startDate": 7, "stopDate": 1}]}}}]}, "key": "key", "name": "name", "tags": ["tags", "tags"], "variations": [{"_id": "_id", "description": "description", "name": "name", "value": "<value>"}, {"_id": "_id", "description": "description", "name": "name", "value": 7691.52}], "_version": 4} "403": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} patchAIConfigTargeting: speakeasy-default-patch-AI-config-targeting: parameters: path: projectKey: "<value>" configKey: "<value>" header: LD-API-Version: "beta" requestBody: application/json: {"comment": "comment", "environmentKey": "environmentKey", "instructions": [{"key": ""}, {"key": ""}]} responses: "200": application/json: {"createdAt": 0, "defaults": {"onVariation": 6, "offVariation": 1}, "environments": {"key": {"contextTargets": [{"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}, {"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}], "enabled": true, "fallthrough": {"variation": 5, "rollout": {"bucketBy": "bucketBy", "contextKind": "contextKind", "experimentAllocation": {"canReshuffle": true, "defaultVariation": 2, "type": "type"}, "seed": 7, "variations": [{"_untracked": true, "variation": 9, "weight": 3}, {"_untracked": true, "variation": 9, "weight": 3}]}}, "lastModified": 2, "offVariation": 4, "rules": [{"clauses": [{"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}, {"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}], "trackEvents": true}, {"clauses": [{"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}, {"attribute": "attribute", "id": "id", "negate": true, "op": "op", "values": ["", ""]}], "trackEvents": true}], "targets": [{"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}, {"contextKind": "contextKind", "values": ["values", "values"], "variation": 5}], "trackEvents": true, "trackEventsFallthrough": true, "_environmentName": "_environmentName", "_version": 7}}, "experiments": {"baselineIdx": 1, "items": [{"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "guardedRolloutCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_site": {"href": "href", "type": "type"}, "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "tags": [], "_creationDate": 1, "lastModified": {"date": "2021-08-05T19:46:31.148Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "description": "description", "category": "Error monitoring", "isNumeric": true, "successCriteria": "HigherThanBaseline", "unit": "unit", "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "op", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"disabled": true, "value": 0}}, "environments": ["production", "test", "my-environment"], "_environmentSettings": {"key": {"startDate": 1, "stopDate": 6, "enabledPeriods": [{"startDate": 7, "stopDate": 1}, {"startDate": 7, "stopDate": 1}]}}}, {"metricKey": "my-metric", "_metric": {"experimentCount": 0, "metricGroupCount": 0, "guardedRolloutCount": 0, "_id": "5902deadbeef667524a01290", "_versionId": "version-id-123abc", "key": "metric-key-123abc", "name": "My metric", "kind": "custom", "_attachedFlagCount": 0, "_links": {"parent": {"href": "/api/v2/metrics/my-project", "type": "application/json"}, "self": {"href": "/api/v2/metrics/my-project/my-metric", "type": "application/json"}}, "_site": {"href": "href", "type": "type"}, "_access": {"denied": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}], "allowed": [{"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}, {"action": "action", "reason": {"resources": ["proj/*:env/*;qa_*:/flag/*"], "notResources": ["notResources", "notResources"], "actions": ["*"], "notActions": ["<value 1>", "<value 2>"], "effect": "allow", "role_name": "role_name"}}]}, "tags": [], "_creationDate": 1, "lastModified": {"date": "2021-08-05T19:46:31.148Z"}, "maintainerId": "569fdeadbeef1644facecafe", "_maintainer": {"_links": {"self": {"href": "/api/v2/members/569f183514f4432160000007", "type": "application/json"}}, "_id": "569f183514f4432160000007", "firstName": "Ariel", "lastName": "Flores", "role": "admin", "email": "ariel@acme.com"}, "description": "description", "category": "Error monitoring", "isNumeric": true, "successCriteria": "HigherThanBaseline", "unit": "unit", "eventKey": "Order placed", "randomizationUnits": ["user"], "filters": {"type": "contextAttribute", "attribute": "country", "op": "op", "values": ["JP"], "contextKind": "user", "negate": false}, "unitAggregationType": "average", "analysisType": "mean", "percentileValue": 95, "eventDefault": {"disabled": true, "value": 0}}, "environments": ["production", "test", "my-environment"], "_environmentSettings": {"key": {"startDate": 1, "stopDate": 6, "enabledPeriods": [{"startDate": 7, "stopDate": 1}, {"startDate": 7, "stopDate": 1}]}}}]}, "key": "key", "name": "name", "tags": ["tags", "tags"], "variations": [{"_id": "_id", "description": "description", "name": "name", "value": false}, {"_id": "_id", "description": "description", "name": "name", "value": {}}], "_version": 4} "400": application/json: {"message": "message", "code": "code"} "500": application/json: {"message": "message", "code": "code"} examplesVersion: 1.0.2 generatedTests: {}

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/launchdarkly/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server