{
"openapi": "3.1.0",
"info": {
"title": "Flagsmith API",
"version": "v1",
"description": "Flagsmith's Core and SDK APIs. Check out Flagsmith documentation.",
"contact": {
"email": "support@flagsmith.com"
},
"license": {
"name": "BSD License",
"identifier": "BSD-3-Clause"
}
},
"servers": [
{
"url": "https://api.flagsmith.com",
"description": "Flagsmith API"
}
],
"paths": {
"/api/v1/environments/": {
"get": {
"operationId": "list_environments",
"description": "Lists all environments the user has access to",
"parameters": [
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project",
"in": "query",
"description": "ID of the project to filter by.",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedEnvironmentSerializerWithMetadataList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/create-change-request/": {
"post": {
"operationId": "create_environment_feature_change_request",
"description": "Creates a new change request for feature flag modifications in an environment.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestCreate"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestCreate"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestCreate"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestCreate"
}
}
}
},
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowsError"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/experiment-metrics/": {
"get": {
"operationId": "list_metrics",
"description": "(Beta) Lists experiment metrics for an environment. Supports search by name via the q parameter.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "q",
"in": "query",
"description": "Search metrics by name.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedMetricList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_metric",
"description": "(Beta) Creates a metric with name, description, aggregation type, expected direction, and event definition.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/experiment-metrics/{id}/": {
"get": {
"operationId": "get_metric",
"description": "(Beta) Retrieves details of a specific metric, including which experiments use it.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this metric.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"put": {
"operationId": "update_metric",
"description": "(Beta) Updates a metric's properties.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this metric.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Metric"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/experiments/": {
"get": {
"operationId": "list_experiments",
"description": "(Beta) Lists experiments for an environment. Supports filtering by status and searching by experiment or feature name.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "q",
"in": "query",
"description": "Search by experiment or feature name.",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"description": "Filter by experiment status (DRAFT, RUNNING, PAUSED, COMPLETED).",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedExperimentListList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_experiment",
"description": "(Beta) Creates an experiment for a multivariate feature. Metrics can be attached inline. Only one active experiment per feature is allowed.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/": {
"get": {
"operationId": "get_experiment",
"description": "(Beta) Retrieves experiment details including feature configuration, attached metrics, and rollout state.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "experiment_id",
"in": "path",
"description": "A unique integer value identifying this experiment.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExperimentDetail"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"put": {
"operationId": "update_experiment",
"description": "(Beta) Updates an experiment's name or its hypothesis.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "experiment_id",
"in": "path",
"description": "A unique integer value identifying this experiment.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/exposures/": {
"get": {
"operationId": "get_experiment_exposures",
"description": "(Beta) Retrieves variant exposure counts for an experiment. Returns null if not yet computed.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "experiment_id",
"in": "path",
"description": "A unique integer value identifying this experiment.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/results/": {
"get": {
"operationId": "get_experiment_results",
"description": "(Beta) Retrieves statistical results for an experiment's metrics. Returns null if not yet computed.",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "experiment_id",
"in": "path",
"description": "A unique integer value identifying this experiment.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/features/{feature_pk}/create-segment-override/": {
"post": {
"operationId": "create_segment_override",
"description": "Creates a segment override for a feature in an environment in a single call, setting both the segment binding and its value. Applies to environments without v2 feature versioning (use_v2_feature_versioning: false).",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomCreateSegmentOverrideFeatureState"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/CustomCreateSegmentOverrideFeatureState"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/CustomCreateSegmentOverrideFeatureState"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomCreateSegmentOverrideFeatureState"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/featurestates/{id}/": {
"put": {
"operationId": "update_environment_feature_state",
"description": "Updates a feature state in an environment, including enabled status and value. Applies to environments without v2 feature versioning (use_v2_feature_versioning: false).",
"parameters": [
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature state.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureStateSerializerBasic"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/FeatureStateSerializerBasic"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/FeatureStateSerializerBasic"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureStateSerializerBasic"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_api_key}/list-change-requests/": {
"get": {
"operationId": "list_environment_change_requests",
"description": "Retrieves all change requests for an environment.",
"parameters": [
{
"name": "committed",
"in": "query",
"description": "Filter on the committed status of a change request.",
"schema": {
"type": [
"boolean",
"null"
]
}
},
{
"name": "environment_api_key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "feature_id",
"in": "query",
"description": "Filter for a particular feature.",
"schema": {
"type": "integer"
}
},
{
"name": "live_from_after",
"in": "query",
"description": "Filter change requests due to go live after this datetime.",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"schema": {
"type": "integer"
}
},
{
"name": "search",
"in": "query",
"description": "Fuzzy search across Change Request titles.",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "segment_id",
"in": "query",
"description": "Filter change requests which match a specific segment id.",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChangeRequestList"
}
}
}
},
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowsError"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_pk}/feature-lifecycle-counts/": {
"get": {
"operationId": "get_feature_lifecycle_counts",
"description": "Retrieves the count of features in each lifecycle stage for the specified environment.",
"parameters": [
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureLifecycleCounts"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/": {
"get": {
"operationId": "get_environment_feature_versions",
"description": "Retrieves version information for a feature flag in a specific environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).",
"parameters": [
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedEnvironmentFeatureVersionList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_environment_feature_version",
"description": "Creates a new version for a feature flag in a specific environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).",
"parameters": [
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionCreate"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionCreate"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionCreate"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionCreate"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{environment_feature_version_pk}/featurestates/": {
"get": {
"operationId": "get_environment_feature_version_states",
"description": "Retrieves feature state information for a specific version in an environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).",
"parameters": [
{
"name": "environment_feature_version_pk",
"in": "path",
"required": true,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_environment_feature_version_state",
"description": "Creates a new feature state for a specific version in an environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).",
"parameters": [
{
"name": "environment_feature_version_pk",
"in": "path",
"required": true,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{environment_feature_version_pk}/featurestates/{id}/": {
"put": {
"operationId": "update_environment_feature_version_state",
"description": "Updates an existing feature state for a specific version in an environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).",
"parameters": [
{
"name": "environment_feature_version_pk",
"in": "path",
"required": true,
"schema": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature state.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{id}/publish/": {
"post": {
"operationId": "publish_environment_feature_version",
"description": "Publishes a feature version to make it live in the environment. Applies to environments with v2 feature versioning (use_v2_feature_versioning: true).",
"parameters": [
{
"name": "environment_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionPublish"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionPublish"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionPublish"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnvironmentFeatureVersionPublish"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/features/feature-segments/": {
"get": {
"operationId": "list_feature_segments",
"description": "Lists segment overrides for a feature in an environment.",
"parameters": [
{
"name": "environment",
"in": "query",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "feature",
"in": "query",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedFeatureSegmentListList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/features/feature-segments/{id}/": {
"delete": {
"operationId": "delete_feature_segment",
"description": "Deletes a segment override. Applies to environments without v2 feature versioning (use_v2_feature_versioning: false).",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature segment.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"204": {
"description": "No response body"
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/features/featurestates/{id}/": {
"put": {
"operationId": "update_feature_state",
"description": "Updates a feature state, including its enabled status and value. Also updates a segment override's value for environments without v2 feature versioning (use_v2_feature_versioning: false).",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature state.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WritableNestedFeatureState"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/WritableNestedFeatureState"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/WritableNestedFeatureState"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WritableNestedFeatureState"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/organisations/": {
"get": {
"operationId": "list_organizations",
"description": "Lists all organisations accessible with the provided user API key.",
"parameters": [
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedOrganisationSerializerFullList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/organisations/{organisation_pk}/groups/": {
"get": {
"operationId": "list_organization_groups",
"description": "Retrieves all permission groups within the organisation.",
"parameters": [
{
"name": "organisation_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedListUserPermissionGroupList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/organisations/{organisation_pk}/invites/": {
"get": {
"operationId": "list_organization_invites",
"description": "Retrieves all pending invitations for the organisation.",
"parameters": [
{
"name": "organisation_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedInviteListList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_organization_invite",
"description": "Send an invitation to join the organisation with specified role and permissions.",
"parameters": [
{
"name": "organisation_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Invite"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Invite"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Invite"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Invite"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/organisations/{organisation_pk}/roles/": {
"get": {
"operationId": "list_organization_roles",
"description": "Retrieves all custom roles defined within the organisation.",
"parameters": [
{
"name": "organisation_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedRoleList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/organisations/{id}/projects/": {
"get": {
"operationId": "list_projects_in_organization",
"description": "Retrieves all projects within a specified organisation.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this organisation.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganisationSerializerFull"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{id}/": {
"get": {
"operationId": "get_project",
"description": "Retrieves comprehensive information about a specific project including configuration and statistics.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this project.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectRetrieve"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"put": {
"operationId": "update_project",
"description": "Updates project configuration settings such as the project name and feature visibility.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this project.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectUpdate"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/ProjectUpdate"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/ProjectUpdate"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectUpdate"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{id}/environments/": {
"get": {
"operationId": "list_project_environments",
"description": "Retrieves all environments configured for the specified project.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this project.",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/change-requests/": {
"get": {
"operationId": "list_project_change_requests",
"description": "Retrieves all change requests for a project.",
"parameters": [
{
"name": "committed",
"in": "query",
"description": "Filter on the committed status of a change request.",
"schema": {
"type": [
"boolean",
"null"
]
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "search",
"in": "query",
"description": "Fuzzy search across Change Request titles.",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "segment_id",
"in": "query",
"description": "Filter change requests which match a specific segment id.",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedProjectChangeRequestListList"
}
}
}
},
"400": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkflowsError"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/feature-health/events/": {
"get": {
"operationId": "get_feature_health_events",
"description": "Retrieves feature health monitoring events and metrics for the project.",
"parameters": [
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureHealthEvent"
}
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/": {
"get": {
"operationId": "list_project_features",
"description": "Lists a project's feature flags (paginated). Pass `environment=` to also get each feature's live state for that environment in `environment_feature_state`, along with override counts. Works for both v1 and v2 versioned environments.",
"parameters": [
{
"name": "environment",
"in": "query",
"description": "Integer ID of the environment to view features in the context of.",
"schema": {
"type": "integer"
}
},
{
"name": "group_owners",
"in": "query",
"description": "Comma separated list of group owner ids to filter on",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "identity",
"in": "query",
"description": "ID of the identity to sort features with identity overrides first.",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "is_archived",
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "is_enabled",
"in": "query",
"description": "Boolean value to filter features as enabled or disabled.",
"schema": {
"type": [
"boolean",
"null"
]
}
},
{
"name": "lifecycle_stage",
"in": "query",
"description": "Lifecycle stage to filter on. Requires `environment`.\n\n* `new` - new\n* `live` - live\n* `stale` - stale\n* `permanent` - permanent\n* `needs_monitoring` - needs_monitoring\n* `to_remove` - to_remove",
"schema": {
"type": "string",
"enum": [
"new",
"live",
"stale",
"permanent",
"needs_monitoring",
"to_remove"
],
"minLength": 1
}
},
{
"name": "owners",
"in": "query",
"description": "Comma separated list of owner ids to filter on",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer"
}
},
{
"name": "search",
"in": "query",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "segment",
"in": "query",
"description": "Integer ID of the segment to retrieve segment overrides for.",
"schema": {
"type": "integer"
}
},
{
"name": "sort_direction",
"in": "query",
"description": "* `ASC` - ASC\n* `DESC` - DESC",
"schema": {
"type": "string",
"default": "ASC",
"enum": [
"ASC",
"DESC"
],
"minLength": 1
}
},
{
"name": "sort_field",
"in": "query",
"description": "* `created_date` - created_date\n* `name` - name",
"schema": {
"type": "string",
"default": "created_date",
"enum": [
"created_date",
"name"
],
"minLength": 1
}
},
{
"name": "tag_strategy",
"in": "query",
"description": "* `UNION` - UNION\n* `INTERSECTION` - INTERSECTION",
"schema": {
"type": "string",
"default": "INTERSECTION",
"enum": [
"UNION",
"INTERSECTION"
],
"minLength": 1
}
},
{
"name": "tags",
"in": "query",
"description": "Comma separated list of tag ids to filter on (AND with INTERSECTION, and OR with UNION via tag_strategy)",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "type",
"in": "query",
"description": "Feature type to filter on (STANDARD or MULTIVARIATE).\n\n* `STANDARD` - STANDARD\n* `MULTIVARIATE` - MULTIVARIATE",
"schema": {
"type": "string",
"enum": [
"STANDARD",
"MULTIVARIATE"
],
"minLength": 1
}
},
{
"name": "value_search",
"in": "query",
"description": "Value of type int, string, or boolean to filter features based on their values",
"schema": {
"type": "string",
"minLength": 1
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedListFeatureList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_feature",
"description": "Creates a new feature flag in the specified project with default settings.",
"parameters": [
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListFeature"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/ListFeature"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/ListFeature"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListFeature"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/{feature_pk}/code-references/": {
"get": {
"operationId": "get_feature_code_references",
"description": "Retrieves code references and usage information for the feature flag.",
"parameters": [
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureFlagCodeReferencesRepositorySummary"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/": {
"get": {
"operationId": "get_feature_external_resources",
"description": "Retrieves external resources linked to the feature flag.",
"parameters": [
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedFeatureExternalResourceList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/{feature_pk}/mv-options/": {
"get": {
"operationId": "list_feature_multivariate_options",
"description": "Retrieves all multivariate options for a feature flag.",
"parameters": [
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedMultivariateFeatureOptionList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_feature_multivariate_option",
"description": "Creates a new multivariate option for a feature flag.",
"parameters": [
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/{feature_pk}/mv-options/{id}/": {
"put": {
"operationId": "update_feature_multivariate_option",
"description": "Updates an existing multivariate option.",
"parameters": [
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this multivariate feature option.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"delete": {
"operationId": "delete_feature_multivariate_option",
"description": "Deletes a multivariate option.",
"parameters": [
{
"name": "feature_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this multivariate feature option.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "No response body"
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/{id}/": {
"get": {
"operationId": "get_feature_flag",
"description": "Retrieves detailed information about a specific feature flag.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListFeature"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"put": {
"operationId": "update_feature",
"description": "Updates feature flag properties such as name and description.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateFeature"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/UpdateFeature"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/UpdateFeature"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateFeature"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/features/{id}/evaluation-data/": {
"get": {
"operationId": "get_feature_evaluation_data",
"description": "Retrieves evaluation data and analytics for a specific feature flag.",
"parameters": [
{
"name": "client_application_name",
"in": "query",
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "client_application_version",
"in": "query",
"schema": {
"type": [
"string",
"null"
]
}
},
{
"name": "environment_id",
"in": "query",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this feature.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "period",
"in": "query",
"description": "number of days",
"schema": {
"type": "integer",
"default": 30
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer"
}
},
{
"name": "user_agent",
"in": "query",
"schema": {
"type": [
"string",
"null"
]
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureEvaluationData"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/release-pipelines/": {
"get": {
"operationId": "list_project_release_pipelines",
"description": "Retrieves all release pipelines configured for the specified project.",
"parameters": [
{
"name": "ordering",
"in": "query",
"description": "Which field to use when ordering the results.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedReleasePipelineList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/release-pipelines/{id}/": {
"get": {
"operationId": "get_release_pipeline",
"description": "Retrieves detailed information about a specific release pipeline.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePipelineDetail"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/release-pipelines/{id}/add-feature/": {
"post": {
"operationId": "add_feature_to_release_pipeline",
"description": "Adds a feature flag to a release pipeline for staged rollout.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePipeline"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/ReleasePipeline"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/ReleasePipeline"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePipeline"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/segments/": {
"get": {
"operationId": "list_project_segments",
"description": "Retrieves all user segments defined for audience targeting within the project.",
"parameters": [
{
"name": "identity",
"in": "query",
"description": "Optionally provide the id of an identity to get only the segments they match",
"schema": {
"type": "string",
"minLength": 1
}
},
{
"name": "include_feature_specific",
"in": "query",
"schema": {
"type": "boolean",
"default": true
}
},
{
"name": "page",
"in": "query",
"description": "A page number within the paginated result set.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "page_size",
"in": "query",
"description": "Number of results to return per page.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "q",
"in": "query",
"description": "Search term to find segment with given term in their name",
"schema": {
"type": "string",
"minLength": 1
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedSegmentList"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"post": {
"operationId": "create_project_segment",
"description": "Creates a new user segment for audience targeting within the project.",
"parameters": [
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
},
"/api/v1/projects/{project_pk}/segments/{id}/": {
"get": {
"operationId": "get_project_segment",
"description": "Retrieves detailed information about a specific user segment.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this segment.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
},
"put": {
"operationId": "update_project_segment",
"description": "Updates an existing user segment's properties and rules.",
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique integer value identifying this segment.",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "project_pk",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
},
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
},
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Segment"
}
}
}
}
},
"security": [
{
"tokenAuth": []
},
{
"Master API Key": []
}
],
"tags": [
"mcp"
]
}
}
},
"components": {
"schemas": {
"ActionTypeEnum": {
"description": "* `TOGGLE_FEATURE` - Enable/Disable Feature for the environment\n* `UPDATE_FEATURE_VALUE` - Update Feature Value for the environment\n* `TOGGLE_FEATURE_FOR_SEGMENT` - Enable/Disable Feature for a specific segment\n* `UPDATE_FEATURE_VALUE_FOR_SEGMENT` - Update Feature Value for a specific segment\n* `PHASED_ROLLOUT` - Create Phased Rollout",
"type": "string",
"enum": [
"TOGGLE_FEATURE",
"UPDATE_FEATURE_VALUE",
"TOGGLE_FEATURE_FOR_SEGMENT",
"UPDATE_FEATURE_VALUE_FOR_SEGMENT",
"PHASED_ROLLOUT"
]
},
"AggregationEnum": {
"description": "* `count` - Count\n* `sum` - Sum\n* `mean` - Mean\n* `occurrence` - Occurrence (event happened at least once)",
"type": "string",
"enum": [
"count",
"sum",
"mean",
"occurrence"
]
},
"BillingStatusEnum": {
"description": "* `ACTIVE` - Active\n* `DUNNING` - Dunning",
"type": "string",
"enum": [
"ACTIVE",
"DUNNING"
]
},
"BlankEnum": {
"enum": [
""
]
},
"ChangeRequestApproval": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"user": {
"type": "integer"
},
"approved_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
}
},
"required": [
"user"
]
},
"ChangeRequestCreate": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"title": {
"type": "string",
"maxLength": 500
},
"description": {
"type": [
"string",
"null"
]
},
"feature_states": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CreateChangeRequestFeatureState"
}
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"environment": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"committed_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"approvals": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChangeRequestApproval"
}
},
"user": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"committed_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"group_assignments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChangeRequestGroupAssignment"
}
},
"environment_feature_versions": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"change_sets": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/components/schemas/VersionChangeSet"
}
},
"ignore_conflicts": {
"type": "boolean"
}
},
"required": [
"feature_states",
"title"
]
},
"ChangeRequestGroupAssignment": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"group": {
"type": "integer"
}
},
"required": [
"group"
]
},
"ChangeRequestList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"title": {
"type": "string",
"readOnly": true
},
"description": {
"type": [
"string",
"null"
],
"readOnly": true
},
"user": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"committed_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"committed_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"environment_feature_versions": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"readOnly": true
},
"ignore_conflicts": {
"type": "boolean",
"readOnly": true
}
}
},
"Condition": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"operator": {
"$ref": "#/components/schemas/ConditionOperatorEnum"
},
"property": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"value": {
"type": [
"string",
"null"
],
"maxLength": 1000
},
"description": {
"type": [
"string",
"null"
]
},
"delete": {
"type": "boolean",
"writeOnly": true
}
},
"required": [
"operator"
]
},
"ConditionOperatorEnum": {
"description": "* `EQUAL` - Exactly Matches\n* `GREATER_THAN` - Greater than\n* `LESS_THAN` - Less than\n* `CONTAINS` - Contains\n* `GREATER_THAN_INCLUSIVE` - Greater than or equal to\n* `LESS_THAN_INCLUSIVE` - Less than or equal to\n* `NOT_CONTAINS` - Does not contain\n* `NOT_EQUAL` - Does not match\n* `REGEX` - Matches regex\n* `PERCENTAGE_SPLIT` - Percentage split\n* `MODULO` - Modulo Operation\n* `IS_SET` - Is set\n* `IS_NOT_SET` - Is not set\n* `IN` - In",
"type": "string",
"enum": [
"EQUAL",
"GREATER_THAN",
"LESS_THAN",
"CONTAINS",
"GREATER_THAN_INCLUSIVE",
"LESS_THAN_INCLUSIVE",
"NOT_CONTAINS",
"NOT_EQUAL",
"REGEX",
"PERCENTAGE_SPLIT",
"MODULO",
"IS_SET",
"IS_NOT_SET",
"IN"
]
},
"CreateChangeRequestFeatureState": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"type": "integer"
},
"feature_segment": {
"type": [
"integer",
"null"
]
},
"enabled": {
"type": "boolean"
},
"feature_state_value": {
"$ref": "#/components/schemas/_FeatureStateValue"
},
"multivariate_feature_state_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/_MultivariateFeatureStateValue"
}
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"required": [
"feature"
]
},
"CustomCreateSegmentOverrideFeatureSegment": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"segment": {
"type": "integer"
},
"priority": {
"type": "integer",
"minimum": 0
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
}
},
"required": [
"segment"
]
},
"CustomCreateSegmentOverrideFeatureState": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"type": "integer",
"readOnly": true
},
"enabled": {
"type": "boolean"
},
"feature_state_value": {
"$ref": "#/components/schemas/FeatureStateValue"
},
"feature_segment": {
"oneOf": [
{
"$ref": "#/components/schemas/CustomCreateSegmentOverrideFeatureSegment"
},
{
"type": "null"
}
]
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"environment": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"identity": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"change_request": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"multivariate_feature_state_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultivariateFeatureStateValue"
}
}
},
"required": [
"feature_state_value"
]
},
"CustomEnvironmentFeatureVersionFeatureState": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"type": "integer",
"readOnly": true
},
"enabled": {
"type": "boolean"
},
"feature_state_value": {
"$ref": "#/components/schemas/FeatureStateValue"
},
"feature_segment": {
"oneOf": [
{
"$ref": "#/components/schemas/CustomCreateSegmentOverrideFeatureSegment"
},
{
"type": "null"
}
]
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"environment": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"identity": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"change_request": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"multivariate_feature_state_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultivariateFeatureStateValue"
}
}
},
"required": [
"feature_state_value"
]
},
"DirectionEnum": {
"description": "* `up` - Higher is better\n* `down` - Lower is better\n* `informational` - Informational only",
"type": "string",
"enum": [
"up",
"down",
"informational"
]
},
"EdgeV2MigrationStatusEnum": {
"description": "* `NOT_STARTED` - Not Started\n* `IN_PROGRESS` - In Progress\n* `COMPLETE` - Complete\n* `INCOMPLETE` - Incomplete (identity overrides skipped)",
"type": "string",
"enum": [
"NOT_STARTED",
"IN_PROGRESS",
"COMPLETE",
"INCOMPLETE"
]
},
"EnvironmentFeatureVersion": {
"type": "object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"published": {
"type": "boolean",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"is_live": {
"type": "boolean",
"readOnly": true
},
"published_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"created_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"description": {
"type": [
"string",
"null"
]
}
}
},
"EnvironmentFeatureVersionCreate": {
"type": "object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"published": {
"type": "boolean",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"is_live": {
"type": "boolean",
"readOnly": true
},
"published_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"created_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"description": {
"type": [
"string",
"null"
]
},
"feature_states_to_create": {
"description": "Array of feature states that will be created in the new version. Note: these can only include segment overrides.",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
},
"writeOnly": true
},
"feature_states_to_update": {
"description": "Array of feature states to update in the new version.",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/components/schemas/CustomEnvironmentFeatureVersionFeatureState"
},
"writeOnly": true
},
"segment_ids_to_delete_overrides": {
"description": "List of segment ids for which the segment overrides will be removed in the new version.",
"type": [
"array",
"null"
],
"items": {
"type": "integer"
},
"writeOnly": true
},
"publish_immediately": {
"description": "Boolean to confirm whether the new version should be publish immediately or not.",
"type": "boolean",
"default": false,
"writeOnly": true
}
}
},
"EnvironmentFeatureVersionPublish": {
"type": "object",
"properties": {
"live_from": {
"type": "string",
"format": "date-time"
}
}
},
"EnvironmentSerializerWithMetadata": {
"description": "Functionality for serializers that need to handle metadata",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"api_key": {
"type": "string",
"maxLength": 100
},
"description": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"project": {
"description": "Changing the project selected will remove all previous Feature States for the previously associated projects Features that are related to this Environment. New default Feature States will be created for the new selected projects Features for this Environment.",
"type": "integer"
},
"minimum_change_request_approvals": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"allow_client_traits": {
"description": "Allows clients using the client API key to set traits.",
"type": "boolean"
},
"banner_text": {
"type": [
"string",
"null"
],
"maxLength": 255
},
"banner_colour": {
"description": "hex code for the banner colour",
"type": [
"string",
"null"
],
"maxLength": 7
},
"hide_disabled_flags": {
"description": "If true will exclude flags from SDK which are disabled. NOTE: If set, this will override the project `hide_disabled_flags`",
"type": [
"boolean",
"null"
]
},
"use_mv_v2_evaluation": {
"description": "To avoid breaking the API, we return this field as well.\n\nWarning: this will still mean that sending the `use_mv_v2_evaluation` field\n(e.g. in a PUT request) will not behave as expected but, since this is a minor\nissue, I think we can ignore.",
"type": "boolean",
"readOnly": true
},
"use_identity_composite_key_for_hashing": {
"description": "Enable this to have consistent multivariate and percentage split evaluations across all SDKs (in local and server side mode)",
"type": "boolean"
},
"hide_sensitive_data": {
"description": "If true, will hide sensitive data(e.g: traits, description etc) from the SDK endpoints",
"type": "boolean"
},
"use_v2_feature_versioning": {
"type": "boolean",
"readOnly": true
},
"use_identity_overrides_in_local_eval": {
"description": "When enabled, identity overrides will be included in the environment document",
"type": "boolean"
},
"is_creating": {
"description": "Attribute used to indicate when an environment is still being created (via clone for example)",
"type": "boolean",
"readOnly": true
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metadata"
}
}
},
"required": [
"name",
"project"
]
},
"ExpectedDirectionEnum": {
"description": "* `increase` - Increase\n* `decrease` - Decrease\n* `not_increase` - Should not increase\n* `not_decrease` - Should not decrease",
"type": "string",
"enum": [
"increase",
"decrease",
"not_increase",
"not_decrease"
]
},
"Experiment": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"type": "integer"
},
"name": {
"type": "string",
"maxLength": 255
},
"hypothesis": {
"type": "string"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/Status7a8Enum"
}
],
"readOnly": true
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExperimentMetricInline"
},
"writeOnly": true
},
"experiment_rollout": {
"allOf": [
{
"$ref": "#/components/schemas/ExperimentRollout"
}
],
"writeOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"started_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"ended_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
}
},
"required": [
"feature",
"hypothesis",
"name"
]
},
"ExperimentDetail": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"allOf": [
{
"$ref": "#/components/schemas/ExperimentFeature"
}
],
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"hypothesis": {
"type": "string"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/Status7a8Enum"
}
],
"readOnly": true
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExperimentMetric"
},
"readOnly": true
},
"experiment_rollout": {
"type": [
"object",
"null"
],
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"started_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"ended_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
}
},
"required": [
"hypothesis",
"name"
]
},
"ExperimentFeature": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"readOnly": true
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/TypeD77Enum"
}
],
"readOnly": true
},
"initial_value": {
"type": [
"string",
"null"
],
"readOnly": true
},
"multivariate_options": {
"type": "array",
"items": {
"type": "object"
},
"readOnly": true
}
}
},
"ExperimentList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"allOf": [
{
"$ref": "#/components/schemas/ExperimentFeature"
}
],
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"hypothesis": {
"type": "string"
},
"status": {
"allOf": [
{
"$ref": "#/components/schemas/Status7a8Enum"
}
],
"readOnly": true
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExperimentMetric"
},
"readOnly": true
},
"experiment_rollout": {
"allOf": [
{
"$ref": "#/components/schemas/ExperimentRollout"
}
],
"writeOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"started_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"ended_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
}
},
"required": [
"hypothesis",
"name"
]
},
"ExperimentMetric": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"metric": {
"type": "integer"
},
"metric_name": {
"type": "string",
"readOnly": true
},
"aggregation": {
"type": "string",
"readOnly": true
},
"direction": {
"allOf": [
{
"$ref": "#/components/schemas/DirectionEnum"
}
],
"readOnly": true
},
"expected_direction": {
"$ref": "#/components/schemas/ExpectedDirectionEnum"
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
}
},
"required": [
"expected_direction",
"metric"
]
},
"ExperimentMetricInline": {
"type": "object",
"properties": {
"metric": {
"type": "string"
},
"expected_direction": {
"$ref": "#/components/schemas/ExpectedDirectionEnum"
}
},
"required": [
"expected_direction",
"metric"
]
},
"ExperimentRollout": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"rollout_percentage": {
"type": "number",
"format": "double",
"maximum": 100,
"minimum": 0
},
"feature_state_value": {
"$ref": "#/components/schemas/FeatureValue"
},
"multivariate_feature_state_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultivariateValue"
}
}
},
"required": [
"enabled",
"feature_state_value",
"rollout_percentage"
]
},
"FeatureEvaluationData": {
"type": "object",
"properties": {
"day": {
"type": "string"
},
"count": {
"type": "integer"
},
"labels": {
"oneOf": [
{
"$ref": "#/components/schemas/Labels"
},
{
"type": "null"
}
]
}
},
"required": [
"count",
"day",
"labels"
]
},
"FeatureExternalResource": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"url": {
"type": "string",
"format": "uri",
"maxLength": 200
},
"type": {
"$ref": "#/components/schemas/FeatureExternalResourceTypeEnum"
},
"metadata": {
"oneOf": [
{},
{
"type": "null"
}
]
},
"feature": {
"type": "integer"
}
},
"required": [
"feature",
"type",
"url"
]
},
"FeatureExternalResourceTypeEnum": {
"description": "* `GITHUB_ISSUE` - GitHub Issue\n* `GITHUB_PR` - GitHub PR\n* `GITLAB_ISSUE` - GitLab Issue\n* `GITLAB_MR` - GitLab MR",
"type": "string",
"enum": [
"GITHUB_ISSUE",
"GITHUB_PR",
"GITLAB_ISSUE",
"GITLAB_MR"
]
},
"FeatureFlagCodeReferencesRepositoryCount": {
"type": "object",
"properties": {
"repository_url": {
"type": "string",
"format": "uri"
},
"count": {
"type": "integer"
},
"last_successful_repository_scanned_at": {
"type": "string",
"format": "date-time"
},
"last_feature_found_at": {
"type": [
"string",
"null"
],
"format": "date-time"
}
},
"required": [
"count",
"last_feature_found_at",
"last_successful_repository_scanned_at",
"repository_url"
]
},
"FeatureFlagCodeReferencesRepositorySummary": {
"type": "object",
"properties": {
"repository_url": {
"type": "string",
"format": "uri"
},
"vcs_provider": {
"$ref": "#/components/schemas/VcsProviderEnum"
},
"revision": {
"type": "string"
},
"last_successful_repository_scanned_at": {
"type": "string",
"format": "date-time"
},
"last_feature_found_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"code_references": {
"type": "array",
"items": {
"$ref": "#/components/schemas/_CodeReferenceDetail"
}
}
},
"required": [
"code_references",
"last_feature_found_at",
"last_successful_repository_scanned_at",
"repository_url",
"revision",
"vcs_provider"
]
},
"FeatureHealthEvent": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"environment": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"feature": {
"type": "integer",
"readOnly": true
},
"provider_name": {
"type": [
"string",
"null"
],
"readOnly": true
},
"reason": {
"oneOf": [
{
"$ref": "#/components/schemas/FeatureHealthEventReason"
},
{
"type": "null"
}
]
},
"type": {
"allOf": [
{
"$ref": "#/components/schemas/FeatureHealthEventTypeEnum"
}
],
"readOnly": true
}
},
"required": [
"reason"
]
},
"FeatureHealthEventReason": {
"type": "object",
"properties": {
"text_blocks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureHealthEventReasonTextBlock"
}
},
"url_blocks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureHealthEventReasonUrlBlock"
}
}
},
"required": [
"text_blocks",
"url_blocks"
]
},
"FeatureHealthEventReasonTextBlock": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"text"
]
},
"FeatureHealthEventReasonUrlBlock": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"url"
]
},
"FeatureHealthEventTypeEnum": {
"description": "* `UNHEALTHY` - Unhealthy\n* `HEALTHY` - Healthy",
"type": "string",
"enum": [
"UNHEALTHY",
"HEALTHY"
]
},
"FeatureLifecycleCounts": {
"description": "Number of features in each lifecycle stage for an environment",
"type": "object",
"properties": {
"new": {
"type": "integer"
},
"live": {
"type": "integer"
},
"stale": {
"type": "integer"
},
"permanent": {
"type": "integer"
},
"needs_monitoring": {
"type": "integer"
},
"to_remove": {
"type": "integer"
}
},
"required": [
"live",
"needs_monitoring",
"new",
"permanent",
"stale",
"to_remove"
]
},
"FeatureSegmentList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"segment": {
"type": "integer",
"readOnly": true
},
"priority": {
"type": "integer",
"readOnly": true
},
"environment": {
"type": "integer",
"readOnly": true
},
"segment_name": {
"type": "string",
"readOnly": true
},
"is_feature_specific": {
"type": "boolean",
"readOnly": true
}
}
},
"FeatureStateSerializerBasic": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature_state_value": {
"type": [
"string",
"integer",
"number",
"boolean",
"null"
],
"readOnly": true
},
"multivariate_feature_state_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultivariateFeatureStateValue"
}
},
"identifier": {
"description": "Can be passed as an alternative to `identity`",
"type": "string"
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"enabled": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"version": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"feature": {
"type": "integer"
},
"environment": {
"type": [
"integer",
"null"
]
},
"identity": {
"type": [
"integer",
"null"
]
},
"feature_segment": {
"type": [
"integer",
"null"
]
},
"change_request": {
"type": [
"integer",
"null"
]
},
"environment_feature_version": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
"required": [
"feature"
]
},
"FeatureStateSerializerSmall": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature_state_value": {
"type": [
"string",
"integer",
"boolean",
"null"
],
"readOnly": true
},
"environment": {
"type": [
"integer",
"null"
]
},
"identity": {
"type": [
"integer",
"null"
]
},
"feature_segment": {
"type": [
"integer",
"null"
]
},
"enabled": {
"type": "boolean"
}
}
},
"FeatureStateValue": {
"type": "object",
"properties": {
"type": {
"oneOf": [
{
"$ref": "#/components/schemas/Type975Enum"
},
{
"$ref": "#/components/schemas/BlankEnum"
},
{
"$ref": "#/components/schemas/NullEnum"
}
]
},
"string_value": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"integer_value": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"boolean_value": {
"type": [
"boolean",
"null"
]
}
}
},
"FeatureValue": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/FeatureValueTypeEnum"
},
"value": {
"type": "string"
}
},
"required": [
"type",
"value"
]
},
"FeatureValueTypeEnum": {
"description": "* `integer` - integer\n* `string` - string\n* `boolean` - boolean",
"type": "string",
"enum": [
"integer",
"string",
"boolean"
]
},
"Invite": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"role": {
"$ref": "#/components/schemas/RoleEnum"
},
"date_created": {
"type": "string",
"format": "date-time",
"readOnly": true,
"title": "DateCreated"
},
"permission_groups": {
"type": "array",
"items": {
"type": [
"integer",
"null"
]
}
}
},
"required": [
"email"
]
},
"InviteList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"date_created": {
"type": "string",
"format": "date-time",
"readOnly": true,
"title": "DateCreated"
},
"invited_by": {
"$ref": "#/components/schemas/UserList"
},
"permission_groups": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"required": [
"email",
"invited_by"
]
},
"Labels": {
"type": "object",
"properties": {
"client_application_name": {
"type": [
"string",
"null"
]
},
"client_application_version": {
"type": [
"string",
"null"
]
},
"user_agent": {
"type": [
"string",
"null"
]
}
}
},
"LifecycleStageEnum": {
"description": "* `new` - new\n* `live` - live\n* `stale` - stale\n* `permanent` - permanent\n* `needs_monitoring` - needs_monitoring\n* `to_remove` - to_remove",
"type": "string",
"enum": [
"new",
"live",
"stale",
"permanent",
"needs_monitoring",
"to_remove"
]
},
"ListFeature": {
"description": "Functionality for serializers that need to handle metadata",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"type": {
"oneOf": [
{
"$ref": "#/components/schemas/TypeD77Enum"
},
{
"$ref": "#/components/schemas/BlankEnum"
}
]
},
"default_enabled": {
"type": "boolean"
},
"initial_value": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"created_date": {
"type": "string",
"format": "date-time",
"readOnly": true,
"title": "DateCreated"
},
"description": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "integer"
}
},
"multivariate_options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NestedMultivariateFeatureOption"
}
},
"is_archived": {
"type": "boolean"
},
"owners": {
"type": "array",
"items": {
"type": "integer"
}
},
"group_owners": {
"type": "array",
"items": {
"type": "integer"
}
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"project": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer",
"readOnly": true
},
"environment_feature_state": {
"oneOf": [
{
"$ref": "#/components/schemas/FeatureStateSerializerSmall"
},
{
"type": "null"
}
],
"readOnly": true
},
"segment_feature_state": {
"oneOf": [
{
"$ref": "#/components/schemas/FeatureStateSerializerSmall"
},
{
"type": "null"
}
],
"readOnly": true
},
"num_segment_overrides": {
"description": "Number of segment overrides that exist for the given feature in the environment provided by the `environment` query parameter.",
"type": "integer",
"readOnly": true
},
"num_identity_overrides": {
"description": "Number of identity overrides that exist for the given feature in the environment provided by the `environment` query parameter. Note: will return null for Edge enabled projects.",
"type": [
"integer",
"null"
],
"readOnly": true
},
"is_num_identity_overrides_complete": {
"type": "boolean",
"default": true,
"readOnly": true
},
"is_server_key_only": {
"type": "boolean"
},
"last_modified_in_any_environment": {
"description": "Datetime representing the last time that the feature was modified in any environment in the given project. Note: requires feature versioning v2 enabled on the environment.",
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"last_modified_in_current_environment": {
"description": "Datetime representing the last time that the feature was modified in any environment in the current environment. Note: requires that the environment query parameter is passed and feature versioning v2 enabled on the environment.",
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metadata"
}
},
"code_references_counts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureFlagCodeReferencesRepositoryCount"
},
"readOnly": true
},
"lifecycle_stage": {
"allOf": [
{
"$ref": "#/components/schemas/LifecycleStageEnum"
}
],
"readOnly": true
}
},
"required": [
"name"
]
},
"ListUserPermissionGroup": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 200
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ListUserPermissionGroupMembership"
},
"readOnly": true
},
"is_default": {
"description": "If set to true, all new users will be added to this group",
"type": "boolean"
},
"external_id": {
"description": "Unique ID of the group in an external system",
"type": [
"string",
"null"
],
"maxLength": 255
}
},
"required": [
"name"
]
},
"ListUserPermissionGroupMembership": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"last_login": {
"type": "string"
},
"group_admin": {
"type": "boolean"
}
},
"required": [
"email",
"first_name",
"id",
"last_login",
"last_name"
]
},
"Metadata": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"model_field": {
"type": "integer"
},
"field_value": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"field_value",
"model_field"
]
},
"Metric": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"description": {
"type": "string"
},
"aggregation": {
"$ref": "#/components/schemas/AggregationEnum"
},
"direction": {
"$ref": "#/components/schemas/DirectionEnum"
},
"experiments": {
"type": "array",
"items": {
"type": "object",
"description": "A lightweight view of an experiment using a metric, as returned in the\nmetric's ``experiments`` field.",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"id",
"name",
"status"
]
},
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
}
},
"required": [
"definition",
"name"
]
},
"MultivariateFeatureOption": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"type": {
"oneOf": [
{
"$ref": "#/components/schemas/Type975Enum"
},
{
"$ref": "#/components/schemas/BlankEnum"
},
{
"$ref": "#/components/schemas/NullEnum"
}
]
},
"integer_value": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"string_value": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"boolean_value": {
"type": [
"boolean",
"null"
]
},
"default_percentage_allocation": {
"type": "number",
"format": "double",
"maximum": 100,
"minimum": 0
},
"key": {
"description": "A stable, human-readable identifier for the variant.",
"type": [
"string",
"null"
],
"maxLength": 255,
"pattern": "^[-a-zA-Z0-9_]+$"
},
"feature": {
"type": "integer"
}
},
"required": [
"feature"
]
},
"MultivariateFeatureStateValue": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"multivariate_feature_option": {
"type": "integer"
},
"percentage_allocation": {
"type": "number",
"format": "double",
"maximum": 100,
"minimum": 0
}
},
"required": [
"multivariate_feature_option",
"percentage_allocation"
]
},
"MultivariateValue": {
"type": "object",
"properties": {
"multivariate_feature_option": {
"type": "integer"
},
"percentage_allocation": {
"type": "number",
"format": "double",
"maximum": 100,
"minimum": 0
}
},
"required": [
"multivariate_feature_option",
"percentage_allocation"
]
},
"NestedMultivariateFeatureOption": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"type": {
"oneOf": [
{
"$ref": "#/components/schemas/Type975Enum"
},
{
"$ref": "#/components/schemas/BlankEnum"
},
{
"$ref": "#/components/schemas/NullEnum"
}
]
},
"integer_value": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"string_value": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"boolean_value": {
"type": [
"boolean",
"null"
]
},
"default_percentage_allocation": {
"type": "number",
"format": "double",
"maximum": 100,
"minimum": 0
},
"key": {
"description": "A stable, human-readable identifier for the variant.",
"type": [
"string",
"null"
],
"readOnly": true
}
}
},
"NullEnum": {
"type": "null"
},
"OrganisationSerializerFull": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"created_date": {
"type": "string",
"format": "date-time",
"readOnly": true,
"title": "DateCreated"
},
"webhook_notification_email": {
"type": [
"string",
"null"
],
"format": "email",
"maxLength": 254
},
"num_seats": {
"type": "integer",
"readOnly": true
},
"subscription": {
"$ref": "#/components/schemas/Subscription"
},
"role": {
"type": [
"string",
"null"
],
"readOnly": true
},
"persist_trait_data": {
"description": "Disable this if you don't want Flagsmith to store trait data for this org's identities.",
"type": "boolean",
"readOnly": true
},
"block_access_to_admin": {
"description": "Enable this to block all the access to admin interface for the organisation",
"type": "boolean",
"readOnly": true
},
"restrict_project_create_to_admin": {
"type": "boolean"
},
"force_2fa": {
"type": "boolean"
}
},
"required": [
"name"
]
},
"PaginatedEnvironmentFeatureVersionList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EnvironmentFeatureVersion"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedEnvironmentSerializerWithMetadataList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EnvironmentSerializerWithMetadata"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedExperimentListList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExperimentList"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedFeatureExternalResourceList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureExternalResource"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedFeatureSegmentListList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureSegmentList"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedInviteListList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InviteList"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedListFeatureList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ListFeature"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedListUserPermissionGroupList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ListUserPermissionGroup"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedMetricList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metric"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedMultivariateFeatureOptionList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultivariateFeatureOption"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedOrganisationSerializerFullList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganisationSerializerFull"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedProjectChangeRequestListList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectChangeRequestList"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedReleasePipelineList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReleasePipeline"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedRoleList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Role"
}
}
},
"required": [
"count",
"results"
]
},
"PaginatedSegmentList": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4",
"nullable": true
},
"previous": {
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2",
"nullable": true
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Segment"
}
}
},
"required": [
"count",
"results"
]
},
"PaymentMethodEnum": {
"description": "* `CHARGEBEE` - Chargebee\n* `XERO` - Xero\n* `AWS_MARKETPLACE` - AWS Marketplace",
"type": "string",
"enum": [
"CHARGEBEE",
"XERO",
"AWS_MARKETPLACE"
]
},
"PipelineStage": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"pipeline": {
"type": "integer",
"readOnly": true
},
"environment": {
"type": "integer"
},
"order": {
"type": "integer",
"maximum": 30,
"minimum": 0
},
"trigger": {
"$ref": "#/components/schemas/StageTrigger"
},
"actions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StageAction"
}
},
"features": {
"type": "string",
"readOnly": true
}
},
"required": [
"actions",
"environment",
"name",
"order",
"trigger"
]
},
"ProjectChangeRequestList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"title": {
"type": "string",
"readOnly": true
},
"description": {
"type": [
"string",
"null"
],
"readOnly": true
},
"user": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"committed_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"committed_by": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
}
}
},
"ProjectList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"organisation": {
"type": "integer"
},
"hide_disabled_flags": {
"description": "If true will exclude flags from SDK which are disabled",
"type": "boolean"
},
"enable_dynamo_db": {
"description": "If true will sync environment data with dynamodb and allow access to dynamodb identities",
"type": "boolean",
"readOnly": true
},
"migration_status": {
"description": "Edge migration status of the project; can be one of: MIGRATION_SCHEDULED, MIGRATION_COMPLETED, MIGRATION_IN_PROGRESS, MIGRATION_NOT_STARTED, NOT_APPLICABLE",
"type": "string",
"readOnly": true
},
"use_edge_identities": {
"type": "boolean",
"readOnly": true
},
"prevent_flag_defaults": {
"description": "Prevent defaults from being set in all environments when creating a feature.",
"type": "boolean"
},
"enable_realtime_updates": {
"description": "Enable this to trigger a realtime(sse) event whenever the value of a flag changes",
"type": "boolean"
},
"only_allow_lower_case_feature_names": {
"description": "Used by UI to validate feature names",
"type": "boolean"
},
"feature_name_regex": {
"description": "Used for validating feature names",
"type": [
"string",
"null"
],
"maxLength": 255
},
"show_edge_identity_overrides_for_feature": {
"type": "boolean",
"readOnly": true
},
"stale_flags_limit_days": {
"description": "Number of days without modification in any environment before a flag is considered stale.",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648
},
"edge_v2_migration_status": {
"description": "[Edge V2 migration] Project migration status. Set to `IN_PROGRESS` to trigger migration start.\n\n* `NOT_STARTED` - Not Started\n* `IN_PROGRESS` - In Progress\n* `COMPLETE` - Complete\n* `INCOMPLETE` - Incomplete (identity overrides skipped)",
"allOf": [
{
"$ref": "#/components/schemas/EdgeV2MigrationStatusEnum"
}
],
"readOnly": true
},
"minimum_change_request_approvals": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"enforce_feature_owners": {
"description": "Require at least one user or group owner when creating a feature.",
"type": "boolean"
}
},
"required": [
"name",
"organisation"
]
},
"ProjectRetrieve": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"organisation": {
"type": "integer"
},
"hide_disabled_flags": {
"description": "If true will exclude flags from SDK which are disabled",
"type": "boolean"
},
"enable_dynamo_db": {
"description": "If true will sync environment data with dynamodb and allow access to dynamodb identities",
"type": "boolean"
},
"migration_status": {
"description": "Edge migration status of the project; can be one of: MIGRATION_SCHEDULED, MIGRATION_COMPLETED, MIGRATION_IN_PROGRESS, MIGRATION_NOT_STARTED, NOT_APPLICABLE",
"type": "string",
"readOnly": true
},
"use_edge_identities": {
"type": "boolean",
"readOnly": true
},
"prevent_flag_defaults": {
"description": "Prevent defaults from being set in all environments when creating a feature.",
"type": "boolean"
},
"enable_realtime_updates": {
"description": "Enable this to trigger a realtime(sse) event whenever the value of a flag changes",
"type": "boolean"
},
"only_allow_lower_case_feature_names": {
"description": "Used by UI to validate feature names",
"type": "boolean"
},
"feature_name_regex": {
"description": "Used for validating feature names",
"type": [
"string",
"null"
],
"maxLength": 255
},
"show_edge_identity_overrides_for_feature": {
"type": "boolean",
"readOnly": true
},
"stale_flags_limit_days": {
"description": "Number of days without modification in any environment before a flag is considered stale.",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648
},
"edge_v2_migration_status": {
"description": "[Edge V2 migration] Project migration status. Set to `IN_PROGRESS` to trigger migration start.\n\n* `NOT_STARTED` - Not Started\n* `IN_PROGRESS` - In Progress\n* `COMPLETE` - Complete\n* `INCOMPLETE` - Incomplete (identity overrides skipped)",
"allOf": [
{
"$ref": "#/components/schemas/EdgeV2MigrationStatusEnum"
}
]
},
"minimum_change_request_approvals": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"enforce_feature_owners": {
"description": "Require at least one user or group owner when creating a feature.",
"type": "boolean"
},
"max_segments_allowed": {
"description": "Max segments allowed for this project",
"type": "integer",
"readOnly": true
},
"max_features_allowed": {
"description": "Max features allowed for this project",
"type": "integer",
"readOnly": true
},
"max_segment_overrides_allowed": {
"description": "Max segments overrides allowed for any (one) environment within this project",
"type": "integer",
"readOnly": true
},
"total_features": {
"type": "integer",
"readOnly": true
},
"total_segments": {
"type": "integer",
"readOnly": true
}
},
"required": [
"name",
"organisation"
]
},
"ProjectUpdate": {
"description": "Mixin to add read only status to fields in a given serializer based on the existence\nof a subscription and a black list of plan ids\n\nExample usage:\n\n class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):\n class Meta:\n model = MyModel\n fields = (\"my_field\",)\n\n invalid_plans = (\"free\",)\n field_names = (\"my_field\",)\n\n def get_subscription(self):\n return subscription",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"organisation": {
"type": "integer",
"readOnly": true
},
"hide_disabled_flags": {
"description": "If true will exclude flags from SDK which are disabled",
"type": "boolean"
},
"enable_dynamo_db": {
"description": "If true will sync environment data with dynamodb and allow access to dynamodb identities",
"type": "boolean",
"readOnly": true
},
"migration_status": {
"description": "Edge migration status of the project; can be one of: MIGRATION_SCHEDULED, MIGRATION_COMPLETED, MIGRATION_IN_PROGRESS, MIGRATION_NOT_STARTED, NOT_APPLICABLE",
"type": "string",
"readOnly": true
},
"use_edge_identities": {
"type": "boolean",
"readOnly": true
},
"prevent_flag_defaults": {
"description": "Prevent defaults from being set in all environments when creating a feature.",
"type": "boolean"
},
"enable_realtime_updates": {
"description": "Enable this to trigger a realtime(sse) event whenever the value of a flag changes",
"type": "boolean",
"readOnly": true
},
"only_allow_lower_case_feature_names": {
"description": "Used by UI to validate feature names",
"type": "boolean"
},
"feature_name_regex": {
"description": "Used for validating feature names",
"type": [
"string",
"null"
],
"maxLength": 255
},
"show_edge_identity_overrides_for_feature": {
"type": "boolean",
"readOnly": true
},
"stale_flags_limit_days": {
"description": "Number of days without modification in any environment before a flag is considered stale.",
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648,
"readOnly": true
},
"edge_v2_migration_status": {
"description": "[Edge V2 migration] Project migration status. Set to `IN_PROGRESS` to trigger migration start.\n\n* `NOT_STARTED` - Not Started\n* `IN_PROGRESS` - In Progress\n* `COMPLETE` - Complete\n* `INCOMPLETE` - Incomplete (identity overrides skipped)",
"allOf": [
{
"$ref": "#/components/schemas/EdgeV2MigrationStatusEnum"
}
],
"readOnly": true
},
"minimum_change_request_approvals": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"enforce_feature_owners": {
"description": "Require at least one user or group owner when creating a feature.",
"type": "boolean"
}
},
"required": [
"name"
]
},
"ReleasePipeline": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"project": {
"type": "integer",
"readOnly": true
},
"description": {
"type": [
"string",
"null"
]
},
"stages_count": {
"type": "integer",
"readOnly": true
},
"published_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"published_by": {
"type": [
"integer",
"null"
]
},
"features": {
"type": "array",
"items": {
"type": "integer"
},
"readOnly": true
}
},
"required": [
"name"
]
},
"ReleasePipelineDetail": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"project": {
"type": "integer",
"readOnly": true
},
"description": {
"type": [
"string",
"null"
]
},
"stages_count": {
"type": "integer",
"readOnly": true
},
"published_at": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"published_by": {
"type": [
"integer",
"null"
]
},
"features": {
"type": "array",
"items": {
"type": "integer"
},
"readOnly": true
},
"stages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PipelineStage"
}
},
"completed_features": {
"type": "string",
"readOnly": true
}
},
"required": [
"name",
"stages"
]
},
"Role": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 255
},
"description": {
"type": [
"string",
"null"
]
},
"organisation": {
"type": "integer",
"readOnly": true
},
"tags": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"required": [
"name"
]
},
"RoleEnum": {
"description": "* `ADMIN` - Admin\n* `USER` - User",
"type": "string",
"enum": [
"ADMIN",
"USER"
]
},
"Segment": {
"description": "Functionality for serializers that need to handle metadata",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"created_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 2000
},
"description": {
"type": [
"string",
"null"
]
},
"project": {
"type": "integer"
},
"feature": {
"type": [
"integer",
"null"
]
},
"version_of": {
"type": [
"integer",
"null"
]
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SegmentRule"
}
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metadata"
}
},
"membership_counts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SegmentMembershipCount"
},
"readOnly": true
}
},
"required": [
"name",
"project",
"rules"
]
},
"SegmentMembershipCount": {
"type": "object",
"properties": {
"environment": {
"type": "integer",
"readOnly": true
},
"count": {
"type": "integer",
"readOnly": true
},
"last_synced_at": {
"type": "string",
"format": "date-time",
"readOnly": true
}
}
},
"SegmentRule": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"type": {
"$ref": "#/components/schemas/SegmentRuleTypeEnum"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/_NestedSegmentRule"
}
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Condition"
}
},
"delete": {
"type": "boolean",
"writeOnly": true
}
},
"required": [
"type"
]
},
"SegmentRuleTypeEnum": {
"description": "* `ALL` - all\n* `ANY` - any\n* `NONE` - none",
"type": "string",
"enum": [
"ALL",
"ANY",
"NONE"
]
},
"StageAction": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"action_type": {
"$ref": "#/components/schemas/ActionTypeEnum"
},
"action_body": {
"oneOf": [
{},
{
"type": "null"
}
]
}
}
},
"StageTrigger": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"trigger_type": {
"$ref": "#/components/schemas/TriggerTypeEnum"
},
"trigger_body": {
"oneOf": [
{},
{
"type": "null"
}
]
}
}
},
"Status7a8Enum": {
"description": "* `created` - Created\n* `running` - Running\n* `paused` - Paused\n* `completed` - Completed",
"type": "string",
"enum": [
"created",
"running",
"paused",
"completed"
]
},
"Subscription": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"has_active_billing_periods": {
"type": "boolean",
"readOnly": true
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"subscription_id": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"subscription_date": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"plan": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"max_seats": {
"type": "integer",
"maximum": 2147483647,
"minimum": -2147483648
},
"max_api_calls": {
"type": "integer",
"format": "int64",
"maximum": 9223372036854775807,
"minimum": -9223372036854776000
},
"cancellation_date": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"customer_id": {
"type": [
"string",
"null"
],
"maxLength": 100
},
"billing_status": {
"oneOf": [
{
"$ref": "#/components/schemas/BillingStatusEnum"
},
{
"$ref": "#/components/schemas/BlankEnum"
},
{
"$ref": "#/components/schemas/NullEnum"
}
]
},
"payment_method": {
"oneOf": [
{
"$ref": "#/components/schemas/PaymentMethodEnum"
},
{
"$ref": "#/components/schemas/BlankEnum"
},
{
"$ref": "#/components/schemas/NullEnum"
}
]
},
"notes": {
"type": [
"string",
"null"
],
"maxLength": 500
}
}
},
"TriggerTypeEnum": {
"description": "* `ON_ENTER` - Trigger when flag enters stage\n* `WAIT_FOR` - Trigger after waiting for x amount of time",
"type": "string",
"enum": [
"ON_ENTER",
"WAIT_FOR"
]
},
"Type975Enum": {
"description": "* `int` - Integer\n* `unicode` - String\n* `bool` - Boolean",
"type": "string",
"enum": [
"int",
"unicode",
"bool"
]
},
"TypeD77Enum": {
"description": "* `STANDARD` - STANDARD\n* `MULTIVARIATE` - MULTIVARIATE",
"type": "string",
"enum": [
"STANDARD",
"MULTIVARIATE"
]
},
"UpdateFeature": {
"description": "prevent users from changing certain values after creation",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"readOnly": true
},
"type": {
"oneOf": [
{
"$ref": "#/components/schemas/TypeD77Enum"
},
{
"$ref": "#/components/schemas/BlankEnum"
}
]
},
"default_enabled": {
"type": "boolean",
"readOnly": true
},
"initial_value": {
"type": [
"string",
"null"
],
"readOnly": true
},
"created_date": {
"type": "string",
"format": "date-time",
"readOnly": true,
"title": "DateCreated"
},
"description": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "integer"
}
},
"multivariate_options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NestedMultivariateFeatureOption"
}
},
"is_archived": {
"type": "boolean"
},
"owners": {
"type": "array",
"items": {
"type": "integer"
},
"readOnly": true
},
"group_owners": {
"type": "array",
"items": {
"type": "integer"
},
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"project": {
"description": "Changing the project selected will remove previous Feature States for the previously associated projects Environments that are related to this Feature. New default Feature States will be created for the new selected projects Environments for this Feature. Also this will remove any Tags associated with a feature as Tags are Project defined",
"type": "integer",
"readOnly": true
},
"environment_feature_state": {
"oneOf": [
{
"$ref": "#/components/schemas/FeatureStateSerializerSmall"
},
{
"type": "null"
}
],
"readOnly": true
},
"segment_feature_state": {
"oneOf": [
{
"$ref": "#/components/schemas/FeatureStateSerializerSmall"
},
{
"type": "null"
}
],
"readOnly": true
},
"num_segment_overrides": {
"description": "Number of segment overrides that exist for the given feature in the environment provided by the `environment` query parameter.",
"type": "integer",
"readOnly": true
},
"num_identity_overrides": {
"description": "Number of identity overrides that exist for the given feature in the environment provided by the `environment` query parameter. Note: will return null for Edge enabled projects.",
"type": [
"integer",
"null"
],
"readOnly": true
},
"is_num_identity_overrides_complete": {
"type": "boolean",
"default": true,
"readOnly": true
},
"is_server_key_only": {
"type": "boolean"
},
"last_modified_in_any_environment": {
"description": "Datetime representing the last time that the feature was modified in any environment in the given project. Note: requires feature versioning v2 enabled on the environment.",
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"last_modified_in_current_environment": {
"description": "Datetime representing the last time that the feature was modified in any environment in the current environment. Note: requires that the environment query parameter is passed and feature versioning v2 enabled on the environment.",
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"metadata": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Metadata"
}
},
"code_references_counts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FeatureFlagCodeReferencesRepositoryCount"
},
"readOnly": true
},
"lifecycle_stage": {
"allOf": [
{
"$ref": "#/components/schemas/LifecycleStageEnum"
}
],
"readOnly": true
}
}
},
"UserList": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"first_name": {
"type": "string",
"maxLength": 150
},
"last_name": {
"type": "string",
"maxLength": 150
},
"last_login": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
}
},
"required": [
"email",
"first_name",
"last_name"
]
},
"V1EnvironmentDocumentResponseSegmentCondition": {
"description": "Represents a condition within a segment rule used by Flagsmith engine.",
"type": "object",
"properties": {
"operator": {
"allOf": [
{
"$ref": "#/components/schemas/V1EnvironmentDocumentResponseSegmentConditionOperatorEnum"
}
],
"title": "Operator"
},
"value": {
"type": "string",
"title": "Value"
},
"property_": {
"type": "string",
"title": "Property"
}
},
"required": [
"operator",
"value",
"property_"
],
"title": "SegmentCondition"
},
"V1EnvironmentDocumentResponseSegmentConditionOperatorEnum": {
"type": "string",
"enum": [
"EQUAL",
"GREATER_THAN",
"LESS_THAN",
"LESS_THAN_INCLUSIVE",
"CONTAINS",
"GREATER_THAN_INCLUSIVE",
"NOT_CONTAINS",
"NOT_EQUAL",
"REGEX",
"PERCENTAGE_SPLIT",
"MODULO",
"IS_SET",
"IS_NOT_SET",
"IN"
]
},
"V1EnvironmentDocumentResponseSegmentRule": {
"description": "Represents a rule within a segment used by Flagsmith engine. Root rules usually contain nested rules.",
"type": "object",
"properties": {
"type": {
"allOf": [
{
"$ref": "#/components/schemas/V1EnvironmentDocumentResponseSegmentRuleTypeEnum"
}
],
"title": "Type"
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/V1EnvironmentDocumentResponseSegmentRule"
},
"title": "Rules"
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/V1EnvironmentDocumentResponseSegmentCondition"
},
"title": "Conditions"
}
},
"required": [
"type",
"rules",
"conditions"
],
"title": "SegmentRule"
},
"V1EnvironmentDocumentResponseSegmentRuleTypeEnum": {
"type": "string",
"enum": [
"ALL",
"ANY",
"NONE"
]
},
"VcsProviderEnum": {
"description": "* `github` - GitHub",
"type": "string",
"enum": [
"github"
]
},
"VersionChangeSet": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature": {
"type": "integer"
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"feature_states_to_update": {
"description": "List of feature states to update as part of this change.",
"type": "array"
},
"feature_states_to_create": {
"description": "List of feature states to create as part of this change.",
"type": "array"
},
"segment_ids_to_delete_overrides": {
"description": "List of segment IDs for which the overrides should be deleted as part of this change.",
"type": "array",
"items": {
"type": "integer"
}
}
},
"required": [
"feature",
"feature_states_to_create",
"feature_states_to_update",
"segment_ids_to_delete_overrides"
]
},
"WorkflowsError": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": [
"message"
]
},
"WritableNestedFeatureState": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"feature_state_value": {
"$ref": "#/components/schemas/FeatureStateValue"
},
"multivariate_feature_state_values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MultivariateFeatureStateValue"
}
},
"identifier": {
"description": "Can be passed as an alternative to `identity`",
"type": "string"
},
"deleted_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"readOnly": true
},
"uuid": {
"type": "string",
"format": "uuid",
"readOnly": true
},
"enabled": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"readOnly": true
},
"live_from": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"version": {
"type": [
"integer",
"null"
],
"readOnly": true
},
"feature": {
"type": "integer"
},
"environment": {
"type": [
"integer",
"null"
]
},
"identity": {
"type": [
"integer",
"null"
]
},
"feature_segment": {
"type": [
"integer",
"null"
]
},
"change_request": {
"type": [
"integer",
"null"
]
},
"environment_feature_version": {
"type": [
"string",
"null"
],
"format": "uuid"
}
},
"required": [
"environment",
"feature"
]
},
"_CodeReferenceDetail": {
"type": "object",
"properties": {
"file_path": {
"type": "string",
"maxLength": 4096
},
"line_number": {
"type": "integer",
"minimum": 1
},
"scanned_at": {
"type": "string",
"format": "date-time"
},
"vcs_provider": {
"$ref": "#/components/schemas/VcsProviderEnum"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"revision": {
"type": "string"
},
"permalink": {
"type": "string",
"format": "uri"
}
},
"required": [
"file_path",
"line_number",
"permalink",
"repository_url",
"revision",
"scanned_at",
"vcs_provider"
]
},
"_FeatureStateValue": {
"type": "object",
"properties": {
"type": {
"oneOf": [
{
"$ref": "#/components/schemas/Type975Enum"
},
{
"$ref": "#/components/schemas/BlankEnum"
},
{
"$ref": "#/components/schemas/NullEnum"
}
]
},
"string_value": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"integer_value": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": -2147483648
},
"boolean_value": {
"type": [
"boolean",
"null"
]
}
}
},
"_MultivariateFeatureStateValue": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"multivariate_feature_option": {
"type": "integer"
},
"percentage_allocation": {
"type": "number",
"format": "double",
"maximum": 100,
"minimum": 0
}
},
"required": [
"multivariate_feature_option",
"percentage_allocation"
]
},
"_NestedSegmentRule": {
"description": "Adds nested create feature",
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"type": {
"$ref": "#/components/schemas/SegmentRuleTypeEnum"
},
"conditions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Condition"
}
},
"delete": {
"type": "boolean",
"writeOnly": true
}
},
"required": [
"type"
]
}
},
"securitySchemes": {
"Environment API Key": {
"type": "apiKey",
"in": "header",
"name": "X-Environment-Key",
"description": "For SDK endpoints. Find out more."
},
"Master API Key": {
"type": "apiKey",
"in": "header",
"name": "Authorization",
"description": "For Admin API endpoints. Find out more."
},
"basicAuth": {
"type": "http",
"scheme": "basic"
},
"tokenAuth": {
"type": "apiKey",
"in": "header",
"name": "Authorization",
"description": "Token-based authentication with required prefix \"Token\""
}
}
},
"tags": [
{
"name": "mcp",
"description": "MCP-compatible endpoints."
}
],
"$schema": "https://spec.openapis.org/oas/3.1/dialect/base"
}