gen.lock•861 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: {}