Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 832
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 839
{"openapi":"3.0.0","paths":{"/v1/projects":{"post":{"operationId":"ProjectsController_create","summary":"Create project in the current organization","description":"Creates a new project within the authed organization.\nThe project key must be unique within the organization.\nIf this is called in an Organization that has permissions controlled via an external IdP (https://docs.devcycle.com/platform/security-and-guardrails/permissions#full-role-based-access-control-project-level-roles--enterprise-only) - then no users will have permission to access this project.","tags":["Projects"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDto"}}}},"responses":{"201":{"description":"The project has been successfully created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"Invalid request - missing or invalid properties","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"403":{"description":""},"409":{"description":"Project key already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}}},"get":{"operationId":"ProjectsController_findAll","summary":"List Projects that the current API Token has permission to view","description":"Lists all projects that the current API Token has permission to view.","tags":["Projects"],"parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}}}},"400":{"description":"Invalid request - missing or invalid properties","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"403":{"description":""}}}},"/v1/projects/{key}":{"get":{"operationId":"ProjectsController_findOne","summary":"Get a Project","description":"Get a Project by ID or key.","tags":["Projects"],"parameters":[{"name":"key","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"403":{"description":""},"404":{"description":"Project does not exist by key or ID. Keys are able to be changed so try switching to ID to have a consistent value that cannot be changed.This can also be returned if the current token does not have permission to view the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}}},"patch":{"operationId":"ProjectsController_update","summary":"Update a Project","description":"Update a Project by ID or key. Certain facets of the project settings require additional permissions to update.","tags":["Projects"],"parameters":[{"name":"key","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}}},"delete":{"operationId":"ProjectsController_remove","summary":"Delete a Project","description":"Delete a Project by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Project deleted successfully"},"403":{"description":""},"404":{"description":"Project not found.This can also be returned if the current token does not have permission to view the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":"Cannot delete the last project in an organization. Please contact support to delete the organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannotDeleteLastItemErrorResponse"}}}}},"tags":["Projects"]}},"/v1/projects/{key}/settings":{"patch":{"operationId":"ProjectsController_updateSettings","summary":"Update Publisher Restricted Settings for a Project","description":"Update a subset of settings for a Project that only requires publisher permissions","parameters":[{"name":"key","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectSettingsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Projects"]}},"/v1/projects/{key}/settings/protected":{"patch":{"operationId":"ProjectsController_updateProtectedSettings","summary":"Update Protected Settings for a Project","description":"Update the Protect Settings for a Project by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProtectedProjectSettingsDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Projects"]}},"/v1/projects/{key}/staleness":{"get":{"operationId":"ProjectsController_getStaleness","summary":"Get all stale Features for a Project","description":"Get all stale Features for a Project","parameters":[{"name":"key","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"includeSilenced","required":false,"in":"query","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureStalenessEntity"}}}}},"403":{"description":""},"404":{"description":"Project not found. This can also be returned if the current token does not have permission to view the project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Projects"]}},"/v1/integrations/jira/{token}":{"delete":{"operationId":"JiraIntegrationController_remove","summary":"[Deprecated] Remove Jira Integration Configuration","description":"DEPRECATED - Not recommended to be used. Use /integrations/jira/organization/:token or /integrations/jira/project/:token instead.","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["Integrations: Jira"]}},"/v1/integrations/jira/organization/{token}":{"delete":{"operationId":"JiraIntegrationController_removeOrganizationConnection","summary":"Remove Jira Organization Integration Configuration","description":"Remove the Jira integration configuration for an organization. This will remove the integration for an organization wide connection, but not project connections.","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"tags":["Integrations: Jira"],"responses":{"200":{"description":""},"403":{"description":""}}}},"/v1/integrations/jira/project/{token}":{"delete":{"operationId":"JiraIntegrationController_removeProjectConnection","summary":"Remove Jira Project Integration Configuration","description":"Remove a specific project","parameters":[{"name":"token","required":true,"in":"path","schema":{"type":"string"}}],"tags":["Integrations: Jira"],"responses":{"200":{"description":"Connection removed successfully"},"403":{"description":""}}}},"/v1/projects/{project}/environments":{"post":{"operationId":"EnvironmentsController_create","summary":"Create Environment","description":"Create a new environment for a project. The environment key must be unique within the project. Multiple environments can share a type.\nCreating an environment will auto-generate a set of SDK Keys for the various types of SDKs.\nWhen permissions are enabled for the organization, the token must have Publisher permissions for the environment to be created.","tags":["Environments"],"parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEnvironmentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}}},"get":{"operationId":"EnvironmentsController_findAll","summary":"List Environments","description":"List all environments for a project. If a token does not have permission to view protected environments the environments will be filtered to only show non-protected environments SDK Keys for security.","tags":["Environments"],"parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Environment"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}}}},"/v1/projects/{project}/environments/{key}":{"get":{"operationId":"EnvironmentsController_findOne","summary":"Get an Environment","description":"Returns the environment; if the token does not have permission to view protected environments, the environment will be filtered to only show non-protected SDK Keys for security.","tags":["Environments"],"parameters":[{"name":"key","required":true,"in":"path","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}}},"patch":{"operationId":"EnvironmentsController_update","summary":"Update an Environment","description":"Update an environment by ID or key. The environment key (if edited) must be unique within the project. If permissions are enabled, changing a protected environment type requires Publisher permissions","tags":["Environments"],"parameters":[{"name":"key","required":true,"in":"path","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEnvironmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment"}}}},"400":{"description":"Invalid request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":"Environment not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"Environment key already exists, cannot rename an environment to an existing one.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}}},"delete":{"operationId":"EnvironmentsController_remove","summary":"Delete an Environment","description":"Delete an Environment by ID or key","tags":["Environments"],"parameters":[{"name":"key","required":true,"in":"path","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannotDeleteLastItemErrorResponse"}}}}}}},"/v1/projects/{project}/environments/{environment}/sdk-keys":{"post":{"operationId":"SdkKeysController_generate","summary":"Generate SDK Keys","description":"Generate new SDK keys for an environment, for any or all of the SDK types. This is the expected and recommended way to rotate SDK keys. Adding a new SDK key will not invalidate existing SDK keys.\nGenerating new keys is restricted for protected environments to those with Publisher permissions","tags":["Environments"],"parameters":[{"name":"environment","required":true,"in":"path","description":"An Environment key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSdkTokensDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}}}},"/v1/projects/{project}/environments/{environment}/sdk-keys/{key}":{"delete":{"operationId":"SdkKeysController_invalidate","summary":"Invalidate an SDK key","description":"This will invalidate all configs associated with a given key. This is an instantaneous change and all SDKs using this key will stop working immediately. This is the expected and recommended way to rotate SDK keys.","tags":["Environments"],"parameters":[{"name":"key","required":true,"in":"path","description":"An SDK key","schema":{"type":"string"}},{"name":"environment","required":true,"in":"path","description":"An Environment key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannotDeleteLastItemErrorResponse"}}}}}}},"/v1/projects/{project}/audiences":{"post":{"operationId":"AudiencesController_create","summary":"Create Audience","description":"Create a new Audience","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAudienceDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Audience"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Audiences"]},"get":{"operationId":"AudiencesController_findAll","summary":"List Audiences","description":"List Audiences","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"includeUsage","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Audience"}}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Audiences"]}},"/v1/projects/{project}/audiences/{key}":{"get":{"operationId":"AudiencesController_findOne","summary":"Get an Audience","description":"Get an Audience by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Audience key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Audience"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Audiences"]},"patch":{"operationId":"AudiencesController_update","summary":"Update an Audience","description":"Update an Audience by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Audience key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAudienceDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Audience"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Audiences"]},"delete":{"operationId":"AudiencesController_remove","summary":"Delete an Audience","description":"Delete an Audience by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Audience key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"412":{"description":""}},"tags":["Audiences"]}},"/v1/projects/{project}/audiences/{key}/usage":{"get":{"operationId":"AudiencesController_findUsages","summary":"Get all direct usages of an Audience","description":"Get the direct usages of an Audiences Usage by Features OR other Audiences by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Audience key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceUsage"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Audiences"]}},"/v1/projects/{project}/variables":{"post":{"operationId":"VariablesController_create","summary":"Create a Variable","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVariableDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Variable"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Variables"]},"get":{"operationId":"VariablesController_findAll","summary":"List Variables","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"feature","required":false,"in":"query","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","schema":{"enum":["String","Boolean","Number","JSON"],"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["active","archived"],"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Variables"]}},"/v1/projects/{project}/variables/{key}":{"get":{"operationId":"VariablesController_findOne","summary":"Get a Variable","parameters":[{"name":"key","required":true,"in":"path","description":"A Variable key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Variable"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Variables"]},"patch":{"operationId":"VariablesController_update","summary":"Update a Variable","parameters":[{"name":"key","required":true,"in":"path","description":"A Variable key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVariableDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Variable"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Variables"]},"delete":{"operationId":"VariablesController_remove","summary":"Delete a Variable","parameters":[{"name":"key","required":true,"in":"path","description":"A Variable key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Variables"]}},"/v1/projects/{project}/variables/{key}/status":{"patch":{"operationId":"VariablesController_updateStatus","summary":"Update a Variable status to archived or active","parameters":[{"name":"key","required":true,"in":"path","description":"A Variable key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVariableStatusDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Variable"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Variables"]}},"/v1/projects/{project}/features":{"post":{"operationId":"FeaturesController_create","summary":"Create Feature","description":"Create a new Feature","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeatureDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]},"get":{"operationId":"FeaturesController_findAll","summary":"List Features","description":"List Features","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","schema":{"enum":["release","experiment","permission","ops"],"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["active","complete","archived"],"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/multiple":{"post":{"operationId":"FeaturesController_createMultiple","summary":"Create Multiple Features with a single request","description":"Create multiple new Features","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/{feature}":{"get":{"operationId":"FeaturesController_findOne","summary":"Get a Feature","description":"Get a Feature by ID or key","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]},"patch":{"operationId":"FeaturesController_update","summary":"Update a Feature","description":"Update a Feature by ID or key","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]},"delete":{"operationId":"FeaturesController_remove","summary":"Delete a Feature","description":"Delete a Feature by ID or key","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"deleteVariables","required":false,"in":"query","description":"Controls whether the feature's associated variables should also be deleted","schema":{"type":"boolean"}},{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/{feature}/status":{"patch":{"operationId":"FeaturesController_updateStatus","summary":"Update a Feature's status","description":"Update a Feature's status by key","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureStatusDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/{feature}/static-configuration":{"get":{"operationId":"FeaturesController_findStaticConfiguration","summary":"Get a Feature's Static Configuration","description":"Get a completed Feature's static configuration","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaticConfiguration"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]},"patch":{"operationId":"FeaturesController_updateStaticConfiguration","summary":"Update a Feature's Static Configuration","description":"Update a completed Feature's static configuration","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStaticConfigurationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaticConfiguration"}}}},"401":{"description":""},"404":{"description":""},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/{feature}/integrations/jira/issues":{"post":{"operationId":"FeaturesController_linkIssue","summary":"Link feature to Jira issue","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkJiraIssueDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraIssueLink"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]},"get":{"operationId":"FeaturesController_findAllLinkedIssues","summary":"List linked Jira Issues","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JiraIssueLink"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/{feature}/integrations/jira/issues/{issue_id}":{"delete":{"operationId":"FeaturesController_removeLinkedIssue","summary":"Unlink feature from Jira issue","parameters":[{"name":"feature","required":true,"in":"path","schema":{"type":"string"}},{"name":"issue_id","required":true,"in":"path","schema":{"type":"string"}},{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["[Deprecated] Features v1"]}},"/v1/projects/{project}/features/{feature}/variations":{"post":{"operationId":"VariationsController_create","summary":"Create a Feature Variation","description":"Create a new variation within a Feature","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureVariationDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Variations"]},"get":{"operationId":"VariationsController_findAll","summary":"List Feature Variations","description":"Get a list of variations for a feature","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Variation"}}}}},"401":{"description":""},"404":{"description":""}},"tags":["Variations"]}},"/v1/projects/{project}/features/{feature}/variations/{key}":{"get":{"operationId":"VariationsController_findOne","summary":"Get a Feature Variation","description":"Get a variation by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Variation key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Variation"}}}},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Variations"]},"patch":{"operationId":"VariationsController_update","summary":"Update a Feature Variation","description":"Update a variation by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureVariationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Variations"]}},"/v1/projects/{project}/features/{feature}/configurations":{"get":{"operationId":"FeatureConfigsController_findAll","summary":"List Feature configurations","description":"List Feature configurations for all environments or by environment key or ID","parameters":[{"name":"environment","required":false,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureConfig"}}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Feature Configurations"]},"patch":{"operationId":"FeatureConfigsController_update","summary":"Update a Feature configuration","description":"Update a Feature configuration by environment key or ID","parameters":[{"name":"environment","required":true,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureConfigDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureConfig"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Feature Configurations"]}},"/v1/projects/{project}/features/{feature}/results/total-evaluations":{"get":{"operationId":"ResultsController_getTotalEvaluationsPerHourByFeature","summary":"Feature Variable Evaluations (total)","description":"Fetch total variable evaluations per hour for a feature","parameters":[{"name":"startDate","required":false,"in":"query","schema":{"type":"number"}},{"name":"endDate","required":false,"in":"query","schema":{"type":"number"}},{"name":"platform","required":false,"in":"query","schema":{"type":"string"}},{"name":"variable","required":false,"in":"query","schema":{"type":"string"}},{"name":"environment","required":false,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"period","required":false,"in":"query","schema":{"enum":["day","hour","month"],"type":"string"}},{"name":"sdkType","required":false,"in":"query","description":"SDK type to filter evaluation results by","schema":{"enum":["client","server","mobile","api"],"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultEvaluationsByHourDto"}}}},"400":{"description":""},"401":{"description":""},"404":{"description":""}},"tags":["Results"]}},"/v1/projects/{project}/results/evaluations":{"get":{"operationId":"ResultsController_getEvaluationsPerHourByProject","summary":"Project Variable Evaluations (unique user)","description":"Fetch unique user variable evaluations per hour for a project","parameters":[{"name":"startDate","required":false,"in":"query","schema":{"type":"number"}},{"name":"endDate","required":false,"in":"query","schema":{"type":"number"}},{"name":"environment","required":false,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"period","required":false,"in":"query","schema":{"enum":["day","hour","month"],"type":"string"}},{"name":"sdkType","required":false,"in":"query","description":"SDK type to filter evaluation results by","schema":{"enum":["client","server","mobile","api"],"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultProjectEvaluationsByHourDto"}}}},"400":{"description":""},"401":{"description":""},"404":{"description":""}},"tags":["Results"]}},"/v1/projects/{project}/results/total-evaluations":{"get":{"operationId":"ResultsController_getTotalEvaluationsPerHourByProject","summary":"Project Variable Evaluations (total)","description":"Fetch total variable evaluations per hour for a project","parameters":[{"name":"startDate","required":false,"in":"query","schema":{"type":"number"}},{"name":"endDate","required":false,"in":"query","schema":{"type":"number"}},{"name":"environment","required":false,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"period","required":false,"in":"query","schema":{"enum":["day","hour","month"],"type":"string"}},{"name":"sdkType","required":false,"in":"query","description":"SDK type to filter evaluation results by","schema":{"enum":["client","server","mobile","api"],"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultProjectEvaluationsByHourDto"}}}},"400":{"description":""},"401":{"description":""},"404":{"description":""}},"tags":["Results"]}},"/v1/projects/{project}/userProfile/current":{"get":{"operationId":"UserProfilesController_findAll","summary":"Get User Profile for the Current User in the specified Project","description":"Get User Profile for the authenticated User in the specified Project","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUserProfile"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["User Profiles"]},"patch":{"operationId":"UserProfilesController_createOrUpdate","summary":"Create or Update User Profile for the Current User in the specified Project","description":"Create or Update a User Profile for Overrides","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserProfileDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUserProfile"}}}},"400":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":""}},"tags":["User Profiles"]}},"/v1/projects/{project}/features/{feature}/audit":{"get":{"operationId":"AuditLogController_findAll","summary":"Get Audit Log For Feature","description":"Get Audit Log For Feature","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"environment","required":false,"in":"query","schema":{"type":"string"}},{"name":"a0_user","required":false,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":false,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditLogEntity"}}}}},"400":{"description":""},"401":{"description":""},"404":{"description":""}},"tags":["Audit Log"]}},"/v1/projects/{project}/customProperties":{"post":{"operationId":"CustomPropertiesController_create","summary":"Create Custom Property","description":"Create a new Custom Property","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomPropertyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomProperty"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Custom Properties"]},"get":{"operationId":"CustomPropertiesController_findAll","summary":"List Custom Properties","description":"List Custom Properties","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"type","required":false,"in":"query","schema":{"enum":["String","Boolean","Number"],"type":"string"}},{"name":"includeUsage","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomProperty"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Custom Properties"]}},"/v1/projects/{project}/customProperties/{key}":{"get":{"operationId":"CustomPropertiesController_findOne","summary":"Get a Custom Property","description":"Get a Custom Property by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Custom Property key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomProperty"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Custom Properties"]},"patch":{"operationId":"CustomPropertiesController_update","summary":"Update a Custom Property","description":"Update an Custom Property by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Custom Property key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomPropertyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomProperty"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Custom Properties"]},"delete":{"operationId":"CustomPropertiesController_remove","summary":"Delete a Custom Property","description":"Delete an Custom Property by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Custom Property key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"404":{"description":""}},"tags":["Custom Properties"]}},"/v1/projects/{project}/metrics":{"post":{"operationId":"MetricsController_create","summary":"Create Metric","description":"Create a new Metric","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMetricDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Metric"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}}},"tags":["Metrics"]},"get":{"operationId":"MetricsController_findAll","summary":"Get All Metrics","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"dimension","required":false,"in":"query","schema":{"enum":["COUNT_PER_UNIQUE_USER","COUNT_PER_VARIABLE_EVALUATION","SUM_PER_UNIQUE_USER","AVERAGE_PER_UNIQUE_USER","TOTAL_AVERAGE","TOTAL_SUM"],"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Metric"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Metrics"]}},"/v1/projects/{project}/metrics/{key}":{"get":{"operationId":"MetricsController_findOne","summary":"Get a Metric","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Metric"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Metrics"]},"patch":{"operationId":"MetricsController_update","summary":"Update a Metric","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMetricDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Metric"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Metrics"]},"delete":{"operationId":"MetricsController_remove","summary":"Delete a Metric","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Metrics"]}},"/v1/projects/{project}/metrics/{key}/results":{"get":{"operationId":"MetricsController_fetchResults","summary":"Fetch results for a Metric","parameters":[{"name":"feature","required":true,"in":"query","schema":{"type":"string"}},{"name":"environment","required":false,"in":"query","schema":{"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"key","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricResult"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Metrics"]}},"/v1/projects/{project}/test-metric-results":{"get":{"operationId":"TestMetricResultsController_fetch","summary":"Test Metric Results","description":"Fetch metric results with the given parameters","parameters":[{"name":"feature","required":true,"in":"query","schema":{"type":"string"}},{"name":"control","required":true,"in":"query","schema":{"type":"string"}},{"name":"optimize","required":true,"in":"query","schema":{"enum":["increase","decrease"],"type":"string"}},{"name":"environment","required":false,"in":"query","schema":{"type":"string"}},{"name":"event","required":true,"in":"query","schema":{"type":"string"}},{"name":"dimension","required":true,"in":"query","schema":{"enum":["COUNT_PER_UNIQUE_USER","COUNT_PER_VARIABLE_EVALUATION","SUM_PER_UNIQUE_USER","AVERAGE_PER_UNIQUE_USER","TOTAL_AVERAGE","TOTAL_SUM"],"type":"string"}},{"name":"startDate","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"endDate","required":true,"in":"query","schema":{"format":"date-time","type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricResult"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":""}},"tags":["Metrics"]}},"/v1/projects/{project}/metric-associations":{"get":{"operationId":"MetricAssociationsController_findAll","summary":"Get Metric Associations","parameters":[{"name":"metric","required":false,"in":"query","schema":{"type":"string"}},{"name":"feature","required":false,"in":"query","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricAssociation"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Metric Associations"]},"post":{"operationId":"MetricAssociationsController_create","summary":"Associate a Metric with a Feature","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMetricAssociationDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricAssociation"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Metric Associations"]},"delete":{"operationId":"MetricAssociationsController_remove","summary":"Delete an Association of a Metric and a Feature","parameters":[{"name":"metric","required":true,"in":"query","schema":{"type":"string"}},{"name":"feature","required":true,"in":"query","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Metric Associations"]}},"/v1/projects/{project}/features/{feature}/overrides/current":{"put":{"operationId":"OverridesController_updateFeatureOverride","summary":"Update Overrides for the Current User","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOverrideDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Override"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Overrides"]},"get":{"operationId":"OverridesController_findOne","summary":"Get feature overrides for current user","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverrideResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Overrides"]},"delete":{"operationId":"OverridesController_deleteOverridesForFeature","summary":"Delete override for specific feature and environment for the current user","parameters":[{"name":"environment","required":true,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Overrides"]}},"/v1/projects/{project}/features/{feature}/overrides":{"get":{"operationId":"OverridesController_findOverridesForFeature","summary":"Get overrides for feature","parameters":[{"name":"addMetadata","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"environment","required":false,"in":"query","description":"A Environment key or ID","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureOverrides"}}}},"401":{"description":""},"404":{"description":""}},"tags":["Overrides"]}},"/v1/projects/{project}/overrides/current":{"get":{"operationId":"OverridesController_findOverridesForProject","summary":"Get all overrides for project for current user","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserOverride"}}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Overrides"]},"delete":{"operationId":"OverridesController_deleteOverridesForProject","summary":"Delete all overrides for project for current user","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Overrides"]}},"/v1/semantic/projects/{project}/audiences/{key}":{"patch":{"operationId":"SemanticPatchController_semanticUpdate","summary":"[Beta] Semantic Patch Update an Audience","description":"Semantic Patch Update an Audience by ID or key","parameters":[{"name":"key","required":true,"in":"path","description":"A Audience key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudiencePatchDto"}}}},"responses":{"200":{"description":""},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":""}},"tags":["[Beta] Semantic Patch"]}},"/v2/projects/{project}/features/{feature}":{"patch":{"operationId":"FeaturesController_update","summary":"Update a Feature","description":"Update a Feature by ID or key","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]},"get":{"operationId":"FeaturesController_findOne","summary":"Get a Feature","description":"Get a Feature by ID or key","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Features v2"]}},"/v2/projects/{project}/features":{"post":{"operationId":"FeaturesController_create","summary":"Create Feature","description":"Create a new Feature","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeatureDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"404":{"description":""},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]},"get":{"operationId":"FeaturesController_findAll","summary":"List Features","description":"List Features","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"type","required":false,"in":"query","schema":{"enum":["release","experiment","permission","ops"],"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["active","complete","archived"],"type":"string"}},{"name":"keys","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"includeLatestUpdate","required":false,"in":"query","schema":{"type":"boolean"}},{"name":"staleness","required":false,"in":"query","schema":{"enum":["all","unused","released","unmodified","notStale"],"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Features v2"]}},"/v2/projects/{project}/features/{feature}/static-configuration":{"get":{"operationId":"FeaturesController_findStaticConfiguration","summary":"Get a Feature's Static Configuration","description":"Get a completed Feature's static configuration","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaticConfiguration"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]},"patch":{"operationId":"FeaturesController_updateStaticConfiguration","summary":"Update a Feature's Static Configuration","description":"Update a completed Feature's static configuration","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStaticConfigurationDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaticConfiguration"}}}},"401":{"description":""},"404":{"description":""},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]}},"/v2/projects/{project}/features/{feature}/status":{"patch":{"operationId":"FeaturesController_updateStatus","summary":"Update a Feature's status","description":"Update a Feature's status","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureStatusDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"409":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]}},"/v2/projects/{project}/features/{feature}/staleness":{"get":{"operationId":"FeaturesController_getStaleness","summary":"Get a Feature's Staleness","description":"Get a Feature's Staleness","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureStalenessEntity"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}}},"tags":["Features v2"]},"patch":{"operationId":"FeaturesController_updateStaleness","summary":"Update a Feature's Staleness","description":"Update a Feature's Staleness","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStalenessDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureStalenessEntity"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]}},"/v2/projects/{project}/features/{feature}/summary":{"patch":{"operationId":"FeaturesController_updateSummary","summary":"Update a Feature's summary","description":"Update a Feature's summary","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFeatureSummaryDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureSummary"}}}},"400":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestErrorResponse"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"412":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreconditionFailedErrorResponse"}}}}},"tags":["Features v2"]}},"/v2/projects/{project}/change-requests":{"get":{"operationId":"ProjectChangeRequestsController_getFeatureChangeRequests","summary":"Get a list of Feature Change Requests for a Project","description":"Get a list of Feature Change Requests for a Project","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"enum":["draft","pending","approved","applied","rejected","cancelled"],"type":"string"}},{"name":"reviewer","required":false,"in":"query","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureChangeRequestSummary"}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Project Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests":{"post":{"operationId":"FeatureChangeRequestsController_createChangeRequest","summary":"Create Feature Change Request","description":"Create a new Feature Change Request","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFeatureChangeRequestDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureChangeRequest"}}}},"400":{"description":""},"409":{"description":""},"412":{"description":""}},"tags":["Feature Change Requests"]},"get":{"operationId":"FeatureChangeRequestsController_getPendingFeatureChangeRequests","summary":"Get a list of Pending Feature Change Requests for a Feature","description":"Get all pending Feature Change Requests for a Feature","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureChangeRequest"}}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests/latest":{"get":{"operationId":"FeatureChangeRequestsController_getLatestFeatureChangeRequest","summary":"Get the latest non-draft Feature Change Request for a Feature","description":"Get the latest Feature Change Request for a Feature that is NOT in the 'draft' state","parameters":[{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureChangeRequest"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests/{id}":{"get":{"operationId":"FeatureChangeRequestsController_getFeatureChangeRequest","summary":"Get a Feature Change Request","description":"Get a Feature Change Request by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureChangeRequest"}}}},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests/{id}/submit":{"patch":{"operationId":"FeatureChangeRequestsController_submitChangeRequestForReview","summary":"Submit Feature Change Request for Review","description":"Submit a Feature Change Request for Review","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitFeatureChangeRequestDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureChangeRequest"}}}},"400":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests/{id}/review":{"patch":{"operationId":"FeatureChangeRequestsController_reviewFeatureChangeRequest","summary":"Review a Pending Feature Change Request","description":"Update a Feature Change Request by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"apply","required":false,"in":"query","description":"Controls whether the review should also apply the change request to the feature","schema":{"type":"boolean"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewFeatureChangeRequestDto"}}}},"responses":{"200":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests/{id}/apply":{"patch":{"operationId":"FeatureChangeRequestsController_applyFeatureChangeRequest","summary":"Review a Pending Feature Change Request","description":"Update a Feature Change Request by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyFeatureChangeRequestDto"}}}},"responses":{"200":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v2/projects/{project}/features/{feature}/change-requests/{id}/cancel":{"patch":{"operationId":"FeatureChangeRequestsController_cancelFeatureChangeRequest","summary":"Cancel a Pending Feature Change Request","description":"Cancel a Feature Change Request by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"feature","required":true,"in":"path","description":"A Feature key or ID","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":""},"403":{"description":""},"404":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundErrorResponse"}}}},"405":{"description":""}},"tags":["Feature Change Requests"]}},"/v1/projects/{project}/webhooks":{"post":{"operationId":"WebhooksController_create","summary":"Create Webhook","description":"Create a new Webhook","parameters":[{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"400":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""},"409":{"description":""}},"tags":["Webhooks"]},"get":{"operationId":"WebhooksController_findAll","summary":"List Webhooks","description":"List Webhooks","parameters":[{"name":"page","required":false,"in":"query","schema":{"minimum":1,"default":1,"type":"number"}},{"name":"perPage","required":false,"in":"query","schema":{"minimum":1,"maximum":1000,"default":100,"type":"number"}},{"name":"sortBy","required":false,"in":"query","schema":{"default":"createdAt","enum":["createdAt","updatedAt","name","key","createdBy","propertyKey"],"type":"string"}},{"name":"sortOrder","required":false,"in":"query","schema":{"default":"desc","enum":["asc","desc"],"type":"string"}},{"name":"search","required":false,"in":"query","schema":{"minLength":3,"type":"string"}},{"name":"createdBy","required":false,"in":"query","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}}}}},"400":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Webhooks"]}},"/v1/projects/{project}/webhooks/{id}":{"patch":{"operationId":"WebhooksController_update","summary":"Update Webhook","description":"Update a Webhook","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"400":{"description":""},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Webhooks"]},"get":{"operationId":"WebhooksController_findOne","summary":"Get a Webhook","description":"Get a webhook by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Webhooks"]},"delete":{"operationId":"WebhooksController_remove","summary":"Delete a Webhook","description":"Delete a webhook by ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"project","required":true,"in":"path","description":"A Project key or ID","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"401":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Webhooks"]}},"/v1/integrations/dynatrace":{"post":{"operationId":"DynatraceIntegrationController_createIntegration","summary":"Create or Update Organization Dynatrace Integration","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDynatraceIntegrationDto"}}}},"responses":{"200":{"description":"Integration created/updated successfully"},"201":{"description":""},"400":{"description":""},"403":{"description":""}},"tags":["Integrations: Dynatrace"]},"get":{"operationId":"DynatraceIntegrationController_getIntegrations","summary":"Get Dynatrace Integrations","parameters":[],"responses":{"200":{"description":"Integrations fetched successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DynatraceIntegration"}}}},"400":{"description":""},"403":{"description":""}},"tags":["Integrations: Dynatrace"]}},"/v1/integrations/dynatrace/{dynatraceEnvironmentId}":{"delete":{"operationId":"DynatraceIntegrationController_deleteEnvironment","summary":"Delete Dynatrace Environment","parameters":[{"name":"dynatraceEnvironmentId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Environment deleted successfully"},"400":{"description":""},"403":{"description":""},"404":{"description":""}},"tags":["Integrations: Dynatrace"]}}},"info":{"title":"DevCycle Management API","description":"An API for managing features and variables on the DevCycle platform.\n \nAn authorization token can be obtained by making a OAuth request to our token endpoint using the client id and secret from [the DevCycle dashboard](https://app.devcycle.com/r/settings)\n\nExample using curl:\n \n curl --request POST \\\n --url \"https://auth.devcycle.com/oauth/token\" \\\n --header 'content-type: application/x-www-form-urlencoded' \\\n --data grant_type=client_credentials \\\n --data audience=https://api.devcycle.com/ \\\n --data client_id= \\\n --data client_secret=\n \nFor Enterprise customers with [strict roles and permissions enabled](https://docs.devcycle.com/platform/security-and-guardrails/permissions#full-role-based-access-control-project-level-roles--enterprise-only)\nusing the API requires a different request to get the access token.\n\nExample using curl:\n\n curl --request POST \\\n --url 'https://auth.devcycle.com/oauth/token' \\\n --header 'content-type: application/x-www-form-urlencoded' \\\n --data grant_type=refresh_token \\\n --data 'client_id=' \\\n --data 'refresh_token={yourRefreshToken}'\n \n","version":"1.0.0","contact":{}},"tags":[{"name":"Projects"},{"name":"Environments"},{"name":"Features v2"},{"name":"Audit Log"},{"name":"Variations"},{"name":"Variables"},{"name":"Audiences"},{"name":"Custom Properties"},{"name":"Metrics"},{"name":"Metric Associations"},{"name":"User Profiles"},{"name":"Overrides"},{"name":"Webhooks"},{"name":"Integrations: Dynatrace"},{"name":"Integrations: Jira"},{"name":"[Beta] Semantic Patch"},{"name":"Results"},{"name":"Project Change Requests"},{"name":"Feature Change Requests"},{"name":"Feature Configurations"},{"name":"[Deprecated] Features v1"}],"servers":[{"url":"https://api.devcycle.com"}],"components":{"schemas":{"EdgeDBSettingsDTO":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"ColorSettingsDTO":{"type":"object","properties":{"primary":{"type":"string","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"},"secondary":{"type":"string","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"}},"required":["primary","secondary"]},"OptInSettingsDTO":{"type":"object","properties":{"title":{"type":"string","maxLength":100,"minLength":1},"description":{"type":"string","maxLength":1000},"enabled":{"type":"boolean"},"imageURL":{"type":"string"},"colors":{"$ref":"#/components/schemas/ColorSettingsDTO"},"poweredByAlignment":{"type":"string","enum":["center","left","right","hidden"]}},"required":["title","description","enabled","imageURL","colors","poweredByAlignment"]},"SDKTypeVisibilitySettingsDTO":{"type":"object","properties":{"enabledInFeatureSettings":{"type":"boolean"}},"required":["enabledInFeatureSettings"]},"LifeCycleSettingsDTO":{"type":"object","properties":{"disableCodeRefChecks":{"type":"boolean"}},"required":["disableCodeRefChecks"]},"ObfuscationSettingsDTO":{"type":"object","properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"}},"required":["enabled","required"]},"DynatraceProjectSettingsDTO":{"type":"object","properties":{"enabled":{"type":"boolean"},"environmentMap":{"type":"object"}}},"ProjectSettingsDTO":{"type":"object","properties":{"edgeDB":{"$ref":"#/components/schemas/EdgeDBSettingsDTO"},"optIn":{"$ref":"#/components/schemas/OptInSettingsDTO"},"sdkTypeVisibility":{"$ref":"#/components/schemas/SDKTypeVisibilitySettingsDTO"},"lifeCycle":{"$ref":"#/components/schemas/LifeCycleSettingsDTO"},"obfuscation":{"$ref":"#/components/schemas/ObfuscationSettingsDTO"},"disablePassthroughRollouts":{"type":"boolean"},"dynatrace":{"$ref":"#/components/schemas/DynatraceProjectSettingsDTO"}},"required":["edgeDB","optIn","sdkTypeVisibility","lifeCycle","obfuscation","disablePassthroughRollouts","dynatrace"]},"CreateProjectDto":{"type":"object","properties":{"name":{"type":"string","description":"Project name","example":"Delivery App","maxLength":100,"minLength":1},"key":{"type":"string","description":"A unique key to identify the Project","example":"delivery-app","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"A description of the Project","example":"A web app to manage outbound deliveries","maxLength":1000},"color":{"type":"string","description":"Project display color, used to highlight different projects on the dashboard.\nMust use Hex color code.","example":"#4073FF","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"},"settings":{"$ref":"#/components/schemas/ProjectSettingsDTO"}},"required":["name","key"]},"EdgeDBSettings":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"ColorSettings":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"string"}},"required":["primary","secondary"]},"OptInSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"title":{"type":"string"},"description":{"type":"string"},"imageURL":{"type":"string"},"colors":{"$ref":"#/components/schemas/ColorSettings"},"poweredByAlignment":{"type":"object"}},"required":["enabled","title","description","imageURL","colors","poweredByAlignment"]},"SDKTypeVisibilitySettings":{"type":"object","properties":{"enabledInFeatureSettings":{"type":"boolean"}},"required":["enabledInFeatureSettings"]},"LifeCycleSettings":{"type":"object","properties":{"disableCodeRefChecks":{"type":"boolean"}},"required":["disableCodeRefChecks"]},"ObfuscationSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"}},"required":["enabled","required"]},"FeatureApprovalWorkflowSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowPublisherBypass":{"type":"boolean"},"defaultReviewers":{"type":"array","items":{"type":"string"}}},"required":["enabled","allowPublisherBypass","defaultReviewers"]},"ReleasedStalenessSettings":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"UnmodifiedLongStalenessSettings":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"UnmodifiedShortStalenessSettings":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"UnusedStalenessSettings":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"StalenessEmailSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"frequency":{"type":"string","enum":["weekly","biweekly","monthly"]},"users":{"type":"array","items":{"type":"string"}},"lastNotification":{"format":"date-time","type":"string"}},"required":["enabled","frequency","users","lastNotification"]},"StalenessSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"released":{"$ref":"#/components/schemas/ReleasedStalenessSettings"},"unmodifiedLong":{"$ref":"#/components/schemas/UnmodifiedLongStalenessSettings"},"unmodifiedShort":{"$ref":"#/components/schemas/UnmodifiedShortStalenessSettings"},"unused":{"$ref":"#/components/schemas/UnusedStalenessSettings"},"email":{"$ref":"#/components/schemas/StalenessEmailSettings"}},"required":["enabled","released","unmodifiedLong","unmodifiedShort","unused","email"]},"DynatraceProjectSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"environmentMap":{"type":"object"}},"required":["enabled","environmentMap"]},"ProjectSettings":{"type":"object","properties":{"edgeDB":{"$ref":"#/components/schemas/EdgeDBSettings"},"optIn":{"$ref":"#/components/schemas/OptInSettings"},"sdkTypeVisibility":{"$ref":"#/components/schemas/SDKTypeVisibilitySettings"},"lifeCycle":{"$ref":"#/components/schemas/LifeCycleSettings"},"obfuscation":{"$ref":"#/components/schemas/ObfuscationSettings"},"featureApprovalWorkflow":{"$ref":"#/components/schemas/FeatureApprovalWorkflowSettings"},"disablePassthroughRollouts":{"type":"boolean"},"staleness":{"$ref":"#/components/schemas/StalenessSettings"},"dynatrace":{"$ref":"#/components/schemas/DynatraceProjectSettings"}},"required":["edgeDB","optIn","sdkTypeVisibility","lifeCycle","obfuscation","featureApprovalWorkflow","disablePassthroughRollouts","staleness","dynatrace"]},"VercelEdgeConfigConnection":{"type":"object","properties":{"edgeConfigName":{"type":"string"},"configurationId":{"type":"string"}},"required":["edgeConfigName","configurationId"]},"Project":{"type":"object","properties":{"_id":{"type":"string","description":"A unique Project ID","example":"61450f3daec96f5cf4a49946"},"_organization":{"type":"string","description":"ID of the Organization owning the Project"},"_createdBy":{"type":"string","description":"ID of the User who created the project"},"name":{"type":"string","description":"Project name","example":"Delivery App"},"key":{"type":"string","description":"A unique key to identify the Project","example":"delivery-app"},"description":{"type":"string","description":"A description of the Project","example":"A web app to manage outbound deliveries"},"color":{"type":"string","description":"Project display color, used to highlight different projects on the dashboard.\nMust use Hex color code.","example":"#4073FF"},"settings":{"$ref":"#/components/schemas/ProjectSettings"},"createdAt":{"format":"date-time","type":"string","description":"The date the Project was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Project was last updated"},"hasJiraIntegration":{"type":"boolean","description":"Boolean tracking whether this project has a jira integration set up"},"hasReceivedCodeUsages":{"type":"boolean","description":"Describe if a project has ever received code usages for any variable"},"hasUserConfigFetch":{"type":"boolean","description":"Boolean indicating whether a user config has been fetched for this project"},"jiraBaseUrl":{"type":"string","description":"Jira project base url, if the integration is defined"},"readonly":{"type":"boolean","description":"Controls whether the feature is editable for a given user"},"vercelEdgeConfigConnections":{"description":"Edge Config Connections for the project","type":"array","items":{"$ref":"#/components/schemas/VercelEdgeConfigConnection"}}},"required":["_id","_organization","_createdBy","name","key","settings","createdAt","updatedAt","hasJiraIntegration","hasReceivedCodeUsages","hasUserConfigFetch","jiraBaseUrl","readonly"]},"BadRequestErrorResponse":{"type":"object","properties":{"statusCode":{"type":"number","description":"Response status code","example":400},"message":{"type":"object","description":"Error details","example":["key should not be empty"]},"error":{"type":"string","description":"Error type","example":"Bad Request"}},"required":["statusCode","message","error"]},"ConflictErrorResponse":{"type":"object","properties":{"statusCode":{"type":"number","description":"Response status code","example":409},"message":{"type":"object","description":"Error details","example":"Duplicate key 'key-123'"},"error":{"type":"string","description":"Error type","example":"Conflict"},"errorType":{"type":"string","example":"ERR_DUPE_FEATURE_KEY"}},"required":["statusCode","message","error","errorType"]},"NotFoundErrorResponse":{"type":"object","properties":{"statusCode":{"type":"number","description":"Response status code","example":404},"message":{"type":"object","description":"Error details","example":"Item with key 'key-123' not found"},"error":{"type":"string","description":"Error type","example":"Not Found"}},"required":["statusCode","message","error"]},"UpdateProjectDto":{"type":"object","properties":{"name":{"type":"string","description":"Project name","example":"Delivery App","maxLength":100,"minLength":1},"key":{"type":"string","description":"A unique key to identify the Project","example":"delivery-app","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"A description of the Project","example":"A web app to manage outbound deliveries","maxLength":1000},"color":{"type":"string","description":"Project display color, used to highlight different projects on the dashboard.\nMust use Hex color code.","example":"#4073FF","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"},"settings":{"$ref":"#/components/schemas/ProjectSettingsDTO"}}},"UpdateProjectSettingsDto":{"type":"object","properties":{"settings":{"$ref":"#/components/schemas/ProjectSettings"}},"required":["settings"]},"FeatureApprovalWorkflowDTO":{"type":"object","properties":{"enabled":{"type":"boolean"},"allowPublisherBypass":{"type":"boolean"},"defaultReviewers":{"type":"array","items":{"type":"string"}}},"required":["enabled","allowPublisherBypass","defaultReviewers"]},"ReleasedStalenessDTO":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"UnmodifiedLongStalenessDTO":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"UnmodifiedShortStalenessDTO":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"UnusedStalenessDTO":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"EmailSettingsDTO":{"type":"object","properties":{"enabled":{"type":"boolean"},"users":{"type":"array","items":{"type":"string"}},"frequency":{"type":"string","enum":["weekly","biweekly","monthly"]}},"required":["enabled","users","frequency"]},"StalenessSettingsDTO":{"type":"object","properties":{"enabled":{"type":"boolean"},"released":{"$ref":"#/components/schemas/ReleasedStalenessDTO"},"unmodifiedLong":{"$ref":"#/components/schemas/UnmodifiedLongStalenessDTO"},"unmodifiedShort":{"$ref":"#/components/schemas/UnmodifiedShortStalenessDTO"},"unused":{"$ref":"#/components/schemas/UnusedStalenessDTO"},"email":{"$ref":"#/components/schemas/EmailSettingsDTO"}},"required":["enabled","released","unmodifiedLong","unmodifiedShort","unused","email"]},"ProtectedProjectSettingsDto":{"type":"object","properties":{"featureApprovalWorkflow":{"$ref":"#/components/schemas/FeatureApprovalWorkflowDTO"},"staleness":{"$ref":"#/components/schemas/StalenessSettingsDTO"}},"required":["featureApprovalWorkflow","staleness"]},"UpdateProtectedProjectSettingsDto":{"type":"object","properties":{"settings":{"$ref":"#/components/schemas/ProtectedProjectSettingsDto"}},"required":["settings"]},"CannotDeleteLastItemErrorResponse":{"type":"object","properties":{"statusCode":{"type":"number","description":"Response status code","example":405},"message":{"type":"object","description":"Error details","example":"Cannot DELETE last item"},"error":{"type":"string","description":"Error type","example":"Method Not Allowed"}},"required":["statusCode","message","error"]},"FeatureStalenessEntity":{"type":"object","properties":{"key":{"type":"string","description":"Feature key"},"name":{"type":"string","description":"Feature name"},"_feature":{"type":"string","description":"Feature ID"},"stale":{"type":"boolean","description":"Staleness status"},"updatedAt":{"format":"date-time","type":"string","description":"Last updated at"},"disabled":{"type":"boolean","description":"If the Feature's staleness is disabled"},"snoozedUntil":{"format":"date-time","type":"string","description":"Snooze staleness until date specified"},"reason":{"description":"Reason for staleness","enum":["released","unused","unmodifiedShort","unmodifiedLong"],"type":"string"},"metaData":{"type":"object","description":"Miscellaneous metadata"}},"required":["key","name","_feature","stale","disabled"]},"EnvironmentSettings":{"type":"object","properties":{"appIconURI":{"type":"string","description":"A unique App Icon URI for a given environment","maxLength":2048}}},"CreateEnvironmentDto":{"type":"object","properties":{"name":{"type":"string","description":"A unique display name","example":"Staging Upcoming","maxLength":100,"minLength":1},"key":{"type":"string","description":"Unique Environment identifier, can be used in the SDK / API to reference by key rather than ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"staging-upcoming","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Environment description.","example":"Pre-production changes","maxLength":1000},"color":{"type":"string","description":"Environment display color, used to highlight different environments on the dashboard.\nMust use Hex color code.","example":"#4073FF","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"},"type":{"type":"string","description":"The environment type","example":"staging","enum":["development","staging","production","disaster_recovery"]},"settings":{"description":"Environment based settings","allOf":[{"$ref":"#/components/schemas/EnvironmentSettings"}]}},"required":["name","key","type"]},"APIKey":{"type":"object","properties":{}},"SDKKeys":{"type":"object","properties":{"mobile":{"type":"array","items":{"$ref":"#/components/schemas/APIKey"}},"client":{"type":"array","items":{"$ref":"#/components/schemas/APIKey"}},"server":{"type":"array","items":{"$ref":"#/components/schemas/APIKey"}}},"required":["mobile","client","server"]},"Environment":{"type":"object","properties":{"name":{"type":"string","description":"A unique display name","example":"Staging Upcoming","maxLength":100,"minLength":1},"key":{"type":"string","description":"Unique Environment identifier, can be used in the SDK / API to reference by key rather than ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"staging-upcoming","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Environment description.","example":"Pre-production changes","maxLength":1000},"color":{"type":"string","description":"Environment display color, used to highlight different environments on the dashboard.\nMust use Hex color code.","example":"#4073FF","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"},"_id":{"type":"string","description":"A unique Environment ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Environment"},"type":{"description":"The environment type","example":"staging","enum":["development","staging","production","disaster_recovery"],"type":"string"},"_createdBy":{"type":"string","description":"ID of the User who created the Environment."},"createdAt":{"format":"date-time","type":"string","description":"The date the Environment was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Environment was last updated"},"sdkKeys":{"description":"SDK Keys for mobile SDKs / client SDKs / server SDKs.\nMultiple keys can be created to allow for key rotation.","allOf":[{"$ref":"#/components/schemas/SDKKeys"}]},"settings":{"description":"Environment based settings","allOf":[{"$ref":"#/components/schemas/EnvironmentSettings"}]},"readonly":{"type":"boolean","description":"Controls whether the environment is editable for a given user"}},"required":["name","key","_id","_project","type","_createdBy","createdAt","updatedAt","readonly"]},"UpdateEnvironmentDto":{"type":"object","properties":{"name":{"type":"string","description":"A unique display name","example":"Staging Upcoming","maxLength":100,"minLength":1},"key":{"type":"string","description":"Unique Environment identifier, can be used in the SDK / API to reference by key rather than ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"staging-upcoming","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Environment description.","example":"Pre-production changes","maxLength":1000},"color":{"type":"string","description":"Environment display color, used to highlight different environments on the dashboard.\nMust use Hex color code.","example":"#4073FF","maxLength":9,"pattern":"^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$"},"type":{"description":"The environment type","example":"staging","enum":["development","staging","production","disaster_recovery"],"type":"string"},"settings":{"description":"Environment based settings","allOf":[{"$ref":"#/components/schemas/EnvironmentSettings"}]}}},"GenerateSdkTokensDto":{"type":"object","properties":{"client":{"type":"boolean"},"server":{"type":"boolean"},"mobile":{"type":"boolean"}}},"AllFilter":{"type":"object","properties":{"type":{"type":"string","description":"Filter type of this audience","default":"all","enum":["all"]}},"required":["type"]},"UserFilter":{"type":"object","properties":{"subType":{"description":"Sub type of this filter","example":"email","enum":["user_id","email","platform","deviceModel"],"type":"string"},"comparator":{"description":"Comparator to use","example":"!=","enum":["=","!=","exist","!exist","contain","!contain","startWith","!startWith","endWith","!endWith"],"type":"string"},"values":{"description":"An array of values is required for all filters except when the comparator is 'exist' or '!exist'","example":["baduser@email.com"],"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Filter type of this audience","example":"user","default":"user","enum":["user"]}},"required":["subType","comparator","type"]},"UserCountryFilter":{"type":"object","properties":{"subType":{"description":"Sub type of this filter","example":"country","enum":["country"],"type":"string","default":"country"},"comparator":{"description":"Comparator to use","example":"!=","enum":["=","!=","exist","!exist","contain","!contain","startWith","!startWith","endWith","!endWith"],"type":"string"},"values":{"description":"An array of values is required for all filters except when the comparator is 'exist' or '!exist'","example":["CA","US"],"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Filter type of this audience","example":"user","default":"user","enum":["user"]}},"required":["subType","comparator","type"]},"UserAppVersionFilter":{"type":"object","properties":{"comparator":{"description":"Comparator to use","example":">","enum":["=","!=",">",">=","<","<=","exist","!exist"],"type":"string"},"values":{"description":"An array of values is required for all filters except when the comparator is 'exist' or '!exist'","example":["1.0.2"],"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Filter type of this audience","example":"user","default":"user","enum":["user"]},"subType":{"type":"string","description":"Sub type of this filter","example":"appVersion","default":"appVersion","enum":["appVersion"]}},"required":["comparator","type","subType"]},"UserPlatformVersionFilter":{"type":"object","properties":{"comparator":{"description":"Comparator to use","example":">","enum":["=","!=",">",">=","<","<=","exist","!exist"],"type":"string"},"values":{"description":"An array of values is required for all filters except when the comparator is 'exist' or '!exist'","example":["1.0.2"],"type":"array","items":{"type":"string"}},"type":{"type":"string","description":"Filter type of this audience","example":"user","default":"user","enum":["user"]},"subType":{"type":"string","description":"Sub type of this filter","example":"appVersion","default":"appVersion","enum":["appVersion"]}},"required":["comparator","type","subType"]},"UserCustomFilter":{"type":"object","properties":{"comparator":{"description":"Comparator to use","example":">=","enum":["=","!=",">",">=","<","<=","exist","!exist","contain","!contain","startWith","!startWith","endWith","!endWith"],"type":"string"},"dataKey":{"type":"string","description":"Data Key used for custom data","example":"my_custom_prop","minLength":1},"dataKeyType":{"description":"Data Key Type used for custom data","example":"Number","enum":["String","Boolean","Number"],"type":"string"},"values":{"type":"object","description":"An array of values is required for all filters except when the comparator is 'exist' or '!exist'","example":[0]},"type":{"type":"string","description":"Filter type of this audience","example":"user","default":"user","enum":["user"]},"subType":{"type":"string","description":"Sub type of this filter","example":"customData","default":"customData","enum":["customData"]}},"required":["comparator","dataKey","dataKeyType","type","subType"]},"AudienceMatchFilter":{"type":"object","properties":{"type":{"type":"string","default":"audienceMatch","enum":["audienceMatch"]},"comparator":{"enum":["=","!="],"type":"string"},"_audiences":{"type":"array","items":{"type":"string"}}},"required":["type"]},"AudienceOperator":{"type":"object","properties":{"filters":{"type":"array","description":"Filters to apply using the \"operator\" operation","items":{"anyOf":[{"$ref":"#/components/schemas/AllFilter"},{"$ref":"#/components/schemas/UserFilter"},{"$ref":"#/components/schemas/UserCountryFilter"},{"$ref":"#/components/schemas/UserAppVersionFilter"},{"$ref":"#/components/schemas/UserPlatformVersionFilter"},{"$ref":"#/components/schemas/UserCustomFilter"}]}},"operator":{"type":"string","description":"Operator type if this object represents an operator, and not a filter","enum":["and","or"]}},"required":["filters","operator"]},"CreateAudienceDto":{"type":"object","properties":{"name":{"type":"string","description":"Audience display name, must be set for project-level audiences.","example":"Android Users","maxLength":100,"minLength":1},"key":{"type":"string","description":"Audience unique project-level key, must be set for project-level audiences.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"android-users","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Audience description.","example":"Users with android devices","maxLength":1000},"filters":{"description":"Audience filters, describing logic for segmenting users","allOf":[{"$ref":"#/components/schemas/AudienceOperator"}]},"tags":{"description":"Tags to organize project-level audiences on the dashboard","type":"array","items":{"type":"string"}}},"required":["filters"]},"Audience":{"type":"object","properties":{"name":{"type":"string","description":"Audience display name, must be set for project-level audiences.","example":"Android Users","maxLength":100,"minLength":1},"key":{"type":"string","description":"Audience unique project-level key, must be set for project-level audiences.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"android-users","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Audience description.","example":"Users with android devices","maxLength":1000},"_id":{"type":"string","description":"A unique Audience ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Audience","example":"61450f3daec96f5cf4a49955"},"filters":{"description":"Audience filters, describing logic for segmenting users","allOf":[{"$ref":"#/components/schemas/AudienceOperator"}]},"source":{"description":"Source that created the Audience","enum":["api","dashboard","importer","github.code_usages","github.pr_insights","gitlab.code_usages","gitlab.pr_insights","bitbucket.code_usages","bitbucket.pr_insights","terraform","cli","slack","mcp"],"type":"string"},"_createdBy":{"type":"string","description":"User who created the Audience"},"createdAt":{"format":"date-time","type":"string","description":"The date the feature was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the feature was last updated"},"tags":{"description":"Tags to organize project-level audiences on the dashboard","type":"array","items":{"type":"string"}},"readonly":{"type":"boolean","description":"Readonly state based on the Users Permission to modify the Audience","example":true},"hasUsage":{"type":"boolean","description":"Whether the audience is in use by a feature","example":true}},"required":["_id","_project","filters","createdAt","updatedAt","readonly"]},"UpdateAudienceDto":{"type":"object","properties":{"name":{"type":"string","description":"Audience display name, must be set for project-level audiences.","example":"Android Users","maxLength":100,"minLength":1},"key":{"type":"string","description":"Audience unique project-level key, must be set for project-level audiences.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"android-users","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Audience description.","example":"Users with android devices","maxLength":1000},"filters":{"description":"Audience filters, describing logic for segmenting users","allOf":[{"$ref":"#/components/schemas/AudienceOperator"}]},"tags":{"description":"Tags to organize project-level audiences on the dashboard","type":"array","items":{"type":"string"}}}},"AudienceEnvironments":{"type":"object","properties":{}},"AudienceFeature":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","maxLength":100,"minLength":1},"id":{"type":"string"},"environments":{"$ref":"#/components/schemas/AudienceEnvironments"}},"required":["key","name","id","environments"]},"AudienceUsage":{"type":"object","properties":{"features":{"type":"array","items":{"$ref":"#/components/schemas/AudienceFeature"}}},"required":["features"]},"VariableValidationEntity":{"type":"object","properties":{"schemaType":{"type":"object"},"enumValues":{"type":"object"},"regexPattern":{"type":"string"},"jsonSchema":{"type":"string"},"description":{"type":"string"},"exampleValue":{"type":"object"}},"required":["schemaType","description","exampleValue"]},"CreateVariableDto":{"type":"object","properties":{"name":{"type":"string","description":"Variable name","example":"Show New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"A description of the Variable","example":"A boolean variable that will toggle the new dashboard feature","maxLength":1000},"key":{"type":"string","description":"Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"show-new-dashboard","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"_feature":{"type":"string","description":"The ID of the Feature this Variable belongs to","example":"61450f3daec96f5cf4a49947"},"type":{"type":"string","description":"The type of Variable. Must be one of [String | Boolean | Number | JSON]","example":"Boolean","enum":["String","Boolean","Number","JSON"]},"validationSchema":{"description":"Validation schema for variable values","allOf":[{"$ref":"#/components/schemas/VariableValidationEntity"}]},"tags":{"description":"Feature tags.","example":["new","dashboard"],"type":"array","items":{"type":"string"}}},"required":["key","type"]},"Variable":{"type":"object","properties":{"name":{"type":"string","description":"Variable name","example":"Show New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"A description of the Variable","example":"A boolean variable that will toggle the new dashboard feature","maxLength":1000},"key":{"type":"string","description":"Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"show-new-dashboard","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"_id":{"type":"string","description":"A unique Variable ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The ID of the Project this Variable belongs to"},"_feature":{"type":"string","description":"The ID of the Feature this Variable belongs to","example":"61450f3daec96f5cf4a49947"},"type":{"description":"The type of Variable. Must be one of [String | Boolean | Number | JSON]","example":"Boolean","enum":["String","Boolean","Number","JSON"],"type":"string"},"status":{"description":"The status of a Variable. Must be one of [active | archived]","example":"active","enum":["active","archived"],"type":"string"},"source":{"description":"The system that was used for the creation of the Variable.","example":"api","enum":["api","dashboard","importer","github.code_usages","github.pr_insights","gitlab.code_usages","gitlab.pr_insights","bitbucket.code_usages","bitbucket.pr_insights","terraform","cli","slack","mcp"],"type":"string"},"_createdBy":{"type":"string","description":"ID of the User who created the Variable."},"createdAt":{"format":"date-time","type":"string","description":"The date the Variable was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Variable was last updated"},"validationSchema":{"description":"Validation schema for variable values","allOf":[{"$ref":"#/components/schemas/VariableValidationEntity"}]},"persistent":{"type":"boolean","description":"Boolean indicating if the variable is intended to be long-lived within a feature"},"tags":{"description":"Tags to organize Variables on the dashboard","example":["Dashboard","QA"],"type":"array","items":{"type":"string"}}},"required":["key","_id","_project","type","status","source","createdAt","updatedAt"]},"UpdateVariableDto":{"type":"object","properties":{"name":{"type":"string","description":"Variable name","example":"Show New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"A description of the Variable","example":"A boolean variable that will toggle the new dashboard feature","maxLength":1000},"key":{"type":"string","description":"Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"show-new-dashboard","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"type":{"description":"The type of Variable. Must be one of [String | Boolean | Number | JSON]","example":"Boolean","enum":["String","Boolean","Number","JSON"],"type":"string"},"validationSchema":{"description":"Validation schema for variable values","allOf":[{"$ref":"#/components/schemas/VariableValidationEntity"}]},"persistent":{"type":"boolean","description":"Boolean indicating if the variable is intended to be long-lived within a feature"},"tags":{"description":"Tags to organize Variables on the dashboard","example":["Dashboard","QA"],"type":"array","items":{"type":"string"}}}},"UpdateVariableStatusDto":{"type":"object","properties":{"status":{"type":"string","description":"Status field indicating whether a variable is actively being used, or is archived.","enum":["active","archived"]}},"required":["status"]},"PreconditionFailedErrorResponse":{"type":"object","properties":{"statusCode":{"type":"number","description":"Response status code","example":412},"message":{"type":"object","description":"Error details","example":"Variable does not belong to Feature"},"error":{"type":"string","description":"Error type","example":"Precondition Failed"}},"required":["statusCode","message","error"]},"ReassociateVariableDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique Variable identifier, can be used in the SDK / API to reference by key rather then ID.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"reassociate-this-variable","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"}},"required":["key"]},"FeatureVariationDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"variation-1","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Variation display name.","example":"User's with dashboard access","maxLength":100,"minLength":1},"variables":{"type":"object","description":"A key-value map of variables to their value for this variation","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array"},{"type":"object"}]},"example":{"show-new-dashboard":true,"string-var":"hello world","bool-var":true,"num-var":99,"json-var":{"foo":"bar"}}}},"required":["key","name"]},"FeatureSettingsDto":{"type":"object","properties":{"publicName":{"type":"string","maxLength":100,"minLength":1},"publicDescription":{"type":"string","maxLength":1000},"optInEnabled":{"type":"boolean"}},"required":["publicName","publicDescription","optInEnabled"]},"FeatureSDKVisibilityDto":{"type":"object","properties":{"mobile":{"type":"boolean"},"client":{"type":"boolean"},"server":{"type":"boolean"}},"required":["mobile","client","server"]},"CreateFeatureDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-dash","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Name of the Feature","example":"New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"Feature description.","example":"New Dashboard","maxLength":1000},"configurations":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UpdateFeatureConfigDto"},"example":{"development":{"status":"active","targets":[]},"production":{"status":"inactive","targets":[]}}},"type":{"type":"string","description":"Feature type.","example":"release","enum":["release","experiment","permission","ops"]},"tags":{"description":"Feature tags.","example":["new","dashboard"],"type":"array","items":{"type":"string"}},"variations":{"description":"Variation configurations to be used by feature configurations.","type":"array","items":{"$ref":"#/components/schemas/CreateVariationDto"}},"controlVariation":{"type":"string","description":"The key of the variation that is used as the control variation for Metrics"},"variables":{"description":"Variable definitions to be referenced in variations","type":"array","items":{"$ref":"#/components/schemas/CreateVariableDto"}},"settings":{"description":"Feature-level settings.","allOf":[{"$ref":"#/components/schemas/FeatureSettingsDto"}]},"sdkVisibility":{"description":"SDK Type Visibilty Settings","allOf":[{"$ref":"#/components/schemas/FeatureSDKVisibilityDto"}]}},"required":["key","name","configurations"]},"Variation":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"variation-1","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Variation display name.","example":"User's with dashboard access","maxLength":100,"minLength":1},"variables":{"type":"object","description":"A key-value map of variables to their value for this variation","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array"},{"type":"object"}]},"example":{"show-new-dashboard":true,"string-var":"hello world","bool-var":true,"num-var":99,"json-var":{"foo":"bar"}}},"_id":{"type":"string","description":"A unique Variation ID","example":"61450f3daec96f5cf4a49946"}},"required":["key","name","_id"]},"FeatureSettings":{"type":"object","properties":{"publicName":{"type":"string","maxLength":100,"minLength":1},"publicDescription":{"type":"string","maxLength":1000},"optInEnabled":{"type":"boolean"}},"required":["publicName","publicDescription","optInEnabled"]},"FeatureSDKVisibility":{"type":"object","properties":{"mobile":{"type":"boolean"},"client":{"type":"boolean"},"server":{"type":"boolean"}},"required":["mobile","client","server"]},"Feature":{"type":"object","properties":{"_id":{"type":"string","description":"A unique Feature ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Feature"},"source":{"description":"Source that created the Feature","enum":["api","dashboard","importer","github.code_usages","github.pr_insights","gitlab.code_usages","gitlab.pr_insights","bitbucket.code_usages","bitbucket.pr_insights","terraform","cli","slack","mcp"],"type":"string"},"status":{"description":"Status of the Feature","enum":["active","complete","archived"],"type":"string"},"type":{"description":"The Feature type","enum":["release","experiment","permission","ops"],"type":"string"},"name":{"type":"string","description":"Name of the Feature","example":"New Dashboard"},"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-dash"},"description":{"type":"string","description":"Feature description.","example":"New client-facing dashboard."},"_createdBy":{"type":"string","description":"ID of the User who created the Feature"},"createdAt":{"format":"date-time","type":"string","description":"The date the Feature was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Feature was last updated"},"prodTargetingUpdatedAt":{"format":"date-time","type":"string","description":"The date the Feature had an update that impacted production targeting"},"variations":{"description":"Variation configurations to be used by feature configurations.","type":"array","items":{"$ref":"#/components/schemas/Variation"}},"controlVariation":{"type":"string","description":"The key of the variation that is used as the control variation for Metrics"},"staticVariation":{"type":"string","description":"The key of the variation that is set when the Feature's status is set to complete"},"variables":{"description":"Variable definitions to be referenced in variations","type":"array","items":{"$ref":"#/components/schemas/Variable"}},"tags":{"description":"Tags to organize Features on the dashboard","example":["Dashboard","QA"],"type":"array","items":{"type":"string"}},"ldLink":{"type":"string","description":"A link to the feature on LaunchDarkly if it has importedByLD type"},"readonly":{"type":"boolean","description":"Controls whether the feature is editable for a given user"},"settings":{"description":"Defines feature-level settings","allOf":[{"$ref":"#/components/schemas/FeatureSettings"}]},"sdkVisibility":{"description":"SDK Type visibility settings to filter features by platform","allOf":[{"$ref":"#/components/schemas/FeatureSDKVisibility"}]},"configurations":{"description":"An array of targeting configurations for the associated environments","type":"array","items":{"$ref":"#/components/schemas/FeatureConfig"}},"latestUpdate":{"description":"Most recent audit log entry for this feature\nOnly included in response if includeLatestUpdate query param is true","allOf":[{"$ref":"#/components/schemas/AuditLogEntity"}]},"changeRequests":{"description":"Pending change requests for this Feature","type":"array","items":{"type":"object"}},"staleness":{"description":"The staleness of the feature","allOf":[{"$ref":"#/components/schemas/FeatureStaleness"}]},"summary":{"description":"Summary details for dashboard","allOf":[{"$ref":"#/components/schemas/FeatureSummary"}]}},"required":["_id","_project","source","status","name","key","createdAt","updatedAt","controlVariation","readonly","configurations","summary"]},"UpdateFeatureDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-dash","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Name of the Feature","example":"New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"Feature description.","example":"New Dashboard","maxLength":1000},"configurations":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UpdateFeatureConfigDto"},"example":{"development":{"status":"active","targets":[]},"production":{"status":"inactive","targets":[]}}},"variations":{"description":"Variation configurations to be used by feature configurations.","type":"array","items":{"$ref":"#/components/schemas/UpdateVariationDto"}},"staleness":{"type":"object"},"summary":{"$ref":"#/components/schemas/UpdateFeatureSummaryDto"},"variables":{"description":"Variable definitions to be referenced in variations","type":"array","items":{"$ref":"#/components/schemas/CreateVariableDto"}},"type":{"type":"string","description":"Feature type.","example":"release","enum":["release","experiment","permission","ops"]},"tags":{"description":"Feature tags.","example":["new","dashboard"],"type":"array","items":{"type":"string"}},"controlVariation":{"type":"string","description":"The key of the variation that is used as the control variation for Metrics"},"settings":{"description":"Feature-level settings.","allOf":[{"$ref":"#/components/schemas/FeatureSettingsDto"}]},"sdkVisibility":{"description":"SDK Type Visibilty Settings","allOf":[{"$ref":"#/components/schemas/FeatureSDKVisibilityDto"}]}}},"UpdateFeatureStatusDto":{"type":"object","properties":{"status":{"description":"The status to set the Feature's status to","enum":["active","complete","archived"],"type":"string"},"staticVariation":{"type":"string","description":"The variation key or ID to serve if the status is set to complete"}},"required":["status"]},"StaticConfiguration":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-dash","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Name of the Feature","example":"New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"Feature description.","example":"New Dashboard","maxLength":1000},"variables":{"type":"object","description":"The static value of each variable in the feature"},"environments":{"type":"object","description":"The status of the configuration in each environment"},"readonly":{"type":"boolean","description":"Controls whether the static configuration is editable for a given user"},"type":{"description":"Feature type.","example":"release","enum":["release","experiment","permission","ops"],"type":"string"},"tags":{"description":"Feature tags.","example":["new","dashboard"],"type":"array","items":{"type":"string"}},"controlVariation":{"type":"string","description":"The key of the variation that is used as the control variation for Metrics"},"settings":{"description":"Feature-level settings.","allOf":[{"$ref":"#/components/schemas/FeatureSettingsDto"}]},"sdkVisibility":{"description":"SDK Type Visibilty Settings","allOf":[{"$ref":"#/components/schemas/FeatureSDKVisibilityDto"}]},"staleness":{"type":"object"},"summary":{"$ref":"#/components/schemas/UpdateFeatureSummaryDto"}},"required":["variables","environments","readonly"]},"UpdateStaticConfigurationDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-dash","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Name of the Feature","example":"New Dashboard","maxLength":100,"minLength":1},"description":{"type":"string","description":"Feature description.","example":"New Dashboard","maxLength":1000},"type":{"type":"string","description":"Feature type.","example":"release","enum":["release","experiment","permission","ops"]},"tags":{"description":"Feature tags.","example":["new","dashboard"],"type":"array","items":{"type":"string"}},"controlVariation":{"type":"string","description":"The key of the variation that is used as the control variation for Metrics"},"settings":{"description":"Feature-level settings.","allOf":[{"$ref":"#/components/schemas/FeatureSettingsDto"}]},"sdkVisibility":{"description":"SDK Type Visibilty Settings","allOf":[{"$ref":"#/components/schemas/FeatureSDKVisibilityDto"}]},"staleness":{"type":"object"},"summary":{"$ref":"#/components/schemas/UpdateFeatureSummaryDto"},"variables":{"type":"object","description":"The static value of each variable in the feature"},"environments":{"type":"object","description":"The status of the configuration in each environment"}}},"LinkJiraIssueDto":{"type":"object","properties":{"issueId":{"type":"string"}},"required":["issueId"]},"JiraIssueLink":{"type":"object","properties":{"issueId":{"type":"string"}},"required":["issueId"]},"UpdateFeatureVariationDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"variation-1","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Variation display name.","example":"User's with dashboard access","maxLength":100,"minLength":1},"variables":{"type":"object","description":"A key-value map of variables to their value for this variation","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array"},{"type":"object"}]},"example":{"show-new-dashboard":true,"string-var":"hello world","bool-var":true,"num-var":99,"json-var":{"foo":"bar"}}},"_id":{"type":"string"}}},"AudienceOperatorWithAudienceMatchFilter":{"type":"object","properties":{"filters":{"type":"array","description":"Filters to apply using the \"operator\" operation","items":{"anyOf":[{"$ref":"#/components/schemas/AllFilter"},{"$ref":"#/components/schemas/UserFilter"},{"$ref":"#/components/schemas/UserCountryFilter"},{"$ref":"#/components/schemas/UserAppVersionFilter"},{"$ref":"#/components/schemas/UserPlatformVersionFilter"},{"$ref":"#/components/schemas/UserCustomFilter"},{"$ref":"#/components/schemas/AudienceMatchFilter"}]}},"operator":{"description":"Operator type if this object represents an operator, and not a filter","enum":["and","or"],"type":"string"}},"required":["filters","operator"]},"TargetAudience":{"type":"object","properties":{"name":{"type":"string","description":"Audience display name, must be set for project-level audiences.","example":"Android Users","maxLength":100,"minLength":1},"filters":{"description":"Audience filters, describing logic for segmenting users","allOf":[{"$ref":"#/components/schemas/AudienceOperatorWithAudienceMatchFilter"}]}},"required":["filters"]},"RolloutStage":{"type":"object","properties":{"percentage":{"type":"number","description":"Target percentage to reach by the step date","minimum":0,"maximum":1},"type":{"type":"string","description":"Defines the transition into this percentage level","enum":["linear","discrete"]},"date":{"format":"date-time","type":"string","description":"Date the target percentage should be fully applied"}},"required":["percentage","type","date"]},"Rollout":{"type":"object","properties":{"startPercentage":{"type":"number","description":"Rollout start percentage","minimum":0,"maximum":1},"type":{"type":"string","description":"Type of rollout","enum":["schedule","gradual","stepped"]},"startDate":{"format":"date-time","type":"string","description":"Date to start rollout"},"stages":{"description":"Stages of rollout","type":"array","items":{"$ref":"#/components/schemas/RolloutStage"}}},"required":["type","startDate"]},"TargetDistribution":{"type":"object","properties":{"percentage":{"type":"number","description":"Distribution percentage for the variation","example":0.0005,"minimum":0,"maximum":1},"_variation":{"type":"string","description":"Variation ID or key from `feature.variations`","example":"variation-1"}},"required":["percentage","_variation"]},"Target":{"type":"object","properties":{"_id":{"type":"string","description":"A unique Target ID","example":"61450f3daec96f5cf4a49946"},"name":{"type":"string","description":"Target name","example":"Feature Enabled"},"audience":{"description":"Audience model describing target segmentation.","allOf":[{"$ref":"#/components/schemas/TargetAudience"}]},"rollout":{"description":"Rollout sub-document describing how a Target's audience is rolled out","allOf":[{"$ref":"#/components/schemas/Rollout"}]},"distribution":{"description":"Specifies variation distribution percentages for features","type":"array","items":{"$ref":"#/components/schemas/TargetDistribution"}},"bucketingKey":{"type":"string","description":"String to bucket users into a specific variation","example":"'organization_id"}},"required":["_id","audience","distribution"]},"FeatureConfig":{"type":"object","properties":{"_feature":{"type":"string","description":"ID of the Feature owning the Configuration","example":"61450f3daec96f5cf4a49946"},"_environment":{"type":"string","description":"ID of the Environment owning the Configuration","example":"61450f3daec96f5cf4a49946"},"_createdBy":{"type":"string","description":"User who created the Feature Configuration"},"status":{"description":"Status of the Feature Configuration","enum":["active","inactive"],"type":"string"},"startedAt":{"format":"date-time","type":"string","description":"Date the Feature Configuration was started"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Feature Configuration was last updated"},"targets":{"description":"The targets to evaluate what variation a user should be delivered","type":"array","items":{"$ref":"#/components/schemas/Target"}},"readonly":{"type":"boolean","description":"Controls whether the feature configuration is editable for a given user"},"hasStaticConfig":{"type":"boolean","description":"Flag to indicate if the Feature owning the configuration has been marked as complete.\nIf true, the user targeting rules are ignored and the static variation is always used."}},"required":["_feature","_environment","status","updatedAt","targets","readonly","hasStaticConfig"]},"UpdateTargetDto":{"type":"object","properties":{"_id":{"type":"string","description":"A unique Target ID","example":"61450f3daec96f5cf4a49946"},"name":{"type":"string","description":"Target name","example":"Feature Enabled"},"rollout":{"description":"Rollout sub-document describing how a Target's audience is rolled out","allOf":[{"$ref":"#/components/schemas/Rollout"}]},"distribution":{"description":"Specifies variation distribution percentages for features","type":"array","items":{"$ref":"#/components/schemas/TargetDistribution"}},"audience":{"description":"Audience model describing target segmentation.","allOf":[{"$ref":"#/components/schemas/TargetAudience"}]}},"required":["distribution","audience"]},"UpdateFeatureConfigDto":{"type":"object","properties":{"status":{"type":"string","description":"Status of the Feature Configuration","enum":["active","inactive"]},"targets":{"description":"The targets to evaluate what variation a user should be delivered","type":"array","items":{"$ref":"#/components/schemas/UpdateTargetDto"}}}},"FeatureDataPoint":{"type":"object","properties":{"values":{"type":"object","description":"Mapping of evaluation variation (variation1, variation2 etc.) to number of evaluations in that variation"},"date":{"format":"date-time","type":"string","description":"Date of this data point"}},"required":["values","date"]},"ResultWithFeatureData":{"type":"object","properties":{"evaluations":{"type":"array","items":{"$ref":"#/components/schemas/FeatureDataPoint"}}},"required":["evaluations"]},"ResultEvaluationsByHourDto":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/ResultWithFeatureData"},"cached":{"type":"boolean","description":"Whether this result came from a cache or a live result"},"updatedAt":{"format":"date-time","type":"string","description":"Date which these results are up-to-date with"}},"required":["result","cached","updatedAt"]},"ProjectDataPoint":{"type":"object","properties":{"date":{"format":"date-time","type":"string","description":"Date of this datapoint"},"value":{"type":"number","description":"Number of variable evaluations across the whole project for this data point, grouped by user"}},"required":["date","value"]},"ResultsWithProjectData":{"type":"object","properties":{"evaluations":{"type":"array","items":{"$ref":"#/components/schemas/ProjectDataPoint"}}},"required":["evaluations"]},"ResultProjectEvaluationsByHourDto":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/ResultsWithProjectData"},"cached":{"type":"boolean","description":"Whether this result came from a cache or a live result"},"updatedAt":{"format":"date-time","type":"string","description":"Date which these results are up-to-date with"}},"required":["result","cached","updatedAt"]},"ProjectUserProfile":{"type":"object","properties":{"_id":{"type":"string","description":"Auto-generated unique User Profile ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project associated with the User Profile"},"a0_user":{"type":"string","description":"ID of the User who created the User Profile"},"dvcUserId":{"type":"string","nullable":true,"description":"DVC User Id for User Profile.","example":"dvc_sdk_user_id"},"createdAt":{"format":"date-time","type":"string","description":"The date the Project User Profile was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Project User Profile was last updated"}},"required":["_id","_project","a0_user","createdAt","updatedAt"]},"UpdateUserProfileDto":{"type":"object","properties":{"dvcUserId":{"type":"string","nullable":true,"description":"DVC User Id for User Profile.","example":"dvc_sdk_user_id"}}},"AuditLogEntity":{"type":"object","properties":{"date":{"format":"date-time","type":"string"},"a0_user":{"type":"string"},"changes":{"type":"array","items":{"type":"object"}}},"required":["date","a0_user","changes"]},"AllowedValue":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"object"}},"required":["label","value"]},"EnumSchema":{"type":"object","properties":{"allowedValues":{"type":"array","items":{"$ref":"#/components/schemas/AllowedValue"}},"allowAdditionalValues":{"type":"boolean"}},"required":["allowedValues","allowAdditionalValues"]},"PropertySchema":{"type":"object","properties":{"schemaType":{"type":"string","enum":["enum",null]},"required":{"type":"boolean"},"enumSchema":{"$ref":"#/components/schemas/EnumSchema"}}},"CreateCustomPropertyDto":{"type":"object","properties":{"name":{"type":"string","description":"Display name for Custom Property.","example":"Delivery App","maxLength":100,"minLength":1},"key":{"type":"string","description":"Auto generated key to be used by the API to reference by 'key' rather then _id for CRUD operations.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"delivery-app","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"type":{"description":"Type of the Custom Propety. Must be one of: \"Boolean\", \"Number\" or \"String\"","example":"String","enum":["String","Boolean","Number"],"type":"string"},"propertyKey":{"type":"string","description":"Custom Property key, must be unique by Project. Only to be used by the SDKs to reference the Custom Property..","example":"Delivery App Secret Agent Code"},"schema":{"description":"Schema definition for the custom property.","allOf":[{"$ref":"#/components/schemas/PropertySchema"}]}},"required":["name","key","type","propertyKey"]},"CustomProperty":{"type":"object","properties":{"name":{"type":"string","description":"Display name for Custom Property.","example":"Delivery App","maxLength":100,"minLength":1},"key":{"type":"string","description":"Auto generated key to be used by the API to reference by 'key' rather then _id for CRUD operations.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"delivery-app","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"_id":{"type":"string","description":"A unique CustomProperty ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Custom Property"},"_createdBy":{"type":"string","description":"ID of the User who created the project"},"propertyKey":{"type":"string","description":"Custom Property key, must be unique by Project. Only to be used by the SDKs to reference the Custom Property..","example":"Delivery App Secret Agent Code"},"type":{"description":"The Custom Property type","example":"String","enum":["String","Boolean","Number"],"type":"string"},"createdAt":{"format":"date-time","type":"string","description":"The date the Project was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Project was last updated"},"schema":{"description":"Schema definition for the custom property.","allOf":[{"$ref":"#/components/schemas/PropertySchema"}]},"hasUsage":{"type":"boolean","description":"Whether the custom property is in use by a feature","example":true}},"required":["name","key","_id","_project","_createdBy","propertyKey","type","createdAt","updatedAt"]},"UpdateCustomPropertyDto":{"type":"object","properties":{"name":{"type":"string","description":"Display name for Custom Property.","example":"Delivery App","maxLength":100,"minLength":1},"key":{"type":"string","description":"Auto generated key to be used by the API to reference by 'key' rather then _id for CRUD operations.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"delivery-app","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"propertyKey":{"type":"string","description":"Custom Property key, must be unique by Project. Only to be used by the SDKs to reference the Custom Property..","example":"Delivery App Secret Agent Code"},"type":{"type":"string","description":"Type of the Custom Propety. Must be one of: \"Boolean\", \"Number\" or \"String\"","enum":["String","Boolean","Number"]},"schema":{"description":"Schema definition for the custom property.","allOf":[{"$ref":"#/components/schemas/PropertySchema"}]}}},"CreateMetricDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Metric","example":"New Signups","maxLength":100,"minLength":1},"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-signups","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Metric description.","example":"New signups on the dashboard","maxLength":1000},"event":{"type":"string","description":"Event associated with metric","example":"Sign Ups"},"dimension":{"type":"string","description":"Metric dimension","example":"COUNT_PER_UNIQUE_USER","enum":["COUNT_PER_UNIQUE_USER","COUNT_PER_VARIABLE_EVALUATION","SUM_PER_UNIQUE_USER","AVERAGE_PER_UNIQUE_USER","TOTAL_AVERAGE","TOTAL_SUM"]},"optimize":{"type":"string","description":"Indicates whether the metric is optimized for increase or decreasae","example":"increase","enum":["increase","decrease"]}},"required":["name","key","event","dimension","optimize"]},"Metric":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Metric","example":"New Signups","maxLength":100,"minLength":1},"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-signups","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Metric description.","example":"New signups on the dashboard","maxLength":1000},"_id":{"type":"string","description":"A unique Metric ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Metric"},"source":{"description":"Source that created the Metric","enum":["api","dashboard","importer","github.code_usages","github.pr_insights","gitlab.code_usages","gitlab.pr_insights","bitbucket.code_usages","bitbucket.pr_insights","terraform","cli","slack","mcp"],"type":"string"},"event":{"type":"string","description":"Event associated with metric","example":"Sign Ups"},"dimension":{"description":"Metric dimension","example":"COUNT_PER_UNIQUE_USER","enum":["COUNT_PER_UNIQUE_USER","COUNT_PER_VARIABLE_EVALUATION","SUM_PER_UNIQUE_USER","AVERAGE_PER_UNIQUE_USER","TOTAL_AVERAGE","TOTAL_SUM"],"type":"string"},"optimize":{"description":"Indicates whether the metric is optimized for increase or decreasae","example":"increase","enum":["increase","decrease"],"type":"string"},"createdAt":{"format":"date-time","type":"string","description":"The date the Metric was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Metric was last updated"}},"required":["name","key","_id","_project","event","dimension","optimize","createdAt","updatedAt"]},"UpdateMetricDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Metric","example":"New Signups","maxLength":100,"minLength":1},"key":{"type":"string","description":"Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"new-signups","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"description":{"type":"string","description":"Metric description.","example":"New signups on the dashboard","maxLength":1000},"event":{"type":"string","description":"Event associated with metric","example":"Sign Ups"},"dimension":{"type":"string","description":"Metric dimension","example":"COUNT_PER_UNIQUE_USER","enum":["COUNT_PER_UNIQUE_USER","COUNT_PER_VARIABLE_EVALUATION","SUM_PER_UNIQUE_USER","AVERAGE_PER_UNIQUE_USER","TOTAL_AVERAGE","TOTAL_SUM"]},"optimize":{"type":"string","description":"Indicates whether the metric is optimized for increase or decreasae","example":"increase","enum":["increase","decrease"]}}},"VariationValues":{"type":"object","properties":{}},"DataPoint":{"type":"object","properties":{"date":{"format":"date-time","type":"string","description":"Date of this data point"},"values":{"description":"Mapping of variation (variation1, variation2 etc.) to result value in that variation","allOf":[{"$ref":"#/components/schemas/VariationValues"}]}},"required":["date","values"]},"VariationResult":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"numerator":{"type":"number"},"denominator":{"type":"number"},"rate":{"type":"number"},"avgValue":{"type":"number"},"totalValue":{"type":"number"},"stdev":{"type":"number"},"percentDifference":{"type":"number","nullable":true},"chanceToBeatControl":{"type":"number","nullable":true}},"required":["key","name","numerator","denominator","rate","percentDifference","chanceToBeatControl"]},"Result":{"type":"object","properties":{"dataSeries":{"type":"array","items":{"$ref":"#/components/schemas/DataPoint"}},"variations":{"type":"array","items":{"$ref":"#/components/schemas/VariationResult"}}},"required":["dataSeries","variations"]},"MetricResult":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/Result"},"cached":{"type":"boolean","description":"Whether this result came from a cache or a live result"},"updatedAt":{"format":"date-time","type":"string","description":"Date which these results are up-to-date with"}},"required":["result","cached","updatedAt"]},"MetricAssociation":{"type":"object","properties":{"_project":{"type":"string"},"feature":{"$ref":"#/components/schemas/Feature"},"metric":{"$ref":"#/components/schemas/Metric"},"createdAt":{"format":"date-time","type":"string"}},"required":["_project","feature","metric","createdAt"]},"CreateMetricAssociationDto":{"type":"object","properties":{"metric":{"type":"string"},"feature":{"type":"string"}},"required":["metric","feature"]},"UpdateOverrideDto":{"type":"object","properties":{"environment":{"type":"string"},"variation":{"type":"string"}},"required":["environment","variation"]},"Override":{"type":"object","properties":{"_project":{"type":"string"},"_environment":{"type":"string"},"_feature":{"type":"string"},"_variation":{"type":"string"},"dvcUserId":{"type":"string"},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"a0_user":{"type":"string"}},"required":["_project","_environment","_feature","_variation","dvcUserId","createdAt","updatedAt"]},"FeatureOverride":{"type":"object","properties":{"_environment":{"type":"string"},"_variation":{"type":"string"}},"required":["_environment","_variation"]},"OverrideResponse":{"type":"object","properties":{"overrides":{"type":"array","items":{"$ref":"#/components/schemas/FeatureOverride"}}},"required":["overrides"]},"FeatureOverrides":{"type":"object","properties":{"overrides":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/Override"}}},"uniqueTeamMembers":{"type":"number"}},"required":["overrides","uniqueTeamMembers"]},"UserOverride":{"type":"object","properties":{"_feature":{"type":"string"},"featureName":{"type":"string"},"_environment":{"type":"string"},"environmentName":{"type":"string"},"_variation":{"type":"string"},"variationName":{"type":"string"}},"required":["_feature","featureName","_environment","environmentName","_variation","variationName"]},"AudiencePatchAction":{"type":"object","properties":{"values":{"type":"object","description":"An array of values is required for all filters except when the comparator is 'exist' or '!exist'"},"filterIndex":{"type":"string"}},"required":["values","filterIndex"]},"AudiencePatchInstructionsDto":{"type":"object","properties":{"op":{"type":"string","enum":["addFilterValues","removeFilterValues"]},"action":{"$ref":"#/components/schemas/AudiencePatchAction"}},"required":["op","action"]},"AudiencePatchDto":{"type":"object","properties":{"instructions":{"type":"array","items":{"$ref":"#/components/schemas/AudiencePatchInstructionsDto"}}},"required":["instructions"]},"UpdateVariationDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"variation-1","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Variation display name.","example":"User's with dashboard access","maxLength":100,"minLength":1},"variables":{"type":"object","description":"A key-value map of variables to their value for this variation","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array"},{"type":"object"}]},"example":{"show-new-dashboard":true,"string-var":"hello world","bool-var":true,"num-var":99,"json-var":{"foo":"bar"}}},"_id":{"type":"string"}},"required":["key","name"]},"Link":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"}},"required":["url","title"]},"UpdateFeatureSummaryDto":{"type":"object","properties":{"maintainers":{"description":"Auth0 maintainers of the feature","type":"array","items":{"type":"string"}},"links":{"description":"Array of links associated with the feature","type":"array","items":{"$ref":"#/components/schemas/Link"}},"markdown":{"type":"string"}}},"FeatureStaleness":{"type":"object","properties":{}},"FeatureSummary":{"type":"object","properties":{"maintainers":{"description":"Auth0 maintainers of this feature","type":"array","items":{"type":"string"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}},"markdown":{"type":"string"}},"required":["maintainers","links","markdown"]},"CreateVariationDto":{"type":"object","properties":{"key":{"type":"string","description":"Unique key by Feature, can be used in the SDK / API to reference by 'key' rather than _id.\nMust only contain lower-case characters and `_`, `-` or `.`.","example":"variation-1","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","description":"Variation display name.","example":"User's with dashboard access","maxLength":100,"minLength":1},"variables":{"type":"object","description":"A key-value map of variables to their value for this variation","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array"},{"type":"object"}]},"example":{"show-new-dashboard":true,"string-var":"hello world","bool-var":true,"num-var":99,"json-var":{"foo":"bar"}}}},"required":["key","name"]},"UpdateStalenessDto":{"type":"object","properties":{"snoozedUntil":{"type":"string"},"disabled":{"type":"boolean"},"metaData":{"type":"object"}}},"Reviewers":{"type":"object","properties":{}},"ReviewReason":{"type":"object","properties":{}},"FeatureDetails":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-z0-9-_.]+$"},"name":{"type":"string","maxLength":100,"minLength":1},"id":{"type":"string"}},"required":["key","name","id"]},"FeatureChangeRequestSummary":{"type":"object","properties":{"_id":{"type":"string","description":"A unique Feature ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Feature Change Request"},"_feature":{"type":"string","description":"The Feature with requested changes"},"status":{"type":"string","description":"Status of the Feature","enum":["draft","pending","approved","applied","rejected","cancelled"]},"operation":{"type":"string","description":"Describes the type of requested change to a feature.\nexample: 'featureUpdate'","enum":["featureUpdate","featureStatusUpdate","featureStaticConfigurationUpdate"]},"description":{"type":"string","description":"Change Request Description","example":"Enabling production for all users."},"reviewers":{"description":"a0 users who are requested to review the change","allOf":[{"$ref":"#/components/schemas/Reviewers"}]},"reviews":{"description":"Current Reviewes for the change request","type":"array","items":{"$ref":"#/components/schemas/ReviewReason"}},"_createdBy":{"type":"string","description":"ID of the User who created the Feature"},"_updatedBy":{"type":"string","description":"ID of the User who last updated the Feature"},"createdAt":{"format":"date-time","type":"string","description":"The date the Feature was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Feature was last updated"},"feature":{"$ref":"#/components/schemas/FeatureDetails"}},"required":["_id","_project","_feature","status","operation","reviewers","reviews","_createdBy","feature"]},"CreateFeatureChangeRequestDto":{"type":"object","properties":{"path":{"type":"string"},"method":{"type":"string","enum":["PATCH"]},"body":{"type":"object"}},"required":["path","method","body"]},"FeatureChangeRequest":{"type":"object","properties":{"_id":{"type":"string","description":"A unique Feature ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Feature Change Request"},"_baseFeatureSnapshot":{"type":"string","description":"Change Transaction model mongo _id."},"_feature":{"type":"string","description":"The Feature with requested changes"},"status":{"description":"Status of the Feature","enum":["draft","pending","approved","applied","rejected","cancelled"],"type":"string"},"changes":{"type":"array","items":{"type":"object"}},"operation":{"description":"Describes the type of requested change to a feature.\nexample: 'featureUpdate'","enum":["featureUpdate","featureStatusUpdate","featureStaticConfigurationUpdate"],"type":"string"},"description":{"type":"string","description":"Change Request Description","example":"Enabling production for all users."},"reviewers":{"description":"a0 users who are requested to review the change","allOf":[{"$ref":"#/components/schemas/Reviewers"}]},"reviews":{"description":"Current Reviewes for the change request","type":"array","items":{"$ref":"#/components/schemas/ReviewReason"}},"_createdBy":{"type":"string","description":"ID of the User who created the Feature"},"_updatedBy":{"type":"string","description":"ID of the User who last updated the Feature"},"createdAt":{"format":"date-time","type":"string","description":"The date the Feature was created"},"updatedAt":{"format":"date-time","type":"string","description":"The date the Feature was last updated"}},"required":["_id","_project","_baseFeatureSnapshot","_feature","status","operation","reviewers","reviews","_createdBy"]},"SubmitFeatureChangeRequestDto":{"type":"object","properties":{"description":{"type":"string","maxLength":1000},"reviewers":{"type":"array","items":{"type":"string"}}},"required":["description","reviewers"]},"ReviewFeatureChangeRequestDto":{"type":"object","properties":{"action":{"type":"string","enum":["approved","rejected"]},"comment":{"type":"string"}},"required":["action","comment"]},"ApplyFeatureChangeRequestDto":{"type":"object","properties":{"description":{"type":"string","maxLength":1000},"action":{"type":"string","enum":["applied"]}},"required":["description","action"]},"CreateWebhookDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Webhook","example":"Slack","maxLength":100,"minLength":1},"description":{"type":"string","description":"The description of the Webhook","example":"Post in Slack when a feature is updated","maxLength":1000},"outputFormat":{"type":"object"},"_feature":{"type":"string"},"_environments":{"type":"array","items":{"type":"string"}},"events":{"description":"The events that trigger the webhook","example":["createdFeature","modifiedFeature"],"type":"array","items":{"type":"string"}},"url":{"type":"string","description":"The URL to call once the type is triggered","example":"https://hooks.slack.com/services/..."}},"required":["name","events","url"]},"Webhook":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Webhook","example":"Slack","maxLength":100,"minLength":1},"description":{"type":"string","description":"The description of the Webhook","example":"Post in Slack when a feature is updated","maxLength":1000},"_id":{"type":"string","description":"A unique Webhook ID","example":"61450f3daec96f5cf4a49946"},"_project":{"type":"string","description":"The Project owning the Webhook","example":"61450f3daec96f5cf4a49955"},"_feature":{"type":"string","description":"Events in this webhook will only be triggered for this feature","example":"61450f3daec96f5cf4a49956"},"_environments":{"description":"Events in this webhook will only be triggered for these environments","type":"array","items":{"type":"string"}},"url":{"type":"string","description":"The URL to call once the type is triggered","example":"https://hooks.slack.com/services/..."},"events":{"description":"The events that trigger the webhook","example":["createdFeature","modifiedFeature"],"type":"array","items":{"type":"string"}},"source":{"description":"Source where webhook was created from","example":"dashboard","enum":["api","dashboard","importer","github.code_usages","github.pr_insights","gitlab.code_usages","gitlab.pr_insights","bitbucket.code_usages","bitbucket.pr_insights","terraform","cli","slack","mcp"],"type":"string"},"createdBy":{"type":"string","description":"Auth0 User who created the webhook.","example":"auth0|61450f3daec96f5cf4a49955"},"createdAt":{"format":"date-time","type":"string","description":"The date the webhook was created, set by the API","example":"2021-09-17T16:47:01.000Z"},"updatedAt":{"format":"date-time","type":"string","description":"The date the webhook was last updated, set by the API","example":"2021-09-17T16:47:01.000Z"},"outputFormat":{"type":"object","description":"The type of format to send the payload changes in"},"_slackIntegration":{"type":"string","description":"The Slack Integration ID if the Webhook is created from a Slack command"}},"required":["name","_id","_project","_environments","url","events","createdAt","updatedAt"]},"UpdateWebhookDto":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Webhook","example":"Slack","maxLength":100,"minLength":1},"description":{"type":"string","description":"The description of the Webhook","example":"Post in Slack when a feature is updated","maxLength":1000},"_feature":{"type":"string"},"_environments":{"type":"array","items":{"type":"string"}},"events":{"description":"The events that trigger the webhook","example":["createdFeature","modifiedFeature"],"type":"array","items":{"type":"string"}},"url":{"type":"string","description":"The URL to call once the type is triggered","example":"https://hooks.slack.com/services/..."},"outputFormat":{"type":"object"}},"required":["_feature","_environments"]},"CreateDynatraceIntegrationDto":{"type":"object","properties":{"dynatraceEnvironmentId":{"type":"string"},"accessToken":{"type":"string"},"environmentUrl":{"type":"string"}},"required":["dynatraceEnvironmentId","accessToken","environmentUrl"]},"DynatraceEnvironment":{"type":"object","properties":{"dynatraceEnvironmentId":{"type":"string"},"accessToken":{"type":"string"},"environmentUrl":{"type":"string"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}},"required":["dynatraceEnvironmentId","accessToken","environmentUrl","projects"]},"DynatraceIntegration":{"type":"object","properties":{"environments":{"type":"array","items":{"$ref":"#/components/schemas/DynatraceEnvironment"}}},"required":["environments"]}}}}