GitHub Raw JSON API

Flagsmith / flagsmith

6,338 Python

Flagsmith is an open source feature flagging and remote config service. Self-host or use our hosted version at https://app.flagsmith.com.

flagsmith Specification

Located in openapi.yaml on branch HEAD

3.x (YAML) YAML 796.3 KB
Raw YAML Specification
openapi: 3.1.0
info:
  title: Flagsmith API
  version: v1
  description: 'Flagsmith''s Core and SDK APIs. Check out <a href=''https://docs.flagsmith.com''>Flagsmith documentation</a>.'
  contact:
    email: [email protected]
  license:
    name: BSD License
    identifier: BSD-3-Clause
servers:
  - url: 'https://api.flagsmith.com'
    description: Flagsmith API
paths:
  '/api/__future__/environments/{environment_key}/features/{feature_id}/':
    get:
      operationId: api___future___environments_features_retrieve
      description: Read what the flag serves in the environment.
      parameters:
        - name: environment_key
          in: path
          required: true
          schema:
            type: string
        - name: feature_id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFlagResponse'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - experimental
    put:
      operationId: api___future___environments_features_update
      description: 'Replace the properties given, resetting what they omit.'
      parameters:
        - name: environment_key
          in: path
          required: true
          schema:
            type: string
        - name: feature_id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFlagRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateFlagRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateFlagRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFlagResponse'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - experimental
    patch:
      operationId: api___future___environments_features_partial_update
      description: 'Update the properties given, leaving the rest as they are.'
      parameters:
        - name: environment_key
          in: path
          required: true
          schema:
            type: string
        - name: feature_id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateFlagRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateFlagRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateFlagRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFlagResponse'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - experimental
  '/api/experiments/environments/{environment_key}/delete-segment-override/':
    post:
      operationId: api_experiments_environments_delete_segment_override_create
      summary: Delete segment override
      description: |2-

            **EXPERIMENTAL ENDPOINT** - Subject to change without notice.

            Deletes a segment override for a feature in the given environment.

            **Feature Identification:**
            - Use `feature.name` OR `feature.id` (mutually exclusive)
            - Feature must belong to the environment's project

            **Segment Identification:**
            - Use `segment.id` (required)

            The segment override must exist for the given feature/environment combination.
            Returns 400 if the segment override does not exist.
            
      parameters:
        - name: environment_key
          in: path
          description: The environment API key
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteSegmentOverride'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteSegmentOverride'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeleteSegmentOverride'
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - experimental
  '/api/experiments/environments/{environment_key}/update-flag-v1/':
    post:
      operationId: api_experiments_environments_update_flag_v1_create
      summary: Update single feature state
      description: |2-

            **EXPERIMENTAL ENDPOINT** - Subject to change without notice.

            Updates a single feature state within an environment. You can update either:
            - The environment default state (when no segment is specified)
            - A specific segment override (when segment.id is provided)

            **Feature Identification:**
            - Use `feature.name` OR `feature.id` (mutually exclusive)

            **Value Format:**
            - The `value` field is always a string representation
            - The `type` field tells the server how to parse it
            - Available types: integer, string, boolean
            - Examples:
              - `{"type": "integer", "value": "42"}`
              - `{"type": "boolean", "value": "true"}`
              - `{"type": "string", "value": "hello"}`

            **Segment Priority:**
            - Optional `segment.priority` field controls ordering
            - If field value is null or the field is omitted, lowest priority is assumed
            
      parameters:
        - name: environment_key
          in: path
          description: The environment API key
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFlag'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateFlag'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateFlag'
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - experimental
  '/api/experiments/environments/{environment_key}/update-flag-v2/':
    post:
      operationId: api_experiments_environments_update_flag_v2_create
      summary: Update multiple feature states
      description: |2-

            **EXPERIMENTAL ENDPOINT** - Subject to change without notice.

            Updates multiple feature states in a single request. This endpoint allows
            you to configure an entire feature (environment default + all segment overrides)
            in one operation.

            **What You Can Update:**
            - Environment default state (required)
            - Multiple segment overrides (optional)
            - Priority ordering for each segment

            **Feature Identification:**
            - Use `feature.name` OR `feature.id` (mutually exclusive)

            **Value Format:**
            - The `value` field is always a string representation
            - The `type` field tells the server how to parse it
            - Available types: integer, string, boolean
            - Examples:
              - `{"type": "string", "value": "production"}`
              - `{"type": "integer", "value": "100"}`
              - `{"type": "boolean", "value": "false"}`

            **Segment Overrides:**
            - Provide array of segment override configurations
            - Each override must specify: segment_id, enabled, value
            - Optional priority field controls ordering
            - Duplicate segment_id values are not allowed

            
      parameters:
        - name: environment_key
          in: path
          description: The environment API key
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFlagV2'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateFlagV2'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateFlagV2'
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - experimental
  /api/v1/admin/dashboard/integrations/:
    get:
      operationId: api_v1_admin_dashboard_integrations_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  /api/v1/admin/dashboard/organisations/:
    get:
      operationId: api_v1_admin_dashboard_organisations_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Admin dashboard
  /api/v1/admin/dashboard/release-pipelines/:
    get:
      operationId: api_v1_admin_dashboard_release_pipelines_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Admin dashboard
  /api/v1/admin/dashboard/stale-flags/:
    get:
      operationId: api_v1_admin_dashboard_stale_flags_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Admin dashboard
  /api/v1/admin/dashboard/summary/:
    get:
      operationId: api_v1_admin_dashboard_summary_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Admin dashboard
  /api/v1/admin/dashboard/usage-trends/:
    get:
      operationId: api_v1_admin_dashboard_usage_trends_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Admin dashboard
  /api/v1/analytics/flags/:
    post:
      operationId: api_v1_analytics_flags_create
      description: Class to handle flag analytics events
      responses:
        '201':
          description: No response body
      security:
        - Environment API Key: []
      tags:
        - Analytics
  /api/v1/analytics/telemetry/:
    post:
      operationId: api_v1_analytics_telemetry_create
      description: |-
        Class to handle telemetry events from self hosted APIs so we can aggregate and track
        self hosted installation data
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Telemetry'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Telemetry'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Telemetry'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Telemetry'
      tags:
        - Analytics
  /api/v1/audit/:
    get:
      operationId: api_v1_audit_list
      parameters:
        - name: environments
          in: query
          schema:
            type: array
            items:
              type: integer
              minimum: 0
        - name: is_system_event
          in: query
          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
          in: query
          schema:
            type: integer
        - name: search
          in: query
          schema:
            type: string
            maxLength: 256
            minLength: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAuditLogListList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Audit
  '/api/v1/audit/{id}/':
    get:
      operationId: api_v1_audit_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this audit log.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLogRetrieve'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Audit
  '/api/v1/auth/{method}/activate/':
    post:
      operationId: api_v1_auth_activate_create
      parameters:
        - name: method
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/auth/{method}/activate/confirm/':
    post:
      operationId: api_v1_auth_activate_confirm_create
      parameters:
        - name: method
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/auth/{method}/deactivate/':
    post:
      operationId: api_v1_auth_deactivate_create
      parameters:
        - name: method
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/login/:
    post:
      operationId: api_v1_auth_login_create
      description: Class to handle throttling for login requests
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TokenCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TokenCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenCreate'
      tags:
        - Authentication
  /api/v1/auth/login/code/:
    post:
      operationId: api_v1_auth_login_code_create
      description: Override class to add throttling
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TokenCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TokenCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenCreate'
      tags:
        - Authentication
  /api/v1/auth/logout/:
    post:
      operationId: api_v1_auth_logout_create
      description: Use this endpoint to logout user (remove user authentication token).
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/mfa/user-active-methods/:
    get:
      operationId: api_v1_auth_mfa_user_active_methods_retrieve
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/oauth/github/:
    post:
      operationId: api_v1_auth_oauth_github_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GithubLogin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GithubLogin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GithubLogin'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthToken'
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/oauth/google/:
    post:
      operationId: api_v1_auth_oauth_google_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleLogin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GoogleLogin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GoogleLogin'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthToken'
        '502':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/oidc/token/:
    post:
      operationId: oidc_token_exchange
      description: Exchange an OIDC token issued by a trusted identity provider for a short-lived Flagsmith access token.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenExchangeRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TokenExchangeRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TokenExchangeRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenExchangeResponse'
        '400':
          description: Request body is invalid.
        '401':
          description: 'Token validation failed, or no trust relationship matches the token.'
      security:
        - {}
      tags:
        - Authentication
  '/api/v1/auth/saml/{name}/metadata/':
    get:
      operationId: api_v1_auth_saml_metadata_retrieve
      parameters:
        - name: format
          in: query
          schema:
            type: string
            enum:
              - json
              - xml
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Metadata
  '/api/v1/auth/saml/{name}/request/':
    post:
      operationId: api_v1_auth_saml_request_create
      parameters:
        - name: format
          in: query
          schema:
            type: string
            enum:
              - html
              - json
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlRequest'
            text/html:
              schema:
                $ref: '#/components/schemas/SamlRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  '/api/v1/auth/saml/{name}/response/':
    post:
      operationId: api_v1_auth_saml_response_create
      parameters:
        - name: format
          in: query
          schema:
            type: string
            enum:
              - html
              - json
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/saml/attribute-mapping/:
    get:
      operationId: api_v1_auth_saml_attribute_mapping_list
      parameters:
        - name: organisation
          in: query
          schema:
            type: integer
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          schema:
            type: integer
        - name: saml_configuration
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSamlAttributeMappingList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    post:
      operationId: api_v1_auth_saml_attribute_mapping_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlAttributeMapping'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SamlAttributeMapping'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SamlAttributeMapping'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlAttributeMapping'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/auth/saml/attribute-mapping/{id}/':
    get:
      operationId: api_v1_auth_saml_attribute_mapping_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlAttributeMapping'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    put:
      operationId: api_v1_auth_saml_attribute_mapping_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlAttributeMapping'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SamlAttributeMapping'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SamlAttributeMapping'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlAttributeMapping'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    patch:
      operationId: api_v1_auth_saml_attribute_mapping_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSamlAttributeMapping'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSamlAttributeMapping'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSamlAttributeMapping'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlAttributeMapping'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    delete:
      operationId: api_v1_auth_saml_attribute_mapping_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/saml/configuration/:
    get:
      operationId: api_v1_auth_saml_configuration_list
      parameters:
        - name: organisation
          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/PaginatedSamlConfigurationList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
      x-flagsmith-minimum-plan: SCALE_UP
    post:
      operationId: api_v1_auth_saml_configuration_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SamlConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SamlConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
      x-flagsmith-minimum-plan: SCALE_UP
  '/api/v1/auth/saml/configuration/{name}/':
    get:
      operationId: api_v1_auth_saml_configuration_retrieve
      parameters:
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
      x-flagsmith-minimum-plan: SCALE_UP
    put:
      operationId: api_v1_auth_saml_configuration_update
      parameters:
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SamlConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SamlConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
      x-flagsmith-minimum-plan: SCALE_UP
    patch:
      operationId: api_v1_auth_saml_configuration_partial_update
      parameters:
        - name: name
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSamlConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSamlConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSamlConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
      x-flagsmith-minimum-plan: SCALE_UP
    delete:
      operationId: api_v1_auth_saml_configuration_destroy
      parameters:
        - name: name
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
      x-flagsmith-minimum-plan: SCALE_UP
  /api/v1/auth/saml/login/:
    post:
      operationId: api_v1_auth_saml_login_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlLogin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SamlLogin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SamlLogin'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlUserToken'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - {}
      tags:
        - Authentication
  /api/v1/auth/token/:
    delete:
      operationId: api_v1_auth_token_destroy
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/users/:
    get:
      operationId: api_v1_auth_users_list
      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/PaginatedUserList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    post:
      operationId: api_v1_auth_users_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomUserCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomUserCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomUserCreate'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomUserCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/auth/users/{id}/':
    get:
      operationId: api_v1_auth_users_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this Feature flag admin user.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    put:
      operationId: api_v1_auth_users_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this Feature flag admin user.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/User'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/User'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    patch:
      operationId: api_v1_auth_users_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this Feature flag admin user.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUser'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    delete:
      operationId: api_v1_auth_users_destroy
      parameters:
        - name: current_password
          in: query
          schema:
            type:
              - string
              - 'null'
        - name: delete_orphan_organisations
          in: query
          schema:
            type: boolean
            default: false
        - name: id
          in: path
          description: A unique integer value identifying this Feature flag admin user.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/users/activation/:
    post:
      operationId: api_v1_auth_users_activation_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Activation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Activation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Activation'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Activation'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/users/me/:
    get:
      operationId: api_v1_auth_users_me_retrieve
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlCurrentUser'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    put:
      operationId: api_v1_auth_users_me_update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlCurrentUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SamlCurrentUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SamlCurrentUser'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlCurrentUser'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    patch:
      operationId: api_v1_auth_users_me_partial_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSamlCurrentUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSamlCurrentUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSamlCurrentUser'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlCurrentUser'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    delete:
      operationId: api_v1_auth_users_me_destroy
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/users/me/onboarding/:
    patch:
      operationId: api_v1_auth_users_me_onboarding_partial_update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUser'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUser'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUser'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/users/resend_activation/:
    post:
      operationId: api_v1_auth_users_resend_activation_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendEmailReset'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/users/reset_email/:
    post:
      operationId: api_v1_auth_users_reset_email_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendEmailReset'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/users/reset_email_confirm/:
    post:
      operationId: api_v1_auth_users_reset_email_confirm_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UsernameResetConfirm'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UsernameResetConfirm'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UsernameResetConfirm'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsernameResetConfirm'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/users/reset_password/:
    post:
      operationId: api_v1_auth_users_reset_password_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SendEmailReset'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendEmailReset'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/users/reset_password_confirm/:
    post:
      operationId: api_v1_auth_users_reset_password_confirm_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordResetConfirmRetype'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PasswordResetConfirmRetype'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PasswordResetConfirmRetype'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordResetConfirmRetype'
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Authentication
  /api/v1/auth/users/set_email/:
    post:
      operationId: api_v1_auth_users_set_email_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetUsername'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetUsername'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SetUsername'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetUsername'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/auth/users/set_password/:
    post:
      operationId: api_v1_auth_users_set_password_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetPasswordRetype'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SetPasswordRetype'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SetPasswordRetype'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetPasswordRetype'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/cb-webhook/:
    post:
      operationId: api_v1_cb_webhook_create
      description: |-
        Endpoint to handle webhooks from chargebee.

        Payment failure and payment succeeded webhooks are filtered out and processed
        to determine which of our subscriptions are in a dunning state.

        The remaining webhooks are processed if they have subscription data:

         - If subscription is active, check to see if plan has changed and update if so. Always update cancellation date to
           None to ensure that if a subscription is reactivated, it is updated on our end.

         - If subscription is cancelled or not renewing, update subscription on our end to include cancellation date and
           send alert to admin users.
      responses:
        '200':
          description: No response body
      security:
        - basicAuth: []
      tags:
        - Webhooks
  /api/v1/environment-document/:
    get:
      operationId: sdk_v1_environment_document
      description: |-
        Retrieve the environment document.
        Used by SDKs in local evaluation mode, and Edge Proxy.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1EnvironmentDocumentResponse'
      security:
        - Environment API Key: []
      tags:
        - sdk
  '/api/v1/environment-feature-versions/{id}/':
    get:
      operationId: api_v1_environment_feature_versions_retrieve
      description: |-
        This is an additional endpoint to retrieve a specific version without needing
        to provide the environment or feature as part of the URL.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentFeatureVersionRetrieve'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  /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
    post:
      operationId: api_v1_environments_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateEnvironment'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/':
    get:
      operationId: api_v1_environments_retrieve
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentRetrieveSerializerWithMetadata'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    put:
      operationId: api_v1_environments_update
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateEnvironment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    patch:
      operationId: api_v1_environments_partial_update
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUpdateEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateEnvironment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    delete:
      operationId: api_v1_environments_destroy
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/clone/':
    post:
      operationId: api_v1_environments_clone_create
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloneEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CloneEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CloneEnvironment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloneEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/delete-traits/':
    post:
      operationId: api_v1_environments_delete_traits_create
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteAllTraitKeys'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeleteAllTraitKeys'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeleteAllTraitKeys'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteAllTraitKeys'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/disable-v2-versioning/':
    post:
      operationId: api_v1_environments_disable_v2_versioning_create
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '202':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/document/':
    get:
      operationId: api_v1_environments_document_retrieve
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1EnvironmentDocumentResponse'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/enable-v2-versioning/':
    post:
      operationId: api_v1_environments_enable_v2_versioning_create
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '202':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/my-permissions/':
    get:
      operationId: api_v1_environments_my_permissions_retrieve
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserObjectPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/trait-keys/':
    get:
      operationId: api_v1_environments_trait_keys_retrieve
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraitKeys'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{api_key}/user-detailed-permissions/{user_id}/':
    get:
      operationId: api_v1_environments_user_detailed_permissions_retrieve
      parameters:
        - name: api_key
          in: path
          required: true
          schema:
            type: string
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            pattern: ^\d+$
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailedPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/api-keys/':
    get:
      operationId: api_v1_environments_api_keys_list
      description: Manage server-side SDK keys for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EnvironmentAPIKey'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    post:
      operationId: api_v1_environments_api_keys_create
      description: Manage server-side SDK keys for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnvironmentAPIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EnvironmentAPIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EnvironmentAPIKey'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentAPIKey'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/api-keys/{id}/':
    put:
      operationId: api_v1_environments_api_keys_update
      description: Manage server-side SDK keys for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this environment api key.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnvironmentAPIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EnvironmentAPIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EnvironmentAPIKey'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentAPIKey'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    patch:
      operationId: api_v1_environments_api_keys_partial_update
      description: Manage server-side SDK keys for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this environment api key.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedEnvironmentAPIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedEnvironmentAPIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedEnvironmentAPIKey'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentAPIKey'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    delete:
      operationId: api_v1_environments_api_keys_destroy
      description: Manage server-side SDK keys for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this environment api key.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/cohorts/':
    get:
      operationId: api_v1_environments_cohorts_list
      description: List the environment's cohorts.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Cohort'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
      x-flagsmith-minimum-plan: START_UP
    post:
      operationId: api_v1_environments_cohorts_create
      description: Create a cohort and the managed segment that targets it.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Cohort'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Cohort'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Cohort'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cohort'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
      x-flagsmith-minimum-plan: START_UP
  '/api/v1/environments/{environment_api_key}/cohorts/{cohort_id}/':
    get:
      operationId: api_v1_environments_cohorts_retrieve
      description: Retrieve a cohort.
      parameters:
        - name: cohort_id
          in: path
          description: A unique integer value identifying this cohort.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cohort'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
      x-flagsmith-minimum-plan: START_UP
    delete:
      operationId: api_v1_environments_cohorts_destroy
      description: Request cohort deletion. Memberships are drained from identity data first; the cohort and its segment are deleted once drained.
      parameters:
        - name: cohort_id
          in: path
          description: A unique integer value identifying this cohort.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '202':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
      x-flagsmith-minimum-plan: START_UP
  '/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}/edge-identities/':
    get:
      operationId: api_v1_environments_edge_identities_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: last_evaluated_key
          in: query
          description: Used as the starting point for the page
          required: false
          schema:
            type: string
        - 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/PaginatedEdgeIdentityList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    post:
      operationId: api_v1_environments_edge_identities_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentity'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentity'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/':
    get:
      operationId: api_v1_environments_edge_identities_edge_featurestates_list
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: feature
          in: query
          description: ID of the feature to filter by
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EdgeIdentityFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    post:
      operationId: api_v1_environments_edge_identities_edge_featurestates_create
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentityFeatureState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentityFeatureState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentityFeatureState'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/{featurestate_uuid}/':
    get:
      operationId: api_v1_environments_edge_identities_edge_featurestates_retrieve
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: featurestate_uuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    put:
      operationId: api_v1_environments_edge_identities_edge_featurestates_update
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: featurestate_uuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentityFeatureState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentityFeatureState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentityFeatureState'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    delete:
      operationId: api_v1_environments_edge_identities_edge_featurestates_destroy
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: featurestate_uuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/all/':
    get:
      operationId: api_v1_environments_edge_identities_edge_featurestates_all_list
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityAllFeatureStates'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{edge_identity_identity_uuid}/edge-featurestates/clone-from-given-identity/':
    post:
      operationId: api_v1_environments_edge_identities_edge_featurestates_clone_from_given_identity_create
      description: Clone feature states from a given source identity.
      parameters:
        - name: edge_identity_identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentitySourceIdentityRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentitySourceIdentityRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentitySourceIdentityRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityAllFeatureStates'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/':
    get:
      operationId: api_v1_environments_edge_identities_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_uuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentity'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    put:
      operationId: api_v1_environments_edge_identities_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_uuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentityUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentityUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentityUpdate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityUpdate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    patch:
      operationId: api_v1_environments_edge_identities_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_uuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedEdgeIdentityUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedEdgeIdentityUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedEdgeIdentityUpdate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityUpdate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    delete:
      operationId: api_v1_environments_edge_identities_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_uuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/list-traits/':
    get:
      operationId: api_v1_environments_edge_identities_list_traits_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_uuid
          in: path
          required: true
          schema:
            type: string
        - name: last_evaluated_key
          in: query
          description: Used as the starting point for the page
          required: false
          schema:
            type: string
        - 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/PaginatedEdgeIdentityTraitsList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identities/{identity_uuid}/update-traits/':
    put:
      operationId: api_v1_environments_edge_identities_update_traits_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_uuid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentityTraits'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentityTraits'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentityTraits'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityTraits'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/edge-identity-overrides':
    get:
      operationId: api_v1_environments_edge_identity_overrides_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: feature
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEdgeIdentityOverrides'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/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
    patch:
      operationId: api_v1_environments_experiment_metrics_partial_update
      description: Manage experiment metrics for an environment.
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetric'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetric'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetric'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metric'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    delete:
      operationId: api_v1_environments_experiment_metrics_destroy
      description: Manage experiment metrics for an environment.
      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:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/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_experiment_id}/metrics/':
    get:
      operationId: api_v1_environments_experiments_metrics_list
      description: Manage metrics for an experiment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: experiment_experiment_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExperimentMetric'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    post:
      operationId: api_v1_environments_experiments_metrics_create
      description: Manage metrics for an experiment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: experiment_experiment_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExperimentMetric'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExperimentMetric'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExperimentMetric'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentMetric'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/experiments/{experiment_experiment_id}/metrics/{id}/':
    get:
      operationId: api_v1_environments_experiments_metrics_retrieve
      description: Manage metrics for an experiment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: experiment_experiment_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentMetric'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    put:
      operationId: api_v1_environments_experiments_metrics_update
      description: Manage metrics for an experiment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: experiment_experiment_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExperimentMetric'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExperimentMetric'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExperimentMetric'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentMetric'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    patch:
      operationId: api_v1_environments_experiments_metrics_partial_update
      description: Manage metrics for an experiment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: experiment_experiment_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExperimentMetric'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExperimentMetric'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExperimentMetric'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentMetric'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    delete:
      operationId: api_v1_environments_experiments_metrics_destroy
      description: Manage metrics for an experiment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: experiment_experiment_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/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
    patch:
      operationId: api_v1_environments_experiments_partial_update
      description: Manage experiments for an environment.
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExperiment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExperiment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExperiment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Experiment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    delete:
      operationId: api_v1_environments_experiments_destroy
      description: Manage experiments for an environment.
      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:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/complete/':
    post:
      operationId: api_v1_environments_experiments_complete_create
      description: Manage experiments for an environment.
      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/ExperimentList'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExperimentList'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExperimentList'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/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}/exposures/refresh/':
    post:
      operationId: api_v1_environments_experiments_exposures_refresh_create
      description: Manage experiments for an environment.
      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:
        - Environments
  '/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/pause/':
    post:
      operationId: api_v1_environments_experiments_pause_create
      description: Manage experiments for an environment.
      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/ExperimentList'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExperimentList'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExperimentList'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/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}/experiments/{experiment_id}/results/refresh/':
    post:
      operationId: api_v1_environments_experiments_results_refresh_create
      description: Manage experiments for an environment.
      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:
        - Environments
  '/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/rollout/':
    patch:
      operationId: api_v1_environments_experiments_rollout_partial_update
      description: Manage experiments for an environment.
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedExperimentList'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedExperimentList'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedExperimentList'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/experiments/{experiment_id}/start/':
    post:
      operationId: api_v1_environments_experiments_start_create
      description: Manage experiments for an environment.
      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/ExperimentList'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ExperimentList'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ExperimentList'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/experiments/results/':
    get:
      operationId: api_v1_environments_experiments_results_retrieve
      description: |-
        Get experiment results for a feature.

        Returns conversion rates and statistical significance for each variant
        of a feature flag experiment.

        Trait naming convention:
        - Variant tracking: `exp_{feature}_variant` (string value)
        - Conversion tracking: `exp_{feature}_converted` (boolean value)
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: feature
          in: query
          description: Feature name to analyse
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentResults'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/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/':
    get:
      operationId: api_v1_environments_featurestates_list
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      parameters:
        - name: anyIdentity
          in: query
          description: Pass any value to get results that have an identity override. Do not pass for default behaviour.
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: feature
          in: query
          description: ID of the feature to filter by.
          schema:
            type: integer
        - name: feature_name
          in: query
          description: Name of the feature to filter by.
          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/PaginatedFeatureStateSerializerWithIdentityList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
    post:
      operationId: api_v1_environments_featurestates_create
      description: |-
        DEPRECATED: please use `/features/featurestates/` instead.
        Override create method to add environment and identity (if present) from URL parameters.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      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:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerBasic'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/environments/{environment_api_key}/featurestates/{id}/':
    get:
      operationId: api_v1_environments_featurestates_retrieve
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      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
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerBasic'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
    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
    patch:
      operationId: api_v1_environments_featurestates_partial_update
      description: Override partial_update as overridden update method assumes partial True for all requests.
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFeatureStateSerializerCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedFeatureStateSerializerCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedFeatureStateSerializerCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
    delete:
      operationId: api_v1_environments_featurestates_destroy
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      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
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/environments/{environment_api_key}/identities/':
    get:
      operationId: api_v1_environments_identities_list
      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
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedIdentityList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    post:
      operationId: api_v1_environments_identities_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Identity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Identity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Identity'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/':
    get:
      operationId: api_v1_environments_identities_featurestates_list
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      parameters:
        - name: anyIdentity
          in: query
          description: Pass any value to get results that have an identity override. Do not pass for default behaviour.
          schema:
            type: string
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: feature
          in: query
          description: ID of the feature to filter by.
          schema:
            type: integer
        - name: feature_name
          in: query
          description: Name of the feature to filter by.
          schema:
            type: string
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
        - 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/PaginatedFeatureStateSerializerWithIdentityList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    post:
      operationId: api_v1_environments_identities_featurestates_create
      description: |-
        DEPRECATED: please use `/features/featurestates/` instead.
        Override create method to add environment and identity (if present) from URL parameters.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      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:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerBasic'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/{id}/':
    get:
      operationId: api_v1_environments_identities_featurestates_retrieve
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      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
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerBasic'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    put:
      operationId: api_v1_environments_identities_featurestates_update
      description: |-
        Override update method to always assume update request is partial and create / update
        feature state value.
      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
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      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:
        - Identities
    patch:
      operationId: api_v1_environments_identities_featurestates_partial_update
      description: Override partial_update as overridden update method assumes partial True for all requests.
      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
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFeatureStateSerializerCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedFeatureStateSerializerCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedFeatureStateSerializerCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    delete:
      operationId: api_v1_environments_identities_featurestates_destroy
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      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
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/all/':
    get:
      operationId: api_v1_environments_identities_featurestates_all_retrieve
      description: |-
        View set to manage feature states. Nested beneath environments and environments + identities
        to allow for filtering on both.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureStateSerializerCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{identity_pk}/featurestates/clone-from-given-identity/':
    post:
      operationId: api_v1_environments_identities_featurestates_clone_from_given_identity_create
      description: Clone feature states from a given source identity.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentitySourceIdentityRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/IdentitySourceIdentityRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/IdentitySourceIdentityRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedIdentityAllFeatureStatesList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/':
    get:
      operationId: api_v1_environments_identities_traits_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_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/PaginatedTraitList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    post:
      operationId: api_v1_environments_identities_traits_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: identity_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trait'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Trait'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Trait'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trait'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{identity_pk}/traits/{id}/':
    get:
      operationId: api_v1_environments_identities_traits_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this trait.
          required: true
          schema:
            type: integer
        - name: identity_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trait'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    put:
      operationId: api_v1_environments_identities_traits_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this trait.
          required: true
          schema:
            type: integer
        - name: identity_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Trait'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Trait'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Trait'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trait'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    patch:
      operationId: api_v1_environments_identities_traits_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this trait.
          required: true
          schema:
            type: integer
        - name: identity_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTrait'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedTrait'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedTrait'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trait'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    delete:
      operationId: api_v1_environments_identities_traits_destroy
      parameters:
        - name: deleteAllMatchingTraits
          in: query
          description: Deletes all traits in this environment matching the key of the deleted trait
          schema:
            type: boolean
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this trait.
          required: true
          schema:
            type: integer
        - name: identity_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/identities/{id}/':
    get:
      operationId: api_v1_environments_identities_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this identity.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    put:
      operationId: api_v1_environments_identities_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this identity.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Identity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Identity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Identity'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    patch:
      operationId: api_v1_environments_identities_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this identity.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedIdentity'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedIdentity'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedIdentity'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    delete:
      operationId: api_v1_environments_identities_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this identity.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/{environment_api_key}/integrations/amplitude/':
    get:
      operationId: api_v1_environments_integrations_amplitude_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AmplitudeConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_amplitude_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmplitudeConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AmplitudeConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AmplitudeConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmplitudeConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/amplitude/{id}/':
    get:
      operationId: api_v1_environments_integrations_amplitude_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this amplitude configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmplitudeConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_amplitude_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this amplitude configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AmplitudeConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AmplitudeConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AmplitudeConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmplitudeConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_amplitude_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this amplitude configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAmplitudeConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedAmplitudeConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedAmplitudeConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmplitudeConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_amplitude_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this amplitude configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/dynatrace/':
    get:
      operationId: api_v1_environments_integrations_dynatrace_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DynatraceConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_dynatrace_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynatraceConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DynatraceConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DynatraceConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynatraceConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/dynatrace/{id}/':
    get:
      operationId: api_v1_environments_integrations_dynatrace_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this dynatrace configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynatraceConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_dynatrace_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this dynatrace configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynatraceConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DynatraceConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DynatraceConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynatraceConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_dynatrace_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this dynatrace configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDynatraceConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDynatraceConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDynatraceConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynatraceConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_dynatrace_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this dynatrace configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/grafana/':
    get:
      operationId: api_v1_environments_integrations_grafana_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_grafana_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/grafana/{id}/':
    get:
      operationId: api_v1_environments_integrations_grafana_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_grafana_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_grafana_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaProjectConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaProjectConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaProjectConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_grafana_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/heap/':
    get:
      operationId: api_v1_environments_integrations_heap_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HeapConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_heap_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HeapConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HeapConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/HeapConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeapConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/heap/{id}/':
    get:
      operationId: api_v1_environments_integrations_heap_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this heap configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeapConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_heap_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this heap configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HeapConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/HeapConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/HeapConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeapConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_heap_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this heap configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedHeapConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedHeapConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedHeapConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeapConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_heap_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this heap configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/mixpanel/':
    get:
      operationId: api_v1_environments_integrations_mixpanel_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MixpanelConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_mixpanel_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixpanelConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MixpanelConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MixpanelConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixpanelConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/mixpanel/{id}/':
    get:
      operationId: api_v1_environments_integrations_mixpanel_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this mixpanel configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixpanelConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_mixpanel_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this mixpanel configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixpanelConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MixpanelConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MixpanelConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixpanelConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_mixpanel_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this mixpanel configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMixpanelConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMixpanelConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMixpanelConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MixpanelConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_mixpanel_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this mixpanel configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/rudderstack/':
    get:
      operationId: api_v1_environments_integrations_rudderstack_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RudderstackConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_rudderstack_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RudderstackConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RudderstackConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RudderstackConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RudderstackConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/rudderstack/{id}/':
    get:
      operationId: api_v1_environments_integrations_rudderstack_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this rudderstack configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RudderstackConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_rudderstack_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this rudderstack configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RudderstackConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RudderstackConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RudderstackConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RudderstackConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_rudderstack_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this rudderstack configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRudderstackConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedRudderstackConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedRudderstackConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RudderstackConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_rudderstack_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this rudderstack configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/segment/':
    get:
      operationId: api_v1_environments_integrations_segment_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SegmentConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_segment_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SegmentConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SegmentConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/segment/{id}/':
    get:
      operationId: api_v1_environments_integrations_segment_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this segment configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_segment_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this segment configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SegmentConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SegmentConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_segment_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this segment configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSegmentConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSegmentConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSegmentConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_segment_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this segment configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/sentry/':
    get:
      operationId: api_v1_environments_integrations_sentry_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_sentry_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/sentry/{id}/':
    get:
      operationId: api_v1_environments_integrations_sentry_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this sentry change tracking configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_sentry_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this sentry change tracking configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_sentry_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this sentry change tracking configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSentryChangeTrackingConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSentryChangeTrackingConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSentryChangeTrackingConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SentryChangeTrackingConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_sentry_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this sentry change tracking configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/slack/':
    get:
      operationId: api_v1_environments_integrations_slack_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_slack_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SlackEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SlackEnvironment'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/slack-channels/':
    get:
      operationId: api_v1_environments_integrations_slack_channels_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlackChannelList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/slack/{id}/':
    get:
      operationId: api_v1_environments_integrations_slack_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this slack environment.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_slack_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this slack environment.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SlackEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SlackEnvironment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_slack_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this slack environment.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSlackEnvironment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSlackEnvironment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSlackEnvironment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_slack_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this slack environment.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/slack/callback/':
    get:
      operationId: api_v1_environments_integrations_slack_callback_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/slack/oauth/':
    get:
      operationId: api_v1_environments_integrations_slack_oauth_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/slack/signature/':
    get:
      operationId: api_v1_environments_integrations_slack_signature_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlackEnvironment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/webhook/':
    get:
      operationId: api_v1_environments_integrations_webhook_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_environments_integrations_webhook_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WebhookConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WebhookConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/environments/{environment_api_key}/integrations/webhook/{id}/':
    get:
      operationId: api_v1_environments_integrations_webhook_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook configuration.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_environments_integrations_webhook_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook configuration.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WebhookConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WebhookConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_environments_integrations_webhook_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook configuration.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedWebhookConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedWebhookConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedWebhookConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_environments_integrations_webhook_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook configuration.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/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_api_key}/metrics/':
    get:
      operationId: api_v1_environments_metrics_list
      description: Get metrics for this environment.
      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
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedEnvironmentMetricsList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/onboarding-status/':
    get:
      operationId: api_v1_environments_onboarding_status_retrieve
      description: Obtain information on whether features for this environment have been evaluated yet.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentOnboardingStatus'
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/user-group-permissions/':
    get:
      operationId: api_v1_environments_user_group_permissions_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListUserPermissionGroupEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    post:
      operationId: api_v1_environments_user_group_permissions_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/environments/{environment_api_key}/user-group-permissions/{id}/':
    get:
      operationId: api_v1_environments_user_group_permissions_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user permission group environment permission.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    put:
      operationId: api_v1_environments_user_group_permissions_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user permission group environment permission.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    patch:
      operationId: api_v1_environments_user_group_permissions_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user permission group environment permission.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserPermissionGroupEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserPermissionGroupEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserPermissionGroupEnvironmentPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    delete:
      operationId: api_v1_environments_user_group_permissions_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user permission group environment permission.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/environments/{environment_api_key}/user-permissions/':
    get:
      operationId: api_v1_environments_user_permissions_list
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListUserEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    post:
      operationId: api_v1_environments_user_permissions_create
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/environments/{environment_api_key}/user-permissions/{id}/':
    get:
      operationId: api_v1_environments_user_permissions_retrieve
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user environment permission.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    put:
      operationId: api_v1_environments_user_permissions_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user environment permission.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    patch:
      operationId: api_v1_environments_user_permissions_partial_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user environment permission.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserEnvironmentPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    delete:
      operationId: api_v1_environments_user_permissions_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this user environment permission.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/environments/{environment_api_key}/warehouse-connections/':
    get:
      operationId: api_v1_environments_warehouse_connections_list
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WarehouseConnection'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    post:
      operationId: api_v1_environments_warehouse_connections_create
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseConnection'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/':
    get:
      operationId: api_v1_environments_warehouse_connections_retrieve
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: connection_id
          in: path
          description: A unique integer value identifying this warehouse connection.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseConnection'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    put:
      operationId: api_v1_environments_warehouse_connections_update
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: connection_id
          in: path
          description: A unique integer value identifying this warehouse connection.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseConnection'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    patch:
      operationId: api_v1_environments_warehouse_connections_partial_update
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: connection_id
          in: path
          description: A unique integer value identifying this warehouse connection.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedWarehouseConnection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedWarehouseConnection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedWarehouseConnection'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseConnection'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
    delete:
      operationId: api_v1_environments_warehouse_connections_destroy
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: connection_id
          in: path
          description: A unique integer value identifying this warehouse connection.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/events/':
    get:
      operationId: api_v1_environments_warehouse_connections_events_list
      description: List the distinct event names in the connection's warehouse.
      parameters:
        - name: connection_id
          in: path
          description: A unique integer value identifying this warehouse connection.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseEventNamesResult'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseEventNamesUnsupported'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseEventNamesUnavailable'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/warehouse-connections/{connection_id}/test-warehouse-connection/':
    post:
      operationId: api_v1_environments_warehouse_connections_test_warehouse_connection_create
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: connection_id
          in: path
          description: A unique integer value identifying this warehouse connection.
          required: true
          schema:
            type: integer
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseConnection'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/warehouse-connections/test-warehouse-connection/':
    post:
      operationId: api_v1_environments_warehouse_connections_test_warehouse_connection_config_create
      description: Manage data warehouse connections for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/WarehouseConnection'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WarehouseConnectionTestResult'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/environments/{environment_api_key}/webhooks/':
    get:
      operationId: api_v1_environments_webhooks_list
      description: Manage webhooks for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    post:
      operationId: api_v1_environments_webhooks_create
      description: Manage webhooks for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Webhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Webhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Webhook'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
  '/api/v1/environments/{environment_api_key}/webhooks/{id}/':
    put:
      operationId: api_v1_environments_webhooks_update
      description: Manage webhooks for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Webhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Webhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Webhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    patch:
      operationId: api_v1_environments_webhooks_partial_update
      description: Manage webhooks for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    delete:
      operationId: api_v1_environments_webhooks_destroy
      description: Manage webhooks for an environment.
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this webhook.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
  '/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
    patch:
      operationId: api_v1_environments_features_versions_featurestates_partial_update
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCustomEnvironmentFeatureVersionFeatureState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCustomEnvironmentFeatureVersionFeatureState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCustomEnvironmentFeatureVersionFeatureState'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEnvironmentFeatureVersionFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
    delete:
      operationId: api_v1_environments_features_versions_featurestates_destroy
      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
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/environments/{environment_pk}/features/{feature_pk}/versions/{id}/':
    delete:
      operationId: api_v1_environments_features_versions_destroy
      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
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/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/environments/environments/{environment_api_key}/edge-identities-featurestates':
    put:
      operationId: api_v1_environments_environments_edge_identities_featurestates_update
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EdgeIdentityWithIdentifierFeatureStateRequestBody'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/EdgeIdentityWithIdentifierFeatureStateRequestBody'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EdgeIdentityWithIdentifierFeatureStateRequestBody'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeIdentityFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
    delete:
      operationId: api_v1_environments_environments_edge_identities_featurestates_destroy
      parameters:
        - name: environment_api_key
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Identities
  '/api/v1/environments/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_environments_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            pattern: '^[0-9a-f-]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentSerializerWithMetadata'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  /api/v1/environments/permissions/:
    get:
      operationId: api_v1_environments_permissions_list
      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/PaginatedPermissionModelList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Environments
  '/api/v1/feature-health/{path}':
    post:
      operationId: api_v1_feature_health_create
      parameters:
        - name: path
          in: path
          required: true
          schema:
            type: string
            pattern: '^.{0,100}$'
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Feature states
  /api/v1/features/create-feature-export/:
    post:
      operationId: api_v1_features_create_feature_export_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeatureExport'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateFeatureExport'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateFeatureExport'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureExport'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/features/download-feature-export/{feature_export_id}/':
    get:
      operationId: api_v1_features_download_feature_export_retrieve
      description: This endpoint is to download a feature export file from a specific environment
      parameters:
        - name: feature_export_id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  /api/v1/features/download-flagsmith-on-flagsmith/:
    get:
      operationId: api_v1_features_download_flagsmith_on_flagsmith_retrieve
      description: This endpoint is to download a feature export to enable Flagsmith on Flagsmith
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Features
  '/api/v1/features/feature-import/{environment_id}':
    post:
      operationId: api_v1_features_feature_import_create
      parameters:
        - name: environment_id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureImportUpload'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureImportUpload'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureImportUpload'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureImport'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  /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
    post:
      operationId: api_v1_features_feature_segments_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureSegmentCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureSegmentCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureSegmentCreate'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureSegmentCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/features/feature-segments/{id}/':
    get:
      operationId: api_v1_features_feature_segments_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this feature segment.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureSegmentList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    put:
      operationId: api_v1_features_feature_segments_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this feature segment.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureSegmentCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureSegmentCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureSegmentCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureSegmentCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    patch:
      operationId: api_v1_features_feature_segments_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this feature segment.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFeatureSegmentCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedFeatureSegmentCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedFeatureSegmentCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureSegmentCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    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/feature-segments/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_features_feature_segments_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            pattern: '^[0-9a-f-]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureSegmentList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  /api/v1/features/feature-segments/update-priorities/:
    post:
      operationId: api_v1_features_feature_segments_update_priorities_create
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          required: false
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FeatureSegmentChangePriorities'
          application/x-www-form-urlencoded:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FeatureSegmentChangePriorities'
          multipart/form-data:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/FeatureSegmentChangePriorities'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFeatureSegmentListList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  /api/v1/features/featurestates/:
    get:
      operationId: api_v1_features_featurestates_list
      parameters:
        - name: environment
          in: query
          description: ID of the environment.
          required: true
          schema:
            type: integer
        - name: feature
          in: query
          schema:
            type: integer
        - name: feature_segment
          in: query
          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/PaginatedWritableNestedFeatureStateList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
    post:
      operationId: api_v1_features_featurestates_create
      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:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WritableNestedFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/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
    patch:
      operationId: api_v1_features_featurestates_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this feature state.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedWritableNestedFeatureState'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedWritableNestedFeatureState'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedWritableNestedFeatureState'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WritableNestedFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/features/featurestates/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_features_featurestates_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WritableNestedFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/features/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_features_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFeature'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/features/workflows/change-requests/{id}/':
    get:
      operationId: api_v1_features_workflows_change_requests_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this change request.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestRetrieve'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    put:
      operationId: api_v1_features_workflows_change_requests_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this change request.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeRequestUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ChangeRequestUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ChangeRequestUpdate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestUpdate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    patch:
      operationId: api_v1_features_workflows_change_requests_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this change request.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedChangeRequestUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedChangeRequestUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedChangeRequestUpdate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestUpdate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    delete:
      operationId: api_v1_features_workflows_change_requests_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this change request.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/features/workflows/change-requests/{id}/approve/':
    post:
      operationId: api_v1_features_workflows_change_requests_approve_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this change request.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestRetrieve'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/features/workflows/change-requests/{id}/commit/':
    post:
      operationId: api_v1_features_workflows_change_requests_commit_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this change request.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeRequestRetrieve'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  /api/v1/flags/:
    get:
      operationId: sdk_v1_flags
      description: |-
        Retrieve the feature flags for an environment.

        ---
        *Note*: when providing the `feature` query argument, this endpoint will
        return either a single object or a 404 (if the feature does not exist) rather
        than a list.

        ---
        *Note*: using this endpoint with an identifier is deprecated.
        Please use `/api/v1/identities/?identifier=<identifier>` instead.
      parameters:
        - name: feature
          in: query
          description: Name of the feature to get the state of
          schema:
            type: string
            minLength: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Represents a single flag (feature state) returned by the Flagsmith SDK.
                  properties:
                    feature:
                      description: 'Represents a Flagsmith feature, defined at project level.'
                      type: object
                      properties:
                        id:
                          type: integer
                        name:
                          type: string
                        type:
                          type: string
                          enum:
                            - STANDARD
                            - MULTIVARIATE
                      required:
                        - id
                        - name
                        - type
                    enabled:
                      type: boolean
                    feature_state_value:
                      nullable: true
                      oneOf:
                        - type: integer
                        - type: boolean
                        - type: string
                  required:
                    - enabled
                    - feature
                    - feature_state_value
      security:
        - Environment API Key: []
      tags:
        - sdk
  '/api/v1/flags/{feature_id}/multivariate-options/':
    get:
      operationId: api_v1_flags_multivariate_options_list
      parameters:
        - name: feature_id
          in: path
          required: true
          schema:
            type: string
            pattern: '^[0-9]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FeatureMVOptionsValuesResponse'
      security:
        - Environment API Key: []
      tags:
        - Features
  '/api/v1/flags/{identifier}':
    get:
      operationId: sdk_v1_flags_2
      description: |-
        Retrieve the feature flags for an environment.

        ---
        *Note*: when providing the `feature` query argument, this endpoint will
        return either a single object or a 404 (if the feature does not exist) rather
        than a list.

        ---
        *Note*: using this endpoint with an identifier is deprecated.
        Please use `/api/v1/identities/?identifier=<identifier>` instead.
      parameters:
        - name: feature
          in: query
          description: Name of the feature to get the state of
          schema:
            type: string
            minLength: 1
        - name: identifier
          in: path
          required: true
          schema:
            type: string
            pattern: '^[-\w@%.]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Represents a single flag (feature state) returned by the Flagsmith SDK.
                  properties:
                    feature:
                      description: 'Represents a Flagsmith feature, defined at project level.'
                      type: object
                      properties:
                        id:
                          type: integer
                        name:
                          type: string
                        type:
                          type: string
                          enum:
                            - STANDARD
                            - MULTIVARIATE
                      required:
                        - id
                        - name
                        - type
                    enabled:
                      type: boolean
                    feature_state_value:
                      nullable: true
                      oneOf:
                        - type: integer
                        - type: boolean
                        - type: string
                  required:
                    - enabled
                    - feature
                    - feature_state_value
      security:
        - Environment API Key: []
      tags:
        - sdk
  /api/v1/github-webhook/:
    post:
      operationId: api_v1_github_webhook_create
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Webhooks
  '/api/v1/gitlab-webhook/{webhook_uuid}/':
    post:
      operationId: api_v1_gitlab_webhook_create
      parameters:
        - name: webhook_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
        - {}
      tags:
        - Other
  /api/v1/identities/:
    get:
      operationId: sdk_v1_get_identities
      description: Retrieve the flags and traits for an identity.
      parameters:
        - name: identifier
          in: query
          required: true
          schema:
            type: string
            minLength: 1
        - name: transient
          in: query
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1IdentitiesResponse'
      security:
        - Environment API Key: []
      tags:
        - sdk
    post:
      operationId: sdk_v1_post_identities
      description: 'Identify a user, set their traits, and retrieve their flags.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V1IdentitiesRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/V1IdentitiesRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/V1IdentitiesRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1IdentitiesResponse'
      security:
        - Environment API Key: []
      tags:
        - sdk
  /api/v1/metadata/fields/:
    get:
      operationId: api_v1_metadata_fields_list
      parameters:
        - name: organisation
          in: query
          description: Organisation ID to filter by
          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/PaginatedMetadataFieldList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
    post:
      operationId: api_v1_metadata_fields_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetadataField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MetadataField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MetadataField'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
  '/api/v1/metadata/fields/{id}/':
    get:
      operationId: api_v1_metadata_fields_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata field.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
    put:
      operationId: api_v1_metadata_fields_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata field.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetadataField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MetadataField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MetadataField'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
    patch:
      operationId: api_v1_metadata_fields_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata field.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetadataField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetadataField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetadataField'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
    delete:
      operationId: api_v1_metadata_fields_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata field.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
  '/api/v1/multivariate/options/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_multivariate_options_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultivariateFeatureOption'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  /api/v1/oauth/authorize/:
    get:
      operationId: api_v1_oauth_authorize_retrieve
      description: Validate an authorisation request and return application info.
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Other
    post:
      operationId: api_v1_oauth_authorize_create
      description: Process a consent decision and return the redirect URI.
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Other
  /api/v1/onboarding/request/send/:
    post:
      operationId: api_v1_onboarding_request_send_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SelfHostedOnboardingSupportSendRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SelfHostedOnboardingSupportSendRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SelfHostedOnboardingSupportSendRequest'
      responses:
        '204':
          description: No response body
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Onboarding
  /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
    post:
      operationId: api_v1_organisations_create
      description: Override create method to add new organisation to authenticated user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganisationSerializerFull'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganisationSerializerFull'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganisationSerializerFull'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationSerializerFull'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_id}/licence':
    put:
      operationId: api_v1_organisations_licence_update
      parameters:
        - name: organisation_id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/api-usage-notification/':
    get:
      operationId: api_v1_organisations_api_usage_notification_list
      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/PaginatedOrganisationAPIUsageNotificationList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/audit/':
    get:
      operationId: api_v1_organisations_audit_list
      parameters:
        - name: environments
          in: query
          schema:
            type: array
            items:
              type: integer
              minimum: 0
        - name: is_system_event
          in: query
          schema:
            type:
              - boolean
              - 'null'
        - 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
        - name: page_size
          in: query
          description: Number of results to return per page.
          required: false
          schema:
            type: integer
        - name: project
          in: query
          schema:
            type: integer
        - name: search
          in: query
          schema:
            type: string
            maxLength: 256
            minLength: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAuditLogListList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Audit
  '/api/v1/organisations/{organisation_pk}/audit/{id}/':
    get:
      operationId: api_v1_organisations_audit_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this audit log.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLogRetrieve'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Audit
  '/api/v1/organisations/{organisation_pk}/github/create-cleanup-issue/':
    post:
      operationId: api_v1_organisations_github_create_cleanup_issue_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/github/issues/':
    get:
      operationId: api_v1_organisations_github_issues_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/github/pulls/':
    get:
      operationId: api_v1_organisations_github_pulls_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/github/repo-contributors/':
    get:
      operationId: api_v1_organisations_github_repo_contributors_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/github/repositories/':
    get:
      operationId: api_v1_organisations_github_repositories_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/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
    post:
      operationId: api_v1_organisations_groups_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListUserPermissionGroup'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ListUserPermissionGroup'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ListUserPermissionGroup'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUserPermissionGroup'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/{group_pk}/roles/':
    get:
      operationId: api_v1_organisations_groups_roles_list
      parameters:
        - name: group_pk
          in: path
          required: true
          schema:
            type: string
        - 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:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/{group_pk}/roles/{id}/':
    delete:
      operationId: api_v1_organisations_groups_roles_destroy
      parameters:
        - name: group_pk
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/{group_pk}/users/{user_pk}/make-admin':
    post:
      operationId: api_v1_organisations_groups_users_make_admin_create
      parameters:
        - name: group_pk
          in: path
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: user_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/groups/{group_pk}/users/{user_pk}/remove-admin':
    post:
      operationId: api_v1_organisations_groups_users_remove_admin_create
      parameters:
        - name: group_pk
          in: path
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: user_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/groups/{id}/':
    get:
      operationId: api_v1_organisations_groups_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupSerializerDetail'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_groups_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListUserPermissionGroup'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ListUserPermissionGroup'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ListUserPermissionGroup'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUserPermissionGroup'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_groups_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedListUserPermissionGroup'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedListUserPermissionGroup'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedListUserPermissionGroup'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUserPermissionGroup'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_groups_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/{id}/add-users/':
    post:
      operationId: api_v1_organisations_groups_add_users_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserIds'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserIds'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserIds'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupSerializerDetail'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/{id}/remove-users/':
    post:
      operationId: api_v1_organisations_groups_remove_users_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserIds'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserIds'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserIds'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupSerializerDetail'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/my-groups/':
    get:
      operationId: api_v1_organisations_groups_my_groups_retrieve
      description: Returns a list of summary group objects only for the groups a user is a member of.
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupSummary'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/groups/summaries/':
    get:
      operationId: api_v1_organisations_groups_summaries_retrieve
      description: Returns a list of summary group objects for all groups in the organisation.
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupSummary'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/integrations/github/':
    get:
      operationId: api_v1_organisations_integrations_github_list
      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/PaginatedGithubConfigurationList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_organisations_integrations_github_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GithubConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GithubConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GithubConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/':
    get:
      operationId: api_v1_organisations_integrations_github_repositories_list
      parameters:
        - name: github_pk
          in: path
          required: true
          schema:
            type: string
        - 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/PaginatedGithubRepositoryList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_organisations_integrations_github_repositories_create
      parameters:
        - name: github_pk
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GithubRepository'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GithubRepository'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GithubRepository'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubRepository'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/organisations/{organisation_pk}/integrations/github/{github_pk}/repositories/{id}/':
    get:
      operationId: api_v1_organisations_integrations_github_repositories_retrieve
      parameters:
        - name: github_pk
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this git hub repository.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubRepository'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_organisations_integrations_github_repositories_update
      parameters:
        - name: github_pk
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this git hub repository.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GithubRepository'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GithubRepository'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GithubRepository'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubRepository'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_organisations_integrations_github_repositories_partial_update
      parameters:
        - name: github_pk
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this git hub repository.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGithubRepository'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGithubRepository'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGithubRepository'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubRepository'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_organisations_integrations_github_repositories_destroy
      parameters:
        - name: github_pk
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: A unique integer value identifying this git hub repository.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/organisations/{organisation_pk}/integrations/github/{id}/':
    get:
      operationId: api_v1_organisations_integrations_github_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this github configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_organisations_integrations_github_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this github configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GithubConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GithubConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GithubConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_organisations_integrations_github_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this github configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGithubConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGithubConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGithubConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GithubConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_organisations_integrations_github_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this github configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/organisations/{organisation_pk}/integrations/grafana/':
    get:
      operationId: api_v1_organisations_integrations_grafana_list
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_organisations_integrations_grafana_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/organisations/{organisation_pk}/integrations/grafana/{id}/':
    get:
      operationId: api_v1_organisations_integrations_grafana_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana organisation configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_organisations_integrations_grafana_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana organisation configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_organisations_integrations_grafana_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana organisation configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaOrganisationConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaOrganisationConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaOrganisationConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaOrganisationConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_organisations_integrations_grafana_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana organisation configuration.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/organisations/{organisation_pk}/invite-links/':
    get:
      operationId: api_v1_organisations_invite_links_list
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InviteLink'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_invite_links_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteLink'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/InviteLink'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/InviteLink'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteLink'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/invite-links/{id}/':
    delete:
      operationId: api_v1_organisations_invite_links_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this invite link.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/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}/invites/{id}/':
    get:
      operationId: api_v1_organisations_invites_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this invite.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_invites_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this invite.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/invites/{id}/resend/':
    post:
      operationId: api_v1_organisations_invites_resend_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this invite.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InviteList'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/InviteList'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/InviteList'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/master-api-keys/':
    get:
      operationId: api_v1_organisations_master_api_keys_list
      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/PaginatedMasterAPIKeyList'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_master_api_keys_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MasterAPIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MasterAPIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MasterAPIKey'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKey'
      security:
        - tokenAuth: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/master-api-keys/{api_key_prefix}/roles/':
    get:
      operationId: api_v1_organisations_master_api_keys_roles_list
      parameters:
        - name: api_key_prefix
          in: path
          required: true
          schema:
            type: string
        - 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:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/master-api-keys/{api_key_prefix}/roles/{id}/detach-roles-from-master-api-key/':
    delete:
      operationId: api_v1_organisations_master_api_keys_roles_detach_roles_from_master_api_key_destroy
      parameters:
        - name: api_key_prefix
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/master-api-keys/{prefix}/':
    get:
      operationId: api_v1_organisations_master_api_keys_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: prefix
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKey'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_master_api_keys_update
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: prefix
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MasterAPIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MasterAPIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MasterAPIKey'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKey'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_master_api_keys_partial_update
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: prefix
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMasterAPIKey'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMasterAPIKey'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMasterAPIKey'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKey'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_master_api_keys_destroy
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: prefix
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/metadata-model-fields/':
    get:
      operationId: api_v1_organisations_metadata_model_fields_list
      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/PaginatedMetaDataModelFieldList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_metadata_model_fields_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetaDataModelField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MetaDataModelField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MetaDataModelField'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaDataModelField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/metadata-model-fields/{id}/':
    get:
      operationId: api_v1_organisations_metadata_model_fields_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata model field.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaDataModelField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_metadata_model_fields_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata model field.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetaDataModelField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MetaDataModelField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MetaDataModelField'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaDataModelField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_metadata_model_fields_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata model field.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMetaDataModelField'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMetaDataModelField'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMetaDataModelField'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaDataModelField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_metadata_model_fields_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata model field.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/metadata-model-fields/supported-content-types/':
    get:
      operationId: api_v1_organisations_metadata_model_fields_supported_content_types_list
      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/PaginatedContentTypeList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/metadata-model-fields/supported-required-for-models/':
    get:
      operationId: api_v1_organisations_metadata_model_fields_supported_required_for_models_list
      parameters:
        - name: model_name
          in: query
          required: true
          schema:
            type: string
            minLength: 1
        - 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/PaginatedContentTypeList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/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
    post:
      operationId: api_v1_organisations_roles_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Role'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Role'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{id}/':
    get:
      operationId: api_v1_organisations_roles_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_roles_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Role'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Role'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_roles_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_roles_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/':
    get:
      operationId: api_v1_organisations_roles_environments_permissions_list
      parameters:
        - name: environment
          in: query
          description: ID of the environment to filter by.
          required: true
          schema:
            type: integer
        - 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
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleEnvironmentPermissionList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_roles_environments_permissions_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RoleEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RoleEnvironmentPermission'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/environments-permissions/{id}/':
    get:
      operationId: api_v1_organisations_roles_environments_permissions_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_roles_environments_permissions_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RoleEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RoleEnvironmentPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_roles_environments_permissions_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRoleEnvironmentPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedRoleEnvironmentPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedRoleEnvironmentPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleEnvironmentPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_roles_environments_permissions_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/':
    get:
      operationId: api_v1_organisations_roles_groups_list
      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
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedGroupRoleList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_roles_groups_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupRole'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/groups/{id}/':
    get:
      operationId: api_v1_organisations_roles_groups_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_roles_groups_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_roles_groups_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGroupRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGroupRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGroupRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_roles_groups_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/':
    get:
      operationId: api_v1_organisations_roles_master_api_keys_list
      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
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMasterAPIKeyRoleList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_roles_master_api_keys_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MasterAPIKeyRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MasterAPIKeyRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MasterAPIKeyRole'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKeyRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/master-api-keys/{id}/':
    get:
      operationId: api_v1_organisations_roles_master_api_keys_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKeyRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_roles_master_api_keys_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MasterAPIKeyRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MasterAPIKeyRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MasterAPIKeyRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKeyRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_roles_master_api_keys_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMasterAPIKeyRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMasterAPIKeyRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMasterAPIKeyRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MasterAPIKeyRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_roles_master_api_keys_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/':
    get:
      operationId: api_v1_organisations_roles_organisation_permissions_list
      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
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleOrganisationPermisssionList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_roles_organisation_permissions_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleOrganisationPermisssion'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RoleOrganisationPermisssion'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RoleOrganisationPermisssion'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleOrganisationPermisssion'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/organisation-permissions/{id}/':
    get:
      operationId: api_v1_organisations_roles_organisation_permissions_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleOrganisationPermisssion'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_roles_organisation_permissions_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleOrganisationPermisssion'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RoleOrganisationPermisssion'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RoleOrganisationPermisssion'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleOrganisationPermisssion'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_roles_organisation_permissions_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRoleOrganisationPermisssion'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedRoleOrganisationPermisssion'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedRoleOrganisationPermisssion'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleOrganisationPermisssion'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_roles_organisation_permissions_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/':
    get:
      operationId: api_v1_organisations_roles_projects_permissions_list
      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
        - name: project
          in: query
          description: ID of the project to filter by.
          required: true
          schema:
            type: integer
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleProjectPermissionList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_roles_projects_permissions_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RoleProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RoleProjectPermission'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/projects-permissions/{id}/':
    get:
      operationId: api_v1_organisations_roles_projects_permissions_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_roles_projects_permissions_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoleProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RoleProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/RoleProjectPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_roles_projects_permissions_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedRoleProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedRoleProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedRoleProjectPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_roles_projects_permissions_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/users/':
    get:
      operationId: api_v1_organisations_roles_users_list
      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
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedUserRoleList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    post:
      operationId: api_v1_organisations_roles_users_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserRole'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/roles/{role_pk}/users/{id}/':
    get:
      operationId: api_v1_organisations_roles_users_retrieve
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    put:
      operationId: api_v1_organisations_roles_users_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    patch:
      operationId: api_v1_organisations_roles_users_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserRole'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserRole'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserRole'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRole'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
    delete:
      operationId: api_v1_organisations_roles_users_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: role_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/scim/':
    get:
      operationId: api_v1_organisations_scim_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_scim_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_scim_destroy
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/scim/regenerate-token/':
    post:
      operationId: api_v1_organisations_scim_regenerate_token_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/trust-relationships/':
    get:
      operationId: api_v1_organisations_trust_relationships_list
      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/PaginatedTrustRelationshipList'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    post:
      operationId: api_v1_organisations_trust_relationships_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrustRelationship'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TrustRelationship'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TrustRelationship'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrustRelationship'
      security:
        - tokenAuth: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/trust-relationships/{id}/':
    get:
      operationId: api_v1_organisations_trust_relationships_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this trust relationship.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrustRelationship'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    put:
      operationId: api_v1_organisations_trust_relationships_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this trust relationship.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrustRelationship'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TrustRelationship'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TrustRelationship'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrustRelationship'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_trust_relationships_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this trust relationship.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTrustRelationship'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedTrustRelationship'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedTrustRelationship'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrustRelationship'
      security:
        - tokenAuth: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_trust_relationships_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this trust relationship.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/usage-data/':
    get:
      operationId: api_v1_organisations_usage_data_retrieve
      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
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: period
          in: query
          description: |-
            * `current_billing_period` - current_billing_period
            * `previous_billing_period` - previous_billing_period
            * `90_day_period` - 90_day_period
          schema:
            type:
              - string
              - 'null'
            enum:
              - current_billing_period
              - previous_billing_period
              - 90_day_period
              - null
        - name: project_id
          in: query
          schema:
            type: integer
        - name: user_agent
          in: query
          schema:
            type:
              - string
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageData'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/usage-data/total-count/':
    get:
      operationId: api_v1_organisations_usage_data_total_count_retrieve
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageTotalCount'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{organisation_pk}/user-group-permissions/':
    get:
      operationId: api_v1_organisations_user_group_permissions_list
      parameters:
        - name: group
          in: query
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    post:
      operationId: api_v1_organisations_user_group_permissions_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/organisations/{organisation_pk}/user-group-permissions/{id}/':
    put:
      operationId: api_v1_organisations_user_group_permissions_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group organisation permission.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    patch:
      operationId: api_v1_organisations_user_group_permissions_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group organisation permission.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserPermissionGroupOrganisationPermissionUpdateCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserPermissionGroupOrganisationPermissionUpdateCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserPermissionGroupOrganisationPermissionUpdateCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPermissionGroupOrganisationPermissionUpdateCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    delete:
      operationId: api_v1_organisations_user_group_permissions_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user permission group organisation permission.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/organisations/{organisation_pk}/user-permissions/':
    get:
      operationId: api_v1_organisations_user_permissions_list
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
        - name: user
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserOrganisationPermissionList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    post:
      operationId: api_v1_organisations_user_permissions_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/organisations/{organisation_pk}/user-permissions/{id}/':
    put:
      operationId: api_v1_organisations_user_permissions_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user organisation permission.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    patch:
      operationId: api_v1_organisations_user_permissions_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user organisation permission.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedUserOrganisationPermissionUpdateCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUserOrganisationPermissionUpdateCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUserOrganisationPermissionUpdateCreate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOrganisationPermissionUpdateCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    delete:
      operationId: api_v1_organisations_user_permissions_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user organisation permission.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/organisations/{organisation_pk}/users/':
    get:
      operationId: api_v1_organisations_users_list
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/users/{id}/update-role/':
    post:
      operationId: api_v1_organisations_users_update_role_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this Feature flag admin user.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserOrganisation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserOrganisation'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserOrganisation'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserOrganisation'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/users/{user_pk}/roles/':
    get:
      operationId: api_v1_organisations_users_roles_list
      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
        - name: user_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRoleList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/users/{user_pk}/roles/{id}/':
    delete:
      operationId: api_v1_organisations_users_roles_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: string
        - name: user_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/organisations/{organisation_pk}/webhooks/':
    get:
      operationId: api_v1_organisations_webhooks_list
      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/PaginatedOrganisationWebhookList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    post:
      operationId: api_v1_organisations_webhooks_create
      parameters:
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganisationWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganisationWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganisationWebhook'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationWebhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
  '/api/v1/organisations/{organisation_pk}/webhooks/{id}/':
    get:
      operationId: api_v1_organisations_webhooks_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation webhook.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationWebhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    put:
      operationId: api_v1_organisations_webhooks_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation webhook.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganisationWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganisationWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganisationWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationWebhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    patch:
      operationId: api_v1_organisations_webhooks_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation webhook.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOrganisationWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedOrganisationWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedOrganisationWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationWebhook'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
    delete:
      operationId: api_v1_organisations_webhooks_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation webhook.
          required: true
          schema:
            type: integer
        - name: organisation_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
  '/api/v1/organisations/{id}/':
    get:
      operationId: api_v1_organisations_retrieve
      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:
        - Organisations
    put:
      operationId: api_v1_organisations_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganisationSerializerFull'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OrganisationSerializerFull'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OrganisationSerializerFull'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationSerializerFull'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    patch:
      operationId: api_v1_organisations_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedOrganisationSerializerFull'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedOrganisationSerializerFull'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedOrganisationSerializerFull'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationSerializerFull'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
    delete:
      operationId: api_v1_organisations_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/get-hosted-page-url-for-subscription-upgrade/':
    post:
      operationId: api_v1_organisations_get_hosted_page_url_for_subscription_upgrade_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetHostedPageForSubscriptionUpgrade'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetHostedPageForSubscriptionUpgrade'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GetHostedPageForSubscriptionUpgrade'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHostedPageForSubscriptionUpgrade'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/get-subscription-metadata/':
    get:
      operationId: api_v1_organisations_get_subscription_metadata_retrieve
      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/SubscriptionDetails'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/influx-data/':
    get:
      operationId: api_v1_organisations_influx_data_retrieve
      description: 'Please use /api/v1/organisations/{organisation_pk}/usage-data/'
      parameters:
        - name: environment_id
          in: query
          schema:
            type: integer
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
        - name: project_id
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InfluxData'
      deprecated: true
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/invite/':
    post:
      operationId: api_v1_organisations_invite_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultiInvites'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MultiInvites'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MultiInvites'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultiInvites'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/my-permissions/':
    get:
      operationId: api_v1_organisations_my_permissions_retrieve
      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/UserObjectPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/portal-url/':
    get:
      operationId: api_v1_organisations_portal_url_retrieve
      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/PortalUrl'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/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/organisations/{id}/remove-users/':
    post:
      operationId: api_v1_organisations_remove_users_create
      description: Takes a list of users and removes them from the organisation provided in the url
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserId'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserId'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserId'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserId'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/update-subscription/':
    post:
      operationId: api_v1_organisations_update_subscription_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubscription'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateSubscription'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UpdateSubscription'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationSerializerFull'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/usage/':
    get:
      operationId: api_v1_organisations_usage_retrieve
      description: 'Please use /api/v1/organisations/{organisation_pk}/usage-data/total-count/'
      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'
      deprecated: true
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/{id}/user-detailed-permissions/{user_id}/':
    get:
      operationId: api_v1_organisations_user_detailed_permissions_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this organisation.
          required: true
          schema:
            type: integer
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            pattern: ^\d+$
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailedPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  '/api/v1/organisations/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_organisations_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            pattern: '^[0-9a-f-]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationSerializerFull'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  /api/v1/organisations/permissions/:
    get:
      operationId: api_v1_organisations_permissions_retrieve
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionModel'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Organisations
  /api/v1/projects/:
    get:
      operationId: api_v1_projects_list
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    post:
      operationId: api_v1_projects_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectCreate'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCreate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/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
    patch:
      operationId: api_v1_projects_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this project.
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedProjectUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedProjectUpdate'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectUpdate'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    delete:
      operationId: api_v1_projects_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this project.
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/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/{id}/migrate-to-edge/':
    post:
      operationId: api_v1_projects_migrate_to_edge_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this project.
          required: true
          schema:
            type: integer
      responses:
        '202':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{id}/my-permissions/':
    get:
      operationId: api_v1_projects_my_permissions_retrieve
      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/UserObjectPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{id}/user-detailed-permissions/{user_id}/':
    get:
      operationId: api_v1_projects_user_detailed_permissions_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this project.
          required: true
          schema:
            type: integer
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            pattern: ^\d+$
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserDetailedPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/all-user-permissions/{user_pk}/':
    get:
      operationId: api_v1_projects_all_user_permissions_retrieve
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
        - name: user_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserObjectPermissions'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/audit/':
    get:
      operationId: api_v1_projects_audit_list
      parameters:
        - name: environments
          in: query
          schema:
            type: array
            items:
              type: integer
              minimum: 0
        - name: is_system_event
          in: query
          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
          in: query
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
        - name: search
          in: query
          schema:
            type: string
            maxLength: 256
            minLength: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAuditLogListList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Audit
  '/api/v1/projects/{project_pk}/audit/{id}/':
    get:
      operationId: api_v1_projects_audit_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this audit log.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLogRetrieve'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Audit
  '/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
    post:
      operationId: api_v1_projects_change_requests_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectChangeRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectChangeRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectChangeRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectChangeRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/change-requests/{id}/':
    get:
      operationId: api_v1_projects_change_requests_retrieve
      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/ProjectChangeRequestRetrieve'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    put:
      operationId: api_v1_projects_change_requests_update
      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/ProjectChangeRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ProjectChangeRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ProjectChangeRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectChangeRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    patch:
      operationId: api_v1_projects_change_requests_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedProjectChangeRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedProjectChangeRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedProjectChangeRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectChangeRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    delete:
      operationId: api_v1_projects_change_requests_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/change-requests/{id}/approve/':
    post:
      operationId: api_v1_projects_change_requests_approve_create
      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/ProjectChangeRequestRetrieve'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/change-requests/{id}/commit/':
    post:
      operationId: api_v1_projects_change_requests_commit_create
      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/ProjectChangeRequestRetrieve'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowsError'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/code-references/':
    post:
      operationId: api_v1_projects_code_references_create
      description: API view to create code references for a project
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureFlagCodeReferencesScan'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureFlagCodeReferencesScan'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureFlagCodeReferencesScan'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureFlagCodeReferencesScan'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/feature-exports/':
    get:
      operationId: api_v1_projects_feature_exports_list
      parameters:
        - 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: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFeatureExportList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/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}/feature-health/events/{id}/dismiss/':
    post:
      operationId: api_v1_projects_feature_health_events_dismiss_create
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this feature health event.
          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/FeatureHealthEvent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureHealthEvent'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureHealthEvent'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureHealthEvent'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/projects/{project_pk}/feature-health/providers/':
    get:
      operationId: api_v1_projects_feature_health_providers_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FeatureHealthProvider'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
    post:
      operationId: api_v1_projects_feature_health_providers_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeatureHealthProvider'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateFeatureHealthProvider'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateFeatureHealthProvider'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureHealthProvider'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/projects/{project_pk}/feature-health/providers/{name}/':
    delete:
      operationId: api_v1_projects_feature_health_providers_destroy
      parameters:
        - name: name
          in: path
          required: true
          schema:
            description: |-
              * `Webhook` - Webhook
              * `Grafana` - Grafana
            type: string
            enum:
              - Webhook
              - Grafana
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Feature states
  '/api/v1/projects/{project_pk}/feature-imports/':
    get:
      operationId: api_v1_projects_feature_imports_list
      parameters:
        - 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: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFeatureImportList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/features/':
    get:
      operationId: list_project_features
      description: 'Lists a project''s feature flags (paginated). Pass `environment=<id>` 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`.

            * `new` - new
            * `live` - live
            * `stale` - stale
            * `permanent` - permanent
            * `needs_monitoring` - needs_monitoring
            * `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
            * `DESC` - DESC
          schema:
            type: string
            default: ASC
            enum:
              - ASC
              - DESC
            minLength: 1
        - name: sort_field
          in: query
          description: |-
            * `created_date` - created_date
            * `name` - name
          schema:
            type: string
            default: created_date
            enum:
              - created_date
              - name
            minLength: 1
        - name: tag_strategy
          in: query
          description: |-
            * `UNION` - UNION
            * `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).

            * `STANDARD` - STANDARD
            * `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
    post:
      operationId: api_v1_projects_features_feature_external_resources_create
      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/FeatureExternalResource'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureExternalResource'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureExternalResource'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureExternalResource'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/projects/{project_pk}/features/{feature_pk}/feature-external-resources/{id}/':
    get:
      operationId: api_v1_projects_features_feature_external_resources_retrieve
      parameters:
        - name: feature_pk
          in: path
          required: true
          schema:
            type: integer
        - name: id
          in: path
          description: A unique integer value identifying this feature external resource.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureExternalResource'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    put:
      operationId: api_v1_projects_features_feature_external_resources_update
      parameters:
        - name: feature_pk
          in: path
          required: true
          schema:
            type: integer
        - name: id
          in: path
          description: A unique integer value identifying this feature external resource.
          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/FeatureExternalResource'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureExternalResource'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureExternalResource'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureExternalResource'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    patch:
      operationId: api_v1_projects_features_feature_external_resources_partial_update
      parameters:
        - name: feature_pk
          in: path
          required: true
          schema:
            type: integer
        - name: id
          in: path
          description: A unique integer value identifying this feature external resource.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedFeatureExternalResource'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedFeatureExternalResource'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedFeatureExternalResource'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureExternalResource'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    delete:
      operationId: api_v1_projects_features_feature_external_resources_destroy
      parameters:
        - name: feature_pk
          in: path
          required: true
          schema:
            type: integer
        - name: id
          in: path
          description: A unique integer value identifying this feature external resource.
          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:
        - Features
  '/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}/':
    get:
      operationId: api_v1_projects_features_mv_options_retrieve
      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:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultivariateFeatureOption'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    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
    patch:
      operationId: api_v1_projects_features_mv_options_partial_update
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedMultivariateFeatureOption'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedMultivariateFeatureOption'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedMultivariateFeatureOption'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultivariateFeatureOption'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    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
    patch:
      operationId: api_v1_projects_features_partial_update
      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/PatchedUpdateFeature'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedUpdateFeature'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedUpdateFeature'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFeature'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
    delete:
      operationId: api_v1_projects_features_destroy
      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:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/projects/{project_pk}/features/{id}/add-group-owners/':
    post:
      operationId: api_v1_projects_features_add_group_owners_create
      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:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureGroupOwnerInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureGroupOwnerInput'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureGroupOwnerInput'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFeature'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/projects/{project_pk}/features/{id}/add-owners/':
    post:
      operationId: api_v1_projects_features_add_owners_create
      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:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureOwnerInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureOwnerInput'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureOwnerInput'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFeature'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/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}/features/{id}/influx-data/':
    get:
      operationId: api_v1_projects_features_influx_data_retrieve
      description: 'Please use ​/api​/v1​/projects​/{project_pk}​/features​/{id}​/evaluation-data/'
      parameters:
        - name: aggregate_every
          in: query
          schema:
            type: string
            default: 24h
            minLength: 1
        - name: environment_id
          in: query
          required: true
          schema:
            type: string
            minLength: 1
        - name: id
          in: path
          description: A unique integer value identifying this feature.
          required: true
          schema:
            type: integer
        - name: period
          in: query
          schema:
            type: string
            default: 24h
            minLength: 1
        - 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/FeatureInfluxData'
      deprecated: true
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/projects/{project_pk}/features/{id}/remove-group-owners/':
    post:
      operationId: api_v1_projects_features_remove_group_owners_create
      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:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureGroupOwnerInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureGroupOwnerInput'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureGroupOwnerInput'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFeature'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/projects/{project_pk}/features/{id}/remove-owners/':
    post:
      operationId: api_v1_projects_features_remove_owners_create
      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:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeatureOwnerInput'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FeatureOwnerInput'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FeatureOwnerInput'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFeature'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Features
  '/api/v1/projects/{project_pk}/gitlab/issues/':
    get:
      operationId: api_v1_projects_gitlab_issues_list
      parameters:
        - 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: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSearchQueryParamsList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/gitlab/merge-requests/':
    get:
      operationId: api_v1_projects_gitlab_merge_requests_list
      parameters:
        - 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: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSearchQueryParamsList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/gitlab/projects/':
    get:
      operationId: api_v1_projects_gitlab_projects_list
      parameters:
        - 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: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPaginatedQueryParamsList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/imports/launch-darkly/':
    get:
      operationId: api_v1_projects_imports_launch_darkly_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LaunchDarklyImportRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    post:
      operationId: api_v1_projects_imports_launch_darkly_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLaunchDarklyImportRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateLaunchDarklyImportRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateLaunchDarklyImportRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LaunchDarklyImportRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/imports/launch-darkly/{id}/':
    get:
      operationId: api_v1_projects_imports_launch_darkly_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this launch darkly import request.
          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/LaunchDarklyImportRequest'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/integrations/datadog/':
    get:
      operationId: api_v1_projects_integrations_datadog_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DataDogConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_projects_integrations_datadog_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataDogConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataDogConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataDogConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataDogConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/datadog/{id}/':
    get:
      operationId: api_v1_projects_integrations_datadog_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this data dog configuration.
          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/DataDogConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_projects_integrations_datadog_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this data dog configuration.
          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/DataDogConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DataDogConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DataDogConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataDogConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_projects_integrations_datadog_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this data dog configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDataDogConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDataDogConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDataDogConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataDogConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_projects_integrations_datadog_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this data dog configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/gitlab/':
    get:
      operationId: api_v1_projects_integrations_gitlab_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GitLabConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_projects_integrations_gitlab_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitLabConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GitLabConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GitLabConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitLabConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/gitlab/{id}/':
    get:
      operationId: api_v1_projects_integrations_gitlab_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this git lab configuration.
          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/GitLabConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_projects_integrations_gitlab_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this git lab configuration.
          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/GitLabConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GitLabConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GitLabConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitLabConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_projects_integrations_gitlab_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this git lab configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGitLabConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGitLabConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGitLabConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GitLabConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_projects_integrations_gitlab_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this git lab configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/grafana/':
    get:
      operationId: api_v1_projects_integrations_grafana_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_projects_integrations_grafana_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/grafana/{id}/':
    get:
      operationId: api_v1_projects_integrations_grafana_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          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/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_projects_integrations_grafana_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          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/GrafanaProjectConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GrafanaProjectConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_projects_integrations_grafana_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaProjectConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaProjectConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedGrafanaProjectConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GrafanaProjectConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_projects_integrations_grafana_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this grafana project configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/new-relic/':
    get:
      operationId: api_v1_projects_integrations_new_relic_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NewRelicConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    post:
      operationId: api_v1_projects_integrations_new_relic_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewRelicConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NewRelicConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NewRelicConfiguration'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewRelicConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/integrations/new-relic/{id}/':
    get:
      operationId: api_v1_projects_integrations_new_relic_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this new relic configuration.
          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/NewRelicConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    put:
      operationId: api_v1_projects_integrations_new_relic_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this new relic configuration.
          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/NewRelicConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NewRelicConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/NewRelicConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewRelicConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    patch:
      operationId: api_v1_projects_integrations_new_relic_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this new relic configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedNewRelicConfiguration'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedNewRelicConfiguration'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedNewRelicConfiguration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewRelicConfiguration'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
    delete:
      operationId: api_v1_projects_integrations_new_relic_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this new relic configuration.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Integrations
  '/api/v1/projects/{project_pk}/metadata/fields/':
    get:
      operationId: api_v1_projects_metadata_fields_list
      parameters:
        - name: entity
          in: query
          description: |-
            Filter by entity type (feature, segment, or environment).

            * `feature` - feature
            * `segment` - segment
            * `environment` - environment
          schema:
            type: string
            enum:
              - feature
              - segment
              - environment
            minLength: 1
        - name: include_organisation
          in: query
          description: Include inherited organisation-level fields. Project-level fields override same-named org fields.
          schema:
            type: boolean
            default: false
        - 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
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMetadataFieldList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
  '/api/v1/projects/{project_pk}/metadata/fields/{id}/':
    get:
      operationId: api_v1_projects_metadata_fields_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this metadata field.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type:
              - integer
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataField'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Metadata
  '/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
    post:
      operationId: api_v1_projects_release_pipelines_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleasePipelineDetail'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/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
    put:
      operationId: api_v1_projects_release_pipelines_update
      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/ReleasePipelineDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleasePipelineDetail'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    patch:
      operationId: api_v1_projects_release_pipelines_partial_update
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedReleasePipeline'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedReleasePipeline'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedReleasePipeline'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleasePipeline'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    delete:
      operationId: api_v1_projects_release_pipelines_destroy
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: project_pk
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/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}/release-pipelines/{id}/clone/':
    post:
      operationId: api_v1_projects_release_pipelines_clone_create
      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/ReleasePipelineDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReleasePipelineDetail'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleasePipelineDetail'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/release-pipelines/{id}/publish-pipeline/':
    post:
      operationId: api_v1_projects_release_pipelines_publish_pipeline_create
      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:
        - Projects
  '/api/v1/projects/{project_pk}/release-pipelines/{id}/remove-feature/':
    post:
      operationId: api_v1_projects_release_pipelines_remove_feature_create
      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:
        - Projects
  '/api/v1/projects/{project_pk}/release-pipelines/{id}/unpublish-pipeline/':
    post:
      operationId: api_v1_projects_release_pipelines_unpublish_pipeline_create
      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:
        - Projects
  '/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
    patch:
      operationId: api_v1_projects_segments_partial_update
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSegment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSegment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSegment'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Segment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Segments
    delete:
      operationId: api_v1_projects_segments_destroy
      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:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Segments
  '/api/v1/projects/{project_pk}/segments/{id}/associated-features/':
    get:
      operationId: api_v1_projects_segments_associated_features_retrieve
      parameters:
        - name: environment
          in: query
          schema:
            type: integer
        - 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/SegmentAssociatedFeatureState'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Segments
  '/api/v1/projects/{project_pk}/segments/{id}/clone/':
    post:
      operationId: api_v1_projects_segments_clone_create
      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/CloneSegment'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CloneSegment'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CloneSegment'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Segment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Segments
  '/api/v1/projects/{project_pk}/segments/{id}/members/':
    get:
      operationId: api_v1_projects_segments_members_retrieve
      parameters:
        - name: cursor
          in: query
          description: The identifier of the previous page's last row; omit for the first page.
          schema:
            type: string
            minLength: 1
        - name: environment
          in: query
          description: The id of the environment to list segment members for.
          required: true
          schema:
            type: integer
        - name: id
          in: path
          description: A unique integer value identifying this segment.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: 'Page size, up to 200.'
          schema:
            type: integer
            default: 100
            maximum: 200
            minimum: 1
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
        - name: q
          in: query
          description: Case-insensitive substring to filter members by identifier.
          schema:
            type: string
            minLength: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentMembersResponse'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Segments
  '/api/v1/projects/{project_pk}/tags/':
    get:
      operationId: api_v1_projects_tags_list
      parameters:
        - 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: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTagList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    post:
      operationId: api_v1_projects_tags_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Tag'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Tag'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Tag'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/tags/{id}/':
    get:
      operationId: api_v1_projects_tags_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this tag.
          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/Tag'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    put:
      operationId: api_v1_projects_tags_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this tag.
          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/Tag'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Tag'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Tag'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    patch:
      operationId: api_v1_projects_tags_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this tag.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTag'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedTag'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedTag'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
    delete:
      operationId: api_v1_projects_tags_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this tag.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/tags/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_projects_tags_get_by_uuid_retrieve
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            pattern: '^[0-9a-f-]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/projects/{project_pk}/user-group-permissions/':
    get:
      operationId: api_v1_projects_user_group_permissions_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListUserPermissionGroupProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    post:
      operationId: api_v1_projects_user_group_permissions_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/projects/{project_pk}/user-group-permissions/{id}/':
    get:
      operationId: api_v1_projects_user_group_permissions_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          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/CreateUpdateUserPermissionGroupProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    put:
      operationId: api_v1_projects_user_group_permissions_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          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/CreateUpdateUserPermissionGroupProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    patch:
      operationId: api_v1_projects_user_group_permissions_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserPermissionGroupProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserPermissionGroupProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserPermissionGroupProjectPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserPermissionGroupProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    delete:
      operationId: api_v1_projects_user_group_permissions_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/projects/{project_pk}/user-permissions/':
    get:
      operationId: api_v1_projects_user_permissions_list
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListUserProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    post:
      operationId: api_v1_projects_user_permissions_create
      parameters:
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/projects/{project_pk}/user-permissions/{id}/':
    get:
      operationId: api_v1_projects_user_permissions_retrieve
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          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/CreateUpdateUserProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    put:
      operationId: api_v1_projects_user_permissions_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          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/CreateUpdateUserProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    patch:
      operationId: api_v1_projects_user_permissions_partial_update
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserProjectPermission'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserProjectPermission'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedCreateUpdateUserProjectPermission'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUpdateUserProjectPermission'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
    delete:
      operationId: api_v1_projects_user_permissions_destroy
      parameters:
        - name: id
          in: path
          description: A unique integer value identifying this user project permission.
          required: true
          schema:
            type: integer
        - name: project_pk
          in: path
          required: true
          schema:
            type: integer
      responses:
        '204':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Permissions
  '/api/v1/projects/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_projects_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            pattern: '^[0-9a-f-]+$'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  /api/v1/projects/permissions/:
    get:
      operationId: api_v1_projects_permissions_list
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PermissionModel'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Projects
  '/api/v1/segments/get-by-uuid/{uuid}/':
    get:
      operationId: api_v1_segments_get_by_uuid_retrieve
      parameters:
        - name: uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Segment'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Segments
  /api/v1/traits/:
    post:
      operationId: api_v1_traits_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SDKCreateUpdateTrait'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SDKCreateUpdateTrait'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SDKCreateUpdateTrait'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SDKCreateUpdateTrait'
      security:
        - Environment API Key: []
      tags:
        - Identities
  /api/v1/traits/bulk/:
    put:
      operationId: api_v1_traits_bulk_update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SDKCreateUpdateTrait'
          application/x-www-form-urlencoded:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SDKCreateUpdateTrait'
          multipart/form-data:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/SDKCreateUpdateTrait'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SDKBulkCreateUpdateTrait'
      security:
        - Environment API Key: []
      tags:
        - Identities
  /api/v1/traits/increment-value/:
    post:
      operationId: api_v1_traits_increment_value_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncrementTraitValue'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/IncrementTraitValue'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/IncrementTraitValue'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncrementTraitValue'
      security:
        - Environment API Key: []
      tags:
        - Identities
  '/api/v1/users/join/{hash}/':
    post:
      operationId: api_v1_users_join_create
      parameters:
        - name: hash
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  '/api/v1/users/join/link/{hash}/':
    post:
      operationId: api_v1_users_join_link_create
      parameters:
        - name: hash
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: No response body
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Authentication
  /api/v1/webhooks/test/:
    post:
      operationId: api_v1_webhooks_test_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TestWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TestWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWebhookSuccessResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWebhookErrorResponse'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - Webhooks
  /api/v2/analytics/flags/:
    post:
      operationId: api_v2_analytics_flags_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SDKAnalyticsFlags'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SDKAnalyticsFlags'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SDKAnalyticsFlags'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SDKAnalyticsFlags'
      security:
        - Environment API Key: []
      tags:
        - Analytics
  /o/register/:
    post:
      operationId: o_register_create
      description: RFC 7591 Dynamic Client Registration endpoint.
      responses:
        '200':
          description: No response body
      security:
        - {}
      tags:
        - o
  /processor/monitoring/:
    get:
      operationId: processor_monitoring_retrieve
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Monitoring'
      security:
        - tokenAuth: []
        - Master API Key: []
      tags:
        - processor
components:
  schemas:
    ActionTypeEnum:
      description: |-
        * `TOGGLE_FEATURE` - Enable/Disable Feature for the environment
        * `UPDATE_FEATURE_VALUE` - Update Feature Value for the environment
        * `TOGGLE_FEATURE_FOR_SEGMENT` - Enable/Disable Feature for a specific segment
        * `UPDATE_FEATURE_VALUE_FOR_SEGMENT` - Update Feature Value for a specific segment
        * `PHASED_ROLLOUT` - Create Phased Rollout
      type: string
      enum:
        - TOGGLE_FEATURE
        - UPDATE_FEATURE_VALUE
        - TOGGLE_FEATURE_FOR_SEGMENT
        - UPDATE_FEATURE_VALUE_FOR_SEGMENT
        - PHASED_ROLLOUT
    Activation:
      type: object
      properties:
        uid:
          type: string
        token:
          type: string
      required:
        - token
        - uid
    AggregationEnum:
      description: |-
        * `count` - Count
        * `sum` - Sum
        * `mean` - Mean
        * `occurrence` - Occurrence (event happened at least once)
      type: string
      enum:
        - count
        - sum
        - mean
        - occurrence
    AmplitudeConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          type: string
          format: uri
          maxLength: 200
      required:
        - api_key
    AuditLogList:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        created_date:
          type: string
          format: date-time
          title: DateCreated
        log:
          type: string
        author:
          $ref: '#/components/schemas/UserList'
        environment:
          $ref: '#/components/schemas/EnvironmentSerializerLight'
        project:
          $ref: '#/components/schemas/ProjectList'
        related_object_id:
          type:
            - integer
            - 'null'
          maximum: 2147483647
          minimum: -2147483648
        related_object_uuid:
          type:
            - string
            - 'null'
          maxLength: 36
        related_object_type:
          type:
            - string
            - 'null'
          maxLength: 20
        is_system_event:
          type: boolean
      required:
        - author
        - created_date
        - environment
        - log
        - project
    AuditLogRetrieve:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        created_date:
          type: string
          format: date-time
          title: DateCreated
        log:
          type: string
        author:
          $ref: '#/components/schemas/UserList'
        environment:
          $ref: '#/components/schemas/EnvironmentSerializerLight'
        project:
          $ref: '#/components/schemas/ProjectList'
        related_object_id:
          type:
            - integer
            - 'null'
          maximum: 2147483647
          minimum: -2147483648
        related_object_uuid:
          type:
            - string
            - 'null'
          maxLength: 36
        related_object_type:
          type:
            - string
            - 'null'
          maxLength: 20
        is_system_event:
          type: boolean
        change_details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              old:
                type:
                  - string
                  - number
                  - boolean
                  - 'null'
              new:
                type:
                  - string
                  - number
                  - boolean
                  - 'null'
          readOnly: true
        change_type:
          allOf:
            - $ref: '#/components/schemas/ChangeTypeEnum'
          readOnly: true
      required:
        - author
        - created_date
        - environment
        - log
        - project
    BaseEdgeIdentityFeatureState:
      type: object
      properties:
        feature_state_value:
          description: 'Feature state value (string, integer, or boolean)'
          type:
            - string
            - integer
            - boolean
            - 'null'
        feature:
          description: Feature ID
          type: integer
        multivariate_feature_state_values:
          type: array
          items:
            $ref: '#/components/schemas/EdgeMultivariateFeatureStateValue'
        enabled:
          type: boolean
          default: false
        featurestate_uuid:
          type: string
          readOnly: true
      required:
        - feature
    BaseUrlEnum:
      description: |-
        * `https://api.segment.io/` - https://api.segment.io/
        * `https://events.eu1.segmentapis.com/` - https://events.eu1.segmentapis.com/
      type: string
      enum:
        - 'https://api.segment.io/'
        - 'https://events.eu1.segmentapis.com/'
    BillingStatusEnum:
      description: |-
        * `ACTIVE` - Active
        * `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
    ChangeRequestRetrieve:
      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
        environment:
          type:
            - integer
            - 'null'
          readOnly: true
        title:
          type: string
          readOnly: true
        description:
          type:
            - string
            - 'null'
          readOnly: true
        feature_states:
          type: array
          items:
            $ref: '#/components/schemas/CreateChangeRequestFeatureState'
        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
        approvals:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestApproval'
        is_approved:
          type: string
          readOnly: true
        is_committed:
          type: string
          readOnly: true
        group_assignments:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestGroupAssignment'
        environment_feature_versions:
          type: array
          items:
            $ref: '#/components/schemas/EnvironmentFeatureVersionChangeRequest'
        segments:
          type: array
          items:
            $ref: '#/components/schemas/Segment'
        change_sets:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/VersionChangeSet'
        conflicts:
          type: array
          items:
            $ref: '#/components/schemas/Conflict'
          readOnly: true
        ignore_conflicts:
          type: boolean
          readOnly: true
      required:
        - approvals
        - environment_feature_versions
        - feature_states
        - group_assignments
        - segments
    ChangeRequestSegment:
      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
          readOnly: true
        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
        managed_by:
          oneOf:
            - $ref: '#/components/schemas/ManagedByEnum'
            - $ref: '#/components/schemas/BlankEnum'
          readOnly: true
        change_request:
          type:
            - integer
            - 'null'
      required:
        - name
        - rules
    ChangeRequestUpdate:
      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/UpdateChangeRequestFeatureState'
        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
    ChangeTypeEnum:
      type: string
      enum:
        - CREATE
        - UPDATE
        - DELETE
        - UNKNOWN
    ClaimRule:
      type: object
      properties:
        claim:
          type: string
          maxLength: 255
        values:
          type: array
          items:
            type: string
            maxLength: 500
          minItems: 1
      required:
        - claim
        - values
    CloneEnvironment:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 2000
        api_key:
          type: string
          readOnly: true
        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
          readOnly: true
        clone_feature_states_async:
          description: 'If True, the environment will be created immediately, but the feature states will be created asynchronously. Environment will have `is_creating: true` until this process is completed.'
          type: boolean
          default: false
          writeOnly: true
      required:
        - name
    CloneSegment:
      type: object
      properties:
        name:
          type: string
          maxLength: 2000
      required:
        - name
    Cohort:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          maxLength: 2000
        description:
          type:
            - string
            - 'null'
        segment:
          type: integer
          readOnly: true
        source_type:
          allOf:
            - $ref: '#/components/schemas/SourceTypeEnum'
          readOnly: true
        version:
          type: integer
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
      required:
        - name
    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
        * `GREATER_THAN` - Greater than
        * `LESS_THAN` - Less than
        * `CONTAINS` - Contains
        * `GREATER_THAN_INCLUSIVE` - Greater than or equal to
        * `LESS_THAN_INCLUSIVE` - Less than or equal to
        * `NOT_CONTAINS` - Does not contain
        * `NOT_EQUAL` - Does not match
        * `REGEX` - Matches regex
        * `PERCENTAGE_SPLIT` - Percentage split
        * `MODULO` - Modulo Operation
        * `IS_SET` - Is set
        * `IS_NOT_SET` - Is not set
        * `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
    Conflict:
      type: object
      properties:
        original_cr_id:
          type: integer
        segment_id:
          type: integer
        is_environment_default:
          type: boolean
        published_at:
          type: string
          format: date-time
      required:
        - is_environment_default
        - original_cr_id
        - published_at
        - segment_id
    ContentType:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        app_label:
          type: string
          maxLength: 100
        model:
          type: string
          maxLength: 100
          title: Python model class name
      required:
        - app_label
        - model
    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
    CreateEnvironment:
      description: |-
        Mixin to add read only status to fields in a given serializer based on the existence
        of a subscription and a black list of plan ids

        Example usage:

            class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):
                class Meta:
                    model = MyModel
                    fields = ("my_field",)

                invalid_plans = ("free",)
                field_names = ("my_field",)

                def get_subscription(self):
                    return subscription
      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
          readOnly: true
        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.

            Warning: this will still mean that sending the `use_mv_v2_evaluation` field
            (e.g. in a PUT request) will not behave as expected but, since this is a minor
            issue, 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
    CreateFeature:
      description: Adds nested create feature
      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
      required:
        - name
    CreateFeatureExport:
      type: object
      properties:
        environment_id:
          type: integer
        tag_ids:
          type: array
          items:
            type: integer
      required:
        - environment_id
        - tag_ids
    CreateFeatureHealthProvider:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/NameEnum'
      required:
        - name
    CreateLaunchDarklyImportRequest:
      type: object
      properties:
        token:
          type: string
        project_key:
          type: string
      required:
        - project_key
        - token
    CreateUpdateUserEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        user:
          type: integer
      required:
        - user
    CreateUpdateUserPermissionGroupEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        group:
          type: integer
      required:
        - group
    CreateUpdateUserPermissionGroupProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        group:
          type: integer
      required:
        - group
    CreateUpdateUserProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        user:
          type: integer
      required:
        - user
    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
    CustomUserCreate:
      type: object
      properties:
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        sign_up_type:
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        email:
          type: string
          format: email
          maxLength: 254
        id:
          type: integer
          readOnly: true
        password:
          type: string
          writeOnly: true
        is_active:
          description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
          type: boolean
          readOnly: true
          title: Active
        marketing_consent_given:
          description: Determines whether the user has agreed to receive marketing mails
          type: boolean
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        key:
          type: string
          readOnly: true
        superuser:
          type: boolean
          writeOnly: true
      required:
        - email
        - first_name
        - last_name
        - password
    DataDogConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type: string
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
        use_custom_source:
          type: boolean
      required:
        - api_key
        - base_url
    DeleteAllTraitKeys:
      type: object
      properties:
        key:
          type: string
      required:
        - key
    DeleteSegmentOverride:
      type: object
      properties:
        feature:
          $ref: '#/components/schemas/FeatureIdentifier'
        segment:
          $ref: '#/components/schemas/SegmentIdentifier'
      required:
        - feature
        - segment
    DerivedFrom:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: '#/components/schemas/Group'
        roles:
          type: array
          items:
            $ref: '#/components/schemas/PermissionRole'
      required:
        - groups
        - roles
    DetailedPermissions:
      type: object
      properties:
        permission_key:
          type: string
        is_directly_granted:
          type: boolean
        derived_from:
          $ref: '#/components/schemas/DerivedFrom'
      required:
        - derived_from
        - is_directly_granted
        - permission_key
    DirectionEnum:
      description: |-
        * `up` - Higher is better
        * `down` - Lower is better
        * `informational` - Informational only
      type: string
      enum:
        - up
        - down
        - informational
    DjangoAttributeNameEnum:
      description: |-
        * `email` - Email
        * `first_name` - First / Given name
        * `last_name` - Last name / Surname
        * `groups` - Groups
      type: string
      enum:
        - email
        - first_name
        - last_name
        - groups
    DynatraceConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
        entity_selector:
          type: string
          maxLength: 1000
      required:
        - api_key
        - entity_selector
    EdgeIdentity:
      type: object
      properties:
        identity_uuid:
          type: string
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
        dashboard_alias:
          type: string
          maxLength: 100
      required:
        - identifier
    EdgeIdentityFeatureState:
      type: object
      properties:
        feature_state_value:
          description: 'Feature state value (string, integer, or boolean)'
          type:
            - string
            - integer
            - boolean
            - 'null'
        feature:
          description: Feature ID
          type: integer
        multivariate_feature_state_values:
          type: array
          items:
            $ref: '#/components/schemas/EdgeMultivariateFeatureStateValue'
        enabled:
          type: boolean
          default: false
        featurestate_uuid:
          type: string
          readOnly: true
        identity_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
        - feature
    EdgeIdentitySourceIdentityRequest:
      type: object
      properties:
        source_identity_uuid:
          description: UUID of the source identity to clone feature states from.
          type: string
      required:
        - source_identity_uuid
    EdgeIdentityTraits:
      type: object
      properties:
        trait_key:
          type: string
        trait_value:
          type:
            - string
            - 'null'
      required:
        - trait_key
        - trait_value
    EdgeIdentityUpdate:
      type: object
      properties:
        identity_uuid:
          type: string
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
          readOnly: true
        dashboard_alias:
          type: string
          maxLength: 100
      required:
        - identifier
    EdgeIdentityWithIdentifierFeatureStateRequestBody:
      type: object
      properties:
        feature_state_value:
          description: 'Feature state value (string, integer, or boolean)'
          type:
            - string
            - integer
            - boolean
            - 'null'
        feature:
          description: Feature identifier (ID or name)
          oneOf:
            - type: integer
              description: Feature ID
            - type: string
              description: Feature name
        multivariate_feature_state_values:
          type: array
          items:
            $ref: '#/components/schemas/EdgeMultivariateFeatureStateValue'
        enabled:
          type: boolean
          default: false
        featurestate_uuid:
          type: string
          readOnly: true
        identity_uuid:
          type: string
          format: uuid
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
      required:
        - feature
        - identifier
    EdgeMultivariateFeatureStateValue:
      type: object
      properties:
        multivariate_feature_option:
          type: integer
        percentage_allocation:
          type: number
          format: double
          maximum: 100
          minimum: 0
      required:
        - multivariate_feature_option
        - percentage_allocation
    EdgeV2MigrationStatusEnum:
      description: |-
        * `NOT_STARTED` - Not Started
        * `IN_PROGRESS` - In Progress
        * `COMPLETE` - Complete
        * `INCOMPLETE` - Incomplete (identity overrides skipped)
      type: string
      enum:
        - NOT_STARTED
        - IN_PROGRESS
        - COMPLETE
        - INCOMPLETE
    EnvironmentAPIKey:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        key:
          type: string
          readOnly: true
        active:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 100
        expires_at:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - name
    EnvironmentDefault:
      type: object
      properties:
        enabled:
          type: boolean
        value:
          $ref: '#/components/schemas/FeatureValue'
      required:
        - enabled
        - value
    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'
    EnvironmentFeatureVersionChangeRequest:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        feature_states:
          type: array
          items:
            $ref: '#/components/schemas/CreateChangeRequestFeatureState'
        live_from:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - feature_states
    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
    EnvironmentFeatureVersionRetrieve:
      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'
        previous_version_uuid:
          type:
            - string
            - 'null'
          readOnly: true
        feature:
          type: integer
          readOnly: true
        environment:
          type: integer
          readOnly: true
    EnvironmentMetrics:
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/MetricItem'
          readOnly: true
    EnvironmentOnboardingStatus:
      type: object
      properties:
        first_evaluated_at:
          description: When the environment's flags were first evaluated by an SDK.
          type:
            - string
            - 'null'
          format: date-time
        first_evaluated_sdk_label:
          description: SDK that first evaluated the environment's flags.
          type:
            - string
            - 'null'
          maxLength: 100
    EnvironmentRetrieveSerializerWithMetadata:
      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.

            Warning: this will still mean that sending the `use_mv_v2_evaluation` field
            (e.g. in a PUT request) will not behave as expected but, since this is a minor
            issue, 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'
        total_segment_overrides:
          type: integer
      required:
        - name
        - project
        - total_segment_overrides
    EnvironmentSerializerLight:
      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.

            Warning: this will still mean that sending the `use_mv_v2_evaluation` field
            (e.g. in a PUT request) will not behave as expected but, since this is a minor
            issue, 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
      required:
        - name
        - project
    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.

            Warning: this will still mean that sending the `use_mv_v2_evaluation` field
            (e.g. in a PUT request) will not behave as expected but, since this is a minor
            issue, 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
    Error:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    ExpectedDirectionEnum:
      description: |-
        * `increase` - Increase
        * `decrease` - Decrease
        * `not_increase` - Should not increase
        * `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'
          additionalProperties: {}
          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
            additionalProperties: {}
          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
    ExperimentResults:
      description: Serializer for the full experiment results response.
      type: object
      properties:
        feature:
          type: string
        variants:
          type: array
          items:
            $ref: '#/components/schemas/ExperimentVariantResult'
        statistics:
          $ref: '#/components/schemas/ExperimentStatistics'
      required:
        - feature
        - statistics
        - variants
    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
    ExperimentStatistics:
      description: Serializer for statistical analysis results.
      type: object
      properties:
        p_value:
          type: number
          format: double
        significant:
          type: boolean
        chance_to_win:
          type: object
          additionalProperties:
            type: number
            format: double
        lift:
          type: string
        winner:
          type:
            - string
            - 'null'
        recommendation:
          type: string
        sample_size_warning:
          type:
            - string
            - 'null'
      required:
        - chance_to_win
        - lift
        - p_value
        - recommendation
        - significant
        - winner
    ExperimentVariantResult:
      description: Serializer for individual variant results.
      type: object
      properties:
        variant:
          type: string
        evaluations:
          type: integer
        conversions:
          type: integer
        conversion_rate:
          type: number
          format: double
      required:
        - conversion_rate
        - conversions
        - evaluations
        - variant
    FeatureEvaluationData:
      type: object
      properties:
        day:
          type: string
        count:
          type: integer
        labels:
          oneOf:
            - $ref: '#/components/schemas/Labels'
            - type: 'null'
      required:
        - count
        - day
        - labels
    FeatureExport:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
        environment_id:
          type: integer
          readOnly: true
        status:
          $ref: '#/components/schemas/Status6d4Enum'
        created_at:
          type: string
          format: date-time
          readOnly: true
    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
        * `GITHUB_PR` - GitHub PR
        * `GITLAB_ISSUE` - GitLab Issue
        * `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
    FeatureFlagCodeReferencesScan:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
          readOnly: true
        project:
          type: integer
          readOnly: true
        repository_url:
          type: string
          format: uri
        vcs_provider:
          default: github
          allOf:
            - $ref: '#/components/schemas/VcsProviderEnum'
        revision:
          type: string
          maxLength: 100
        code_references:
          type: array
          items:
            $ref: '#/components/schemas/_CodeReferenceSubmit'
      required:
        - code_references
        - repository_url
        - revision
    FeatureGroupOwnerInput:
      type: object
      properties:
        group_ids:
          type: array
          items:
            type: integer
      required:
        - group_ids
    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
        * `HEALTHY` - Healthy
      type: string
      enum:
        - UNHEALTHY
        - HEALTHY
    FeatureHealthProvider:
      type: object
      properties:
        created_by:
          type: string
          format: email
          readOnly: true
        name:
          $ref: '#/components/schemas/NameEnum'
        project:
          type: integer
        webhook_url:
          type: string
          readOnly: true
      required:
        - name
        - project
    FeatureIdentifier:
      type: object
      properties:
        name:
          type: string
        id:
          type: integer
    FeatureImport:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        environment_id:
          type: integer
          readOnly: true
        strategy:
          $ref: '#/components/schemas/FeatureImportStrategyEnum'
        status:
          $ref: '#/components/schemas/Status6d4Enum'
        created_at:
          type: string
          format: date-time
          readOnly: true
      required:
        - strategy
    FeatureImportStrategyEnum:
      description: |-
        * `SKIP` - Skip
        * `OVERWRITE_DESTRUCTIVE` - Overwrite Destructive
      type: string
      enum:
        - SKIP
        - OVERWRITE_DESTRUCTIVE
    FeatureImportUpload:
      type: object
      properties:
        file:
          type: string
          format: uri
        strategy:
          $ref: '#/components/schemas/FeatureImportUploadStrategyEnum'
      required:
        - file
        - strategy
    FeatureImportUploadStrategyEnum:
      description: |-
        * `SKIP` - SKIP
        * `OVERWRITE_DESTRUCTIVE` - OVERWRITE_DESTRUCTIVE
      type: string
      enum:
        - SKIP
        - OVERWRITE_DESTRUCTIVE
    FeatureInfluxData:
      type: object
      properties:
        events_list:
          type: array
          items:
            type: object
            additionalProperties: {}
      required:
        - events_list
    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
    FeatureMVOptionsValuesResponse:
      type: object
      properties:
        control_value:
          oneOf:
            - type: string
            - type: integer
            - type: boolean
            - type: 'null'
          readOnly: true
        options:
          type: array
          items:
            $ref: '#/components/schemas/MultivariateOptionValues'
      required:
        - options
    FeatureOwnerInput:
      type: object
      properties:
        user_ids:
          type: array
          items:
            type: integer
      required:
        - user_ids
    FeatureSegmentChangePriorities:
      type: object
      properties:
        id:
          type: integer
        priority:
          description: Value to change the feature segment's priority to.
          type: integer
          minimum: 0
      required:
        - id
        - priority
    FeatureSegmentCreate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        feature:
          type: integer
        segment:
          type: integer
        environment:
          type: integer
        priority:
          type: integer
          readOnly: true
      required:
        - environment
        - feature
        - segment
    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
    FeatureStateSerializerCreate:
      type: object
      properties:
        feature:
          type: integer
        enabled:
          type: boolean
      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
    FeatureStateSerializerWithIdentity:
      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
        identity:
          $ref: '#/components/schemas/_Identity'
        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'
        feature_segment:
          type:
            - integer
            - 'null'
        change_request:
          type:
            - integer
            - 'null'
        environment_feature_version:
          type:
            - string
            - 'null'
          format: uuid
      required:
        - feature
        - identity
    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'
    FeatureUpdateSegmentData:
      type: object
      properties:
        id:
          type: integer
        priority:
          type:
            - integer
            - 'null'
      required:
        - id
    FeatureValue:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FeatureValueTypeEnum'
        value:
          type: string
      required:
        - type
        - value
    FeatureValueTypeEnum:
      description: |-
        * `integer` - integer
        * `string` - string
        * `boolean` - boolean
      type: string
      enum:
        - integer
        - string
        - boolean
    GetEdgeIdentityOverrides:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/GetEdgeIdentityOverridesResult'
      required:
        - results
    GetEdgeIdentityOverridesResult:
      type: object
      properties:
        identifier:
          type: string
        identity_uuid:
          type: string
        feature_state:
          $ref: '#/components/schemas/BaseEdgeIdentityFeatureState'
      required:
        - feature_state
        - identifier
        - identity_uuid
    GetHostedPageForSubscriptionUpgrade:
      type: object
      properties:
        plan_id:
          type: string
          writeOnly: true
        subscription_id:
          type: string
          writeOnly: true
        url:
          type: string
          format: uri
          readOnly: true
      required:
        - plan_id
        - subscription_id
    GitLabConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        gitlab_instance_url:
          type: string
          format: uri
          maxLength: 200
        access_token:
          type: string
          maxLength: 300
        labeling_enabled:
          type: boolean
      required:
        - access_token
        - gitlab_instance_url
    GithubConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        installation_id:
          type: string
          maxLength: 100
        organisation:
          type: integer
          readOnly: true
      required:
        - installation_id
    GithubLogin:
      type: object
      properties:
        access_token:
          description: Code or access token returned from the FE interaction with the third party login provider.
          type: string
        sign_up_type:
          description: |-
            Provide information about how the user signed up (i.e. via invite or not)

            * `NO_INVITE` - No Invite
            * `INVITE_EMAIL` - Invite Email
            * `INVITE_LINK` - Invite Link
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
          writeOnly: true
        hubspot_cookie:
          type:
            - string
            - 'null'
        marketing_consent_given:
          type:
            - boolean
            - 'null'
        utm_data:
          oneOf:
            - $ref: '#/components/schemas/UTMData'
            - type: 'null'
      required:
        - access_token
    GithubRepository:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        github_configuration:
          type: integer
          readOnly: true
        project:
          type: integer
        repository_owner:
          type: string
          maxLength: 100
        repository_name:
          type: string
          maxLength: 100
        tagging_enabled:
          type: boolean
      required:
        - project
        - repository_name
        - repository_owner
    GoogleLogin:
      type: object
      properties:
        access_token:
          description: Code or access token returned from the FE interaction with the third party login provider.
          type: string
        sign_up_type:
          description: |-
            Provide information about how the user signed up (i.e. via invite or not)

            * `NO_INVITE` - No Invite
            * `INVITE_EMAIL` - Invite Email
            * `INVITE_LINK` - Invite Link
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
          writeOnly: true
        hubspot_cookie:
          type:
            - string
            - 'null'
        marketing_consent_given:
          type:
            - boolean
            - 'null'
        utm_data:
          oneOf:
            - $ref: '#/components/schemas/UTMData'
            - type: 'null'
      required:
        - access_token
    GrafanaOrganisationConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
      required:
        - api_key
    GrafanaProjectConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
      required:
        - api_key
    Group:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
      required:
        - id
        - name
    GroupRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        group:
          type: integer
        role:
          type: integer
          readOnly: true
      required:
        - group
    HeapConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
      required:
        - api_key
    IdentifierOnlyIdentity:
      type: object
      properties:
        identifier:
          type: string
          maxLength: 2000
      required:
        - identifier
    Identity:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
        environment:
          type: integer
          readOnly: true
      required:
        - identifier
    IdentityAllFeatureStates:
      type: object
      properties:
        feature:
          $ref: '#/components/schemas/IdentityAllFeatureStatesFeature'
        enabled:
          type: boolean
        feature_state_value:
          description: 'Can be any of the following types: integer, boolean, string.'
          oneOf:
            - type: string
            - type: integer
            - type: boolean
          readOnly: true
        overridden_by:
          description: 'One of: null, ''SEGMENT'', ''IDENTITY''.'
          type:
            - string
            - 'null'
          readOnly: true
        segment:
          allOf:
            - $ref: '#/components/schemas/IdentityAllFeatureStatesSegment'
          readOnly: true
        multivariate_feature_state_values:
          type: array
          items:
            $ref: '#/components/schemas/IdentityAllFeatureStatesMVFeatureStateValue'
      required:
        - enabled
        - feature
        - multivariate_feature_state_values
    IdentityAllFeatureStatesFeature:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        type:
          type: string
      required:
        - id
        - name
        - type
    IdentityAllFeatureStatesMVFeatureOption:
      type: object
      properties:
        value:
          description: 'Can be any of the following types: integer, boolean, string.'
          oneOf:
            - type: string
            - type: integer
            - type: boolean
          readOnly: true
    IdentityAllFeatureStatesMVFeatureStateValue:
      type: object
      properties:
        multivariate_feature_option:
          $ref: '#/components/schemas/IdentityAllFeatureStatesMVFeatureOption'
        percentage_allocation:
          type: number
          format: double
      required:
        - multivariate_feature_option
        - percentage_allocation
    IdentityAllFeatureStatesSegment:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
      required:
        - id
        - name
    IdentitySourceIdentityRequest:
      type: object
      properties:
        source_identity_id:
          description: ID of the source identity to clone feature states from.
          type: integer
      required:
        - source_identity_id
    IncrementTraitValue:
      type: object
      properties:
        trait_key:
          type: string
        increment_by:
          type: integer
          writeOnly: true
        identifier:
          type: string
        trait_value:
          type: integer
          readOnly: true
      required:
        - identifier
        - increment_by
        - trait_key
    InfluxData:
      type: object
      properties:
        events_list:
          type: array
          items:
            type: object
            additionalProperties: {}
      required:
        - events_list
    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
    InviteLink:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        hash:
          type: string
          readOnly: true
        date_created:
          type: string
          format: date-time
          readOnly: true
          title: DateCreated
        role:
          $ref: '#/components/schemas/RoleEnum'
        expires_at:
          description: Datetime that the invite link will cease to be active. Leave blank to enable indefinitely.
          type:
            - string
            - 'null'
          format: date-time
    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'
    LaunchDarklyImportRequest:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        created_by:
          type: string
          format: email
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        completed_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        status:
          $ref: '#/components/schemas/LaunchDarklyImportRequestStatus'
        project:
          type: integer
          readOnly: true
      required:
        - status
    LaunchDarklyImportRequestStatus:
      type: object
      properties:
        requested_environment_count:
          type: integer
          readOnly: true
        requested_flag_count:
          type: integer
          readOnly: true
        deprecated_flag_count:
          type: integer
          default: 0
          readOnly: true
        result:
          oneOf:
            - $ref: '#/components/schemas/ResultEnum'
            - $ref: '#/components/schemas/NullEnum'
          readOnly: true
        error_messages:
          type: array
          items:
            type: string
            readOnly: true
      required:
        - error_messages
    LifecycleStageEnum:
      description: |-
        * `new` - new
        * `live` - live
        * `stale` - stale
        * `permanent` - permanent
        * `needs_monitoring` - needs_monitoring
        * `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
    ListUserEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        user:
          $ref: '#/components/schemas/UserList'
      required:
        - user
    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
    ListUserPermissionGroupEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        group:
          $ref: '#/components/schemas/UserPermissionGroupSerializerDetail'
      required:
        - group
    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
    ListUserPermissionGroupProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        group:
          $ref: '#/components/schemas/UserPermissionGroup'
      required:
        - group
    ListUserProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        user:
          $ref: '#/components/schemas/UserList'
      required:
        - user
    ManagedByEnum:
      description: |-
        * `` - Unmanaged
        * `cohort` - Cohort
      type: string
      enum:
        - cohort
    MasterAPIKey:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        prefix:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        name:
          description: A free-form name for the API key. Need not be unique. 50 characters max.
          type: string
          maxLength: 50
        revoked:
          description: 'If the API key is revoked, clients cannot use it anymore. (This cannot be undone.)'
          type: boolean
        expiry_date:
          description: 'Once API key expires, clients cannot use it anymore.'
          type:
            - string
            - 'null'
          format: date-time
          title: Expires
        key:
          description: 'Since we don''t store the api key itself(i.e: we only store the hash) this key will be none for every endpoint apart from create'
          type: string
          readOnly: true
        is_admin:
          type: boolean
          default: true
        has_expired:
          type: boolean
          readOnly: true
        created_by:
          type:
            - integer
            - 'null'
          readOnly: true
    MasterAPIKeyRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        master_api_key:
          type: string
        role:
          type: integer
          readOnly: true
        role_name:
          type: string
          readOnly: true
      required:
        - master_api_key
    MetaDataModelField:
      description: Adds nested create feature
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        field:
          type: integer
        content_type:
          type: integer
        is_required_for:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldRequirement'
      required:
        - content_type
        - field
    Metadata:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        model_field:
          type: integer
        field_value:
          type: string
          maxLength: 2000
      required:
        - field_value
        - model_field
    MetadataField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        type:
          $ref: '#/components/schemas/MetadataFieldTypeEnum'
        description:
          type:
            - string
            - 'null'
        organisation:
          type: integer
        project:
          type:
            - integer
            - 'null'
        model_fields:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldNested'
          readOnly: true
      required:
        - name
        - organisation
    MetadataFieldTypeEnum:
      description: |-
        * `int` - Integer
        * `str` - String
        * `bool` - Boolean
        * `url` - Url
        * `multiline_str` - Multiline String
      type: string
      enum:
        - int
        - str
        - bool
        - url
        - multiline_str
    MetadataModelFieldNested:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        content_type:
          type: integer
        is_required_for:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldRequirement'
          readOnly: true
      required:
        - content_type
    MetadataModelFieldRequirement:
      type: object
      properties:
        content_type:
          type: integer
        object_id:
          type: integer
          maximum: 2147483647
          minimum: 0
      required:
        - content_type
        - object_id
    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'
        definition: {}
        experiments:
          type: array
          items:
            type: object
            description: |-
              A lightweight view of an experiment using a metric, as returned in the
              metric'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
    MetricItem:
      type: object
      properties:
        value:
          type: integer
        description:
          type: string
        name:
          type: string
        entity:
          type: string
        rank:
          type: integer
      required:
        - description
        - entity
        - name
        - value
    MixpanelConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
      required:
        - api_key
    Monitoring:
      type: object
      properties:
        waiting:
          type: integer
          readOnly: true
    MultiInvites:
      type: object
      properties:
        invites:
          type: array
          items:
            $ref: '#/components/schemas/Invite'
        emails:
          type: array
          items:
            type: string
            format: email
    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
    MultivariateOptionValues:
      type: object
      properties:
        value:
          description: |-
            Given the *incoming* primitive data, return the value for this field
            that should be validated and transformed to a native value.
          oneOf:
            - type: string
            - type: integer
            - type: boolean
            - type: 'null'
          readOnly: true
    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
    NameEnum:
      description: |-
        * `Webhook` - Webhook
        * `Grafana` - Grafana
      type: string
      enum:
        - Webhook
        - Grafana
    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
    NewRelicConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
        app_id:
          type: string
          maxLength: 100
      required:
        - api_key
        - app_id
    NullEnum:
      type: 'null'
    OAuthToken:
      type: object
      properties:
        key:
          type: string
          readOnly: true
        is_new_user:
          type: boolean
          readOnly: true
    OrganisationAPIUsageNotification:
      type: object
      properties:
        organisation_id:
          type: integer
        percent_usage:
          type: integer
        notified_at:
          type: string
          format: date-time
      required:
        - notified_at
        - organisation_id
        - percent_usage
    OrganisationSerializerBasic:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 2000
      required:
        - name
    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
        targeting_key:
          description: Flagsmith-on-Flagsmith targeting key. Immutable; org.<id> is used when unset.
          type:
            - string
            - 'null'
          maxLength: 64
          writeOnly: true
      required:
        - name
    OrganisationWebhook:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        enabled:
          type: boolean
        secret:
          type: string
          maxLength: 255
        created_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
      required:
        - url
    PaginatedAuditLogListList:
      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/AuditLogList'
      required:
        - count
        - results
    PaginatedContentTypeList:
      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/ContentType'
      required:
        - count
        - results
    PaginatedEdgeIdentityList:
      type: object
      properties:
        last_evaluated_key:
          type: string
          nullable: true
        results:
          type: array
          items:
            $ref: '#/components/schemas/EdgeIdentity'
      required:
        - results
    PaginatedEdgeIdentityTraitsList:
      type: object
      properties:
        last_evaluated_key:
          type: string
          nullable: true
        results:
          type: array
          items:
            $ref: '#/components/schemas/EdgeIdentityTraits'
      required:
        - results
    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
    PaginatedEnvironmentMetricsList:
      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/EnvironmentMetrics'
      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
    PaginatedFeatureExportList:
      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/FeatureExport'
      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
    PaginatedFeatureImportList:
      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/FeatureImport'
      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
    PaginatedFeatureStateSerializerWithIdentityList:
      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/FeatureStateSerializerWithIdentity'
      required:
        - count
        - results
    PaginatedGithubConfigurationList:
      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/GithubConfiguration'
      required:
        - count
        - results
    PaginatedGithubRepositoryList:
      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/GithubRepository'
      required:
        - count
        - results
    PaginatedGroupRoleList:
      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/GroupRole'
      required:
        - count
        - results
    PaginatedIdentityAllFeatureStatesList:
      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/IdentityAllFeatureStates'
      required:
        - count
        - results
    PaginatedIdentityList:
      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/Identity'
      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
    PaginatedMasterAPIKeyList:
      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/MasterAPIKey'
      required:
        - count
        - results
    PaginatedMasterAPIKeyRoleList:
      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/MasterAPIKeyRole'
      required:
        - count
        - results
    PaginatedMetaDataModelFieldList:
      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/MetaDataModelField'
      required:
        - count
        - results
    PaginatedMetadataFieldList:
      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/MetadataField'
      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
    PaginatedOrganisationAPIUsageNotificationList:
      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/OrganisationAPIUsageNotification'
      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
    PaginatedOrganisationWebhookList:
      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/OrganisationWebhook'
      required:
        - count
        - results
    PaginatedPaginatedQueryParamsList:
      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/PaginatedQueryParams'
      required:
        - count
        - results
    PaginatedPermissionModelList:
      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/PermissionModel'
      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
    PaginatedQueryParams:
      type: object
      properties:
        page:
          type: integer
          default: 1
          minimum: 1
        page_size:
          type: integer
          default: 100
          maximum: 100
          minimum: 1
    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
    PaginatedRoleEnvironmentPermissionList:
      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/RoleEnvironmentPermission'
      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
    PaginatedRoleOrganisationPermisssionList:
      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/RoleOrganisationPermisssion'
      required:
        - count
        - results
    PaginatedRoleProjectPermissionList:
      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/RoleProjectPermission'
      required:
        - count
        - results
    PaginatedSamlAttributeMappingList:
      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/SamlAttributeMapping'
      required:
        - count
        - results
    PaginatedSamlConfigurationList:
      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/SamlConfiguration'
      required:
        - count
        - results
    PaginatedSearchQueryParamsList:
      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/SearchQueryParams'
      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
    PaginatedTagList:
      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/Tag'
      required:
        - count
        - results
    PaginatedTraitList:
      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/Trait'
      required:
        - count
        - results
    PaginatedTrustRelationshipList:
      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/TrustRelationship'
      required:
        - count
        - results
    PaginatedUserList:
      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/User'
      required:
        - count
        - results
    PaginatedUserRoleList:
      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/UserRole'
      required:
        - count
        - results
    PaginatedWritableNestedFeatureStateList:
      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/WritableNestedFeatureState'
      required:
        - count
        - results
    PasswordResetConfirmRetype:
      type: object
      properties:
        uid:
          type: string
        token:
          type: string
        new_password:
          type: string
        re_new_password:
          type: string
      required:
        - new_password
        - re_new_password
        - token
        - uid
    PatchedAmplitudeConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          type: string
          format: uri
          maxLength: 200
    PatchedChangeRequestUpdate:
      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/UpdateChangeRequestFeatureState'
        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
    PatchedCreateUpdateUserEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        user:
          type: integer
    PatchedCreateUpdateUserPermissionGroupEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        group:
          type: integer
    PatchedCreateUpdateUserPermissionGroupProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        group:
          type: integer
    PatchedCreateUpdateUserProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        user:
          type: integer
    PatchedCustomEnvironmentFeatureVersionFeatureState:
      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'
    PatchedDataDogConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type: string
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
        use_custom_source:
          type: boolean
    PatchedDynatraceConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
        entity_selector:
          type: string
          maxLength: 1000
    PatchedEdgeIdentityUpdate:
      type: object
      properties:
        identity_uuid:
          type: string
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
          readOnly: true
        dashboard_alias:
          type: string
          maxLength: 100
    PatchedEnvironmentAPIKey:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        key:
          type: string
          readOnly: true
        active:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        name:
          type: string
          maxLength: 100
        expires_at:
          type:
            - string
            - 'null'
          format: date-time
    PatchedExperiment:
      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
    PatchedExperimentList:
      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
    PatchedExperimentMetric:
      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
    PatchedFeatureExternalResource:
      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
    PatchedFeatureSegmentCreate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        feature:
          type: integer
        segment:
          type: integer
        environment:
          type: integer
        priority:
          type: integer
          readOnly: true
    PatchedFeatureStateSerializerCreate:
      type: object
      properties:
        feature:
          type: integer
        enabled:
          type: boolean
    PatchedGitLabConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        gitlab_instance_url:
          type: string
          format: uri
          maxLength: 200
        access_token:
          type: string
          maxLength: 300
        labeling_enabled:
          type: boolean
    PatchedGithubConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        installation_id:
          type: string
          maxLength: 100
        organisation:
          type: integer
          readOnly: true
    PatchedGithubRepository:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        github_configuration:
          type: integer
          readOnly: true
        project:
          type: integer
        repository_owner:
          type: string
          maxLength: 100
        repository_name:
          type: string
          maxLength: 100
        tagging_enabled:
          type: boolean
    PatchedGrafanaOrganisationConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
    PatchedGrafanaProjectConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
    PatchedGroupRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        group:
          type: integer
        role:
          type: integer
          readOnly: true
    PatchedHeapConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
    PatchedIdentity:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
        environment:
          type: integer
          readOnly: true
    PatchedListUserPermissionGroup:
      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
    PatchedMasterAPIKey:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        prefix:
          type: string
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        name:
          description: A free-form name for the API key. Need not be unique. 50 characters max.
          type: string
          maxLength: 50
        revoked:
          description: 'If the API key is revoked, clients cannot use it anymore. (This cannot be undone.)'
          type: boolean
        expiry_date:
          description: 'Once API key expires, clients cannot use it anymore.'
          type:
            - string
            - 'null'
          format: date-time
          title: Expires
        key:
          description: 'Since we don''t store the api key itself(i.e: we only store the hash) this key will be none for every endpoint apart from create'
          type: string
          readOnly: true
        is_admin:
          type: boolean
          default: true
        has_expired:
          type: boolean
          readOnly: true
        created_by:
          type:
            - integer
            - 'null'
          readOnly: true
    PatchedMasterAPIKeyRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        master_api_key:
          type: string
        role:
          type: integer
          readOnly: true
        role_name:
          type: string
          readOnly: true
    PatchedMetaDataModelField:
      description: Adds nested create feature
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        field:
          type: integer
        content_type:
          type: integer
        is_required_for:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldRequirement'
    PatchedMetadataField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 255
        type:
          $ref: '#/components/schemas/MetadataFieldTypeEnum'
        description:
          type:
            - string
            - 'null'
        organisation:
          type: integer
        project:
          type:
            - integer
            - 'null'
        model_fields:
          type: array
          items:
            $ref: '#/components/schemas/MetadataModelFieldNested'
          readOnly: true
    PatchedMetric:
      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'
        definition: {}
        experiments:
          type: array
          items:
            type: object
            description: |-
              A lightweight view of an experiment using a metric, as returned in the
              metric'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
    PatchedMixpanelConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
    PatchedMultivariateFeatureOption:
      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
    PatchedNewRelicConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
        app_id:
          type: string
          maxLength: 100
    PatchedOrganisationSerializerFull:
      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
        targeting_key:
          description: Flagsmith-on-Flagsmith targeting key. Immutable; org.<id> is used when unset.
          type:
            - string
            - 'null'
          maxLength: 64
          writeOnly: true
    PatchedOrganisationWebhook:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        enabled:
          type: boolean
        secret:
          type: string
          maxLength: 255
        created_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        updated_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
    PatchedProjectChangeRequest:
      description: Adds nested create feature
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        approvals:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestApproval'
        committed_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        committed_by:
          type:
            - integer
            - 'null'
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        deleted_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        description:
          type:
            - string
            - 'null'
        group_assignments:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestGroupAssignment'
        project_id:
          type: integer
          readOnly: true
        segments:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestSegment'
        title:
          type: string
          maxLength: 500
        updated_at:
          type: string
          format: date-time
          readOnly: true
        user:
          type:
            - integer
            - 'null'
    PatchedProjectUpdate:
      description: |-
        Mixin to add read only status to fields in a given serializer based on the existence
        of a subscription and a black list of plan ids

        Example usage:

            class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):
                class Meta:
                    model = MyModel
                    fields = ("my_field",)

                invalid_plans = ("free",)
                field_names = ("my_field",)

                def get_subscription(self):
                    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.

            * `NOT_STARTED` - Not Started
            * `IN_PROGRESS` - In Progress
            * `COMPLETE` - Complete
            * `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
    PatchedReleasePipeline:
      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
    PatchedRole:
      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
    PatchedRoleEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: integer
          readOnly: true
        environment:
          type: integer
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionsTagBasedPermission'
        admin:
          type: boolean
    PatchedRoleOrganisationPermisssion:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
    PatchedRoleProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: integer
          readOnly: true
        project:
          type: integer
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionsTagBasedPermission'
        admin:
          type: boolean
    PatchedRudderstackConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
    PatchedSamlAttributeMapping:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        saml_configuration:
          type: integer
        django_attribute_name:
          $ref: '#/components/schemas/DjangoAttributeNameEnum'
        idp_attribute_name:
          type: string
          maxLength: 200
    PatchedSamlConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        organisation:
          type: integer
        name:
          description: An alphanumeric string to uniquely identify the saml configuration.
          type: string
          maxLength: 100
          pattern: '^[A-Za-z0-9-]'
        frontend_url:
          description: 'Base URL to redirect to on a successful SAML authentication, e.g. https://app.flagsmith.com/'
          type: string
          format: uri
          maxLength: 200
        idp_metadata_xml:
          type:
            - string
            - 'null'
        allow_idp_initiated:
          type: boolean
          title: Allow IdP-initiated (unsolicited) login
    PatchedSamlCurrentUser:
      type: object
      properties:
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        sign_up_type:
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
        auth_type:
          type: string
          readOnly: true
        is_superuser:
          type: boolean
          readOnly: true
        date_joined:
          type: string
          format: date-time
        uuid:
          type: string
          format: uuid
          readOnly: true
        pylon_email_signature:
          type: string
          readOnly: true
    PatchedSegment:
      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
          readOnly: true
        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
        managed_by:
          oneOf:
            - $ref: '#/components/schemas/ManagedByEnum'
            - $ref: '#/components/schemas/BlankEnum'
          readOnly: true
    PatchedSegmentConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          default: 'https://api.segment.io/'
          allOf:
            - $ref: '#/components/schemas/BaseUrlEnum'
    PatchedSentryChangeTrackingConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        environment:
          type: integer
          readOnly: true
        webhook_url:
          type: string
          format: uri
          maxLength: 200
        secret:
          type: string
          maxLength: 60
          minLength: 10
    PatchedSlackEnvironment:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        channel_id:
          description: Id of the slack channel to post messages to
          type: string
          maxLength: 50
        enabled:
          type: boolean
    PatchedTag:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          maxLength: 100
        color:
          description: Hexadecimal value of the tag color
          type: string
          maxLength: 10
        description:
          type:
            - string
            - 'null'
          maxLength: 512
        project:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        is_permanent:
          description: 'When applied to a feature, it means this feature should be excluded from stale flags logic.'
          type: boolean
        is_system_tag:
          description: 'Indicates that a tag was created by the system, not the user.'
          type: boolean
          readOnly: true
        type:
          description: |-
            Field used to provide a consistent identifier for the FE and API to use for business logic.

            * `NONE` - None
            * `STALE` - Stale
            * `GITHUB` - Github
            * `UNHEALTHY` - Unhealthy
            * `GITLAB` - Gitlab
          default: NONE
          allOf:
            - $ref: '#/components/schemas/TagTypeEnum'
          readOnly: true
    PatchedTrait:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        trait_key:
          type: string
          maxLength: 200
        value_type:
          oneOf:
            - $ref: '#/components/schemas/ValueTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        integer_value:
          type:
            - integer
            - 'null'
          maximum: 2147483647
          minimum: -2147483648
        string_value:
          type:
            - string
            - 'null'
          maxLength: 2000
        boolean_value:
          type:
            - boolean
            - 'null'
        float_value:
          type:
            - number
            - 'null'
          format: double
        created_date:
          type: string
          format: date-time
          readOnly: true
          title: DateCreated
    PatchedTrustRelationship:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          description: Display name for this trust relationship.
          type: string
          maxLength: 100
        issuer:
          description: OIDC issuer URL expected in exchanged tokens' `iss` claim.
          type: string
          format: uri
          maxLength: 500
        audience:
          description: Expected value of the `aud` claim in exchanged tokens.
          type: string
          maxLength: 500
        claim_rules:
          type: array
          items:
            $ref: '#/components/schemas/ClaimRule'
        is_admin:
          type: boolean
        master_api_key_id:
          type: string
          readOnly: true
        master_api_key_prefix:
          type: string
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        created_by:
          type:
            - integer
            - 'null'
          readOnly: true
    PatchedUpdateEnvironment:
      description: |-
        Mixin to add read only status to fields in a given serializer based on the existence
        of a subscription and a black list of plan ids

        Example usage:

            class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):
                class Meta:
                    model = MyModel
                    fields = ("my_field",)

                invalid_plans = ("free",)
                field_names = ("my_field",)

                def get_subscription(self):
                    return subscription
      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
          readOnly: true
        minimum_change_request_approvals:
          type:
            - integer
            - 'null'
          maximum: 2147483647
          minimum: -2147483648
          readOnly: true
        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.

            Warning: this will still mean that sending the `use_mv_v2_evaluation` field
            (e.g. in a PUT request) will not behave as expected but, since this is a minor
            issue, 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'
    PatchedUpdateFeature:
      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
    PatchedUpdateFlagRequest:
      type: object
      properties:
        environment_default:
          $ref: '#/components/schemas/UpdateFlagRequestEnvironmentDefaultRequest'
        segment_overrides:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagRequestSegmentOverrideRequest'
          title: Segment Overrides
      title: UpdateFlagRequest
    PatchedUser:
      type: object
      properties:
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        sign_up_type:
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
    PatchedUserOrganisationPermissionUpdateCreate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        user:
          type: integer
        permissions:
          type: array
          items:
            type: string
    PatchedUserPermissionGroupOrganisationPermissionUpdateCreate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        group:
          type: integer
        permissions:
          type: array
          items:
            type: string
    PatchedUserRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        user:
          type: integer
        role:
          type: integer
          readOnly: true
    PatchedWarehouseConnection:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        warehouse_type:
          $ref: '#/components/schemas/WarehouseTypeEnum'
        status:
          allOf:
            - $ref: '#/components/schemas/WarehouseConnectionStatusEnum'
          readOnly: true
        status_detail:
          type:
            - string
            - 'null'
          readOnly: true
        name:
          type: string
          maxLength: 255
        config:
          oneOf:
            - {}
            - type: 'null'
        credentials:
          oneOf:
            - {}
            - type: 'null'
          writeOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        total_events_received:
          type:
            - integer
            - 'null'
          readOnly: true
        unique_events_count:
          type:
            - integer
            - 'null'
          readOnly: true
    PatchedWebhook:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        enabled:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        secret:
          type: string
          maxLength: 255
    PatchedWebhookConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        secret:
          type: string
          maxLength: 255
    PatchedWritableNestedFeatureState:
      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
    PaymentMethodEnum:
      description: |-
        * `CHARGEBEE` - Chargebee
        * `XERO` - Xero
        * `AWS_MARKETPLACE` - AWS Marketplace
      type: string
      enum:
        - CHARGEBEE
        - XERO
        - AWS_MARKETPLACE
    PaymentSourceEnum:
      description: '* `CHARGEBEE` - CHARGEBEE'
      type: string
      enum:
        - CHARGEBEE
    PermissionModel:
      type: object
      properties:
        key:
          type: string
          maxLength: 100
        description:
          type: string
        supports_tag:
          type: boolean
          readOnly: true
      required:
        - description
        - key
    PermissionRole:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        tags:
          type: array
          items:
            type: integer
      required:
        - id
        - name
    PermissionsTagBasedPermission:
      type: object
      properties:
        permission_key:
          type: string
        tags:
          type: array
          items:
            type: integer
      required:
        - permission_key
    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
    PortalUrl:
      type: object
      properties:
        url:
          type: string
          format: uri
      required:
        - url
    ProjectChangeRequest:
      description: Adds nested create feature
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        approvals:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestApproval'
        committed_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        committed_by:
          type:
            - integer
            - 'null'
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        deleted_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        description:
          type:
            - string
            - 'null'
        group_assignments:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestGroupAssignment'
        project_id:
          type: integer
          readOnly: true
        segments:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestSegment'
        title:
          type: string
          maxLength: 500
        updated_at:
          type: string
          format: date-time
          readOnly: true
        user:
          type:
            - integer
            - 'null'
      required:
        - segments
        - title
    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
    ProjectChangeRequestRetrieve:
      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
        environment:
          type:
            - integer
            - 'null'
          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
        approvals:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestApproval'
        is_approved:
          type: boolean
          readOnly: true
        is_committed:
          type: string
          readOnly: true
        group_assignments:
          type: array
          items:
            $ref: '#/components/schemas/ChangeRequestGroupAssignment'
        segments:
          type: array
          items:
            $ref: '#/components/schemas/Segment'
        change_sets:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/VersionChangeSet'
        conflicts:
          type: array
          items:
            $ref: '#/components/schemas/Conflict'
          readOnly: true
      required:
        - approvals
        - group_assignments
        - segments
    ProjectCreate:
      description: |-
        Mixin to add read only status to fields in a given serializer based on the existence
        of a subscription and a black list of plan ids

        Example usage:

            class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):
                class Meta:
                    model = MyModel
                    fields = ("my_field",)

                invalid_plans = ("free",)
                field_names = ("my_field",)

                def get_subscription(self):
                    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
        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.

            * `NOT_STARTED` - Not Started
            * `IN_PROGRESS` - In Progress
            * `COMPLETE` - Complete
            * `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
    ProjectFeature:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 2000
        created_date:
          type: string
          format: date-time
          readOnly: true
          title: DateCreated
        description:
          type:
            - string
            - 'null'
        initial_value:
          type:
            - string
            - 'null'
          maxLength: 20000
        default_enabled:
          type: boolean
        type:
          oneOf:
            - $ref: '#/components/schemas/TypeD77Enum'
            - $ref: '#/components/schemas/BlankEnum'
        owners:
          type: array
          items:
            $ref: '#/components/schemas/UserList'
          readOnly: true
        group_owners:
          type: array
          items:
            $ref: '#/components/schemas/UserPermissionGroupSummary'
          readOnly: true
        is_server_key_only:
          type: boolean
      required:
        - name
    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.

            * `NOT_STARTED` - Not Started
            * `IN_PROGRESS` - In Progress
            * `COMPLETE` - Complete
            * `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.

            * `NOT_STARTED` - Not Started
            * `IN_PROGRESS` - In Progress
            * `COMPLETE` - Complete
            * `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
        of a subscription and a black list of plan ids

        Example usage:

            class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):
                class Meta:
                    model = MyModel
                    fields = ("my_field",)

                invalid_plans = ("free",)
                field_names = ("my_field",)

                def get_subscription(self):
                    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.

            * `NOT_STARTED` - Not Started
            * `IN_PROGRESS` - In Progress
            * `COMPLETE` - Complete
            * `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
    ResultEnum:
      description: |-
        * `success` - success
        * `failure` - failure
        * `incomplete` - incomplete
      type: string
      enum:
        - success
        - failure
        - incomplete
    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
        * `USER` - User
      type: string
      enum:
        - ADMIN
        - USER
    RoleEnvironmentPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: integer
          readOnly: true
        environment:
          type: integer
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionsTagBasedPermission'
        admin:
          type: boolean
      required:
        - environment
        - permissions
    RoleOrganisationPermisssion:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: integer
          readOnly: true
        permissions:
          type: array
          items:
            type: string
    RoleProjectPermission:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        role:
          type: integer
          readOnly: true
        project:
          type: integer
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionsTagBasedPermission'
        admin:
          type: boolean
      required:
        - permissions
        - project
    RudderstackConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        base_url:
          type:
            - string
            - 'null'
          format: uri
          maxLength: 200
        api_key:
          type: string
          maxLength: 100
      required:
        - api_key
    SDKAnalyticsFlags:
      type: object
      properties:
        evaluations:
          type: array
          items:
            $ref: '#/components/schemas/SDKAnalyticsFlagsSerializerDetail'
      required:
        - evaluations
    SDKAnalyticsFlagsSerializerDetail:
      type: object
      properties:
        feature_name:
          type: string
        identity_identifier:
          type: string
        enabled_when_evaluated:
          type: boolean
        count:
          type: integer
      required:
        - count
        - enabled_when_evaluated
        - feature_name
    SDKBulkCreateUpdateTrait:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/IdentifierOnlyIdentity'
        trait_value:
          description: 'Can be string, integer, float, or boolean'
          type:
            - string
            - integer
            - number
            - boolean
            - 'null'
        trait_key:
          type: string
      required:
        - identity
        - trait_key
        - trait_value
    SDKCreateUpdateTrait:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/IdentifierOnlyIdentity'
        trait_value:
          description: 'Can be string, integer, float, or boolean'
          type:
            - string
            - integer
            - number
            - boolean
        trait_key:
          type: string
      required:
        - identity
        - trait_key
        - trait_value
    SamlAttributeMapping:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        saml_configuration:
          type: integer
        django_attribute_name:
          $ref: '#/components/schemas/DjangoAttributeNameEnum'
        idp_attribute_name:
          type: string
          maxLength: 200
      required:
        - django_attribute_name
        - idp_attribute_name
        - saml_configuration
    SamlConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        organisation:
          type: integer
        name:
          description: An alphanumeric string to uniquely identify the saml configuration.
          type: string
          maxLength: 100
          pattern: '^[A-Za-z0-9-]'
        frontend_url:
          description: 'Base URL to redirect to on a successful SAML authentication, e.g. https://app.flagsmith.com/'
          type: string
          format: uri
          maxLength: 200
        idp_metadata_xml:
          type:
            - string
            - 'null'
        allow_idp_initiated:
          type: boolean
          title: Allow IdP-initiated (unsolicited) login
      required:
        - frontend_url
        - name
        - organisation
    SamlCurrentUser:
      type: object
      properties:
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        sign_up_type:
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
        auth_type:
          type: string
          readOnly: true
        is_superuser:
          type: boolean
          readOnly: true
        date_joined:
          type: string
          format: date-time
        uuid:
          type: string
          format: uuid
          readOnly: true
        pylon_email_signature:
          type: string
          readOnly: true
      required:
        - first_name
        - last_name
    SamlLogin:
      type: object
      properties:
        access_token:
          description: Code or access token returned from the FE interaction with the third party login provider.
          type: string
      required:
        - access_token
    SamlRequest:
      type: object
      properties:
        headers:
          $ref: '#/components/schemas/SamlRequestHeaders'
        status:
          type: integer
        url:
          type: string
      required:
        - headers
        - status
        - url
    SamlRequestHeaders:
      type: object
      properties:
        Location:
          type: string
      required:
        - Location
    SamlUserToken:
      type: object
      properties:
        key:
          type: string
          maxLength: 40
      required:
        - key
    Scope:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/WebhookScopeTypeEnum'
      required:
        - type
    SearchQueryParams:
      type: object
      properties:
        page:
          type: integer
          default: 1
          minimum: 1
        page_size:
          type: integer
          default: 100
          maximum: 100
          minimum: 1
        gitlab_project_id:
          type: integer
        search_text:
          type: string
        state:
          type: string
          default: opened
      required:
        - gitlab_project_id
    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
          readOnly: true
        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
        managed_by:
          oneOf:
            - $ref: '#/components/schemas/ManagedByEnum'
            - $ref: '#/components/schemas/BlankEnum'
          readOnly: true
      required:
        - name
        - rules
    SegmentAssociatedFeatureState:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        feature:
          type: integer
        environment:
          type:
            - integer
            - 'null'
      required:
        - feature
    SegmentConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        api_key:
          type: string
          maxLength: 100
        base_url:
          default: 'https://api.segment.io/'
          allOf:
            - $ref: '#/components/schemas/BaseUrlEnum'
      required:
        - api_key
    SegmentIdentifier:
      type: object
      properties:
        id:
          type: integer
      required:
        - id
    SegmentMember:
      type: object
      properties:
        identifier:
          type: string
        identity_key:
          type: string
        traits: {}
      required:
        - identifier
        - identity_key
        - traits
    SegmentMembersResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/SegmentMember'
        next_cursor:
          description: Pass as `cursor` to fetch the next page; null when there are no more rows.
          type:
            - string
            - 'null'
      required:
        - next_cursor
        - results
    SegmentMembershipCount:
      type: object
      properties:
        environment:
          type: integer
          readOnly: true
        count:
          type: integer
          readOnly: true
        last_synced_at:
          type: string
          format: date-time
          readOnly: true
    SegmentOverride:
      type: object
      properties:
        segment_id:
          type: integer
        priority:
          type:
            - integer
            - 'null'
        enabled:
          type: boolean
        value:
          $ref: '#/components/schemas/FeatureValue'
        multivariate_feature_state_values:
          type: array
          items:
            $ref: '#/components/schemas/MultivariateValue'
      required:
        - enabled
        - segment_id
        - value
    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
        * `ANY` - any
        * `NONE` - none
      type: string
      enum:
        - ALL
        - ANY
        - NONE
    SelfHostedOnboardingSupportSendRequest:
      type: object
      properties:
        hubspotutk:
          type: string
    SendEmailReset:
      type: object
      properties:
        email:
          type: string
          format: email
      required:
        - email
    SentryChangeTrackingConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        environment:
          type: integer
          readOnly: true
        webhook_url:
          type: string
          format: uri
          maxLength: 200
        secret:
          type: string
          maxLength: 60
          minLength: 10
      required:
        - secret
        - webhook_url
    SetPasswordRetype:
      type: object
      properties:
        new_password:
          type: string
        re_new_password:
          type: string
        current_password:
          type: string
      required:
        - current_password
        - new_password
        - re_new_password
    SetUsername:
      type: object
      properties:
        current_password:
          type: string
        new_email:
          type: string
          format: email
          maxLength: 254
          title: Email
      required:
        - current_password
        - new_email
    SignUpTypeEnum:
      description: |-
        * `NO_INVITE` - No Invite
        * `INVITE_EMAIL` - Invite Email
        * `INVITE_LINK` - Invite Link
      type: string
      enum:
        - NO_INVITE
        - INVITE_EMAIL
        - INVITE_LINK
    SlackChannel:
      type: object
      properties:
        channel_name:
          type: string
        channel_id:
          type: string
      required:
        - channel_id
        - channel_name
    SlackChannelList:
      type: object
      properties:
        cursor:
          type: string
        channels:
          type: array
          items:
            $ref: '#/components/schemas/SlackChannel'
      required:
        - channels
        - cursor
    SlackEnvironment:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        channel_id:
          description: Id of the slack channel to post messages to
          type: string
          maxLength: 50
        enabled:
          type: boolean
      required:
        - channel_id
    SourceTypeEnum:
      description: '* `csv` - CSV'
      type: string
      enum:
        - csv
    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'
    Status6d4Enum:
      description: |-
        * `SUCCESS` - Success
        * `PROCESSING` - Processing
        * `FAILED` - Failed
      type: string
      enum:
        - SUCCESS
        - PROCESSING
        - FAILED
    Status7a8Enum:
      description: |-
        * `created` - Created
        * `running` - Running
        * `paused` - Paused
        * `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
    SubscriptionDetails:
      type: object
      properties:
        max_seats:
          type: integer
        max_api_calls:
          type: integer
        max_projects:
          type:
            - integer
            - 'null'
        payment_source:
          oneOf:
            - $ref: '#/components/schemas/PaymentSourceEnum'
            - $ref: '#/components/schemas/NullEnum'
        chargebee_email:
          type: string
          format: email
        feature_history_visibility_days:
          type:
            - integer
            - 'null'
        audit_log_visibility_days:
          type:
            - integer
            - 'null'
      required:
        - audit_log_visibility_days
        - chargebee_email
        - feature_history_visibility_days
        - max_api_calls
        - max_projects
        - max_seats
        - payment_source
    Tag:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          maxLength: 100
        color:
          description: Hexadecimal value of the tag color
          type: string
          maxLength: 10
        description:
          type:
            - string
            - 'null'
          maxLength: 512
        project:
          type: integer
          readOnly: true
        uuid:
          type: string
          format: uuid
          readOnly: true
        is_permanent:
          description: 'When applied to a feature, it means this feature should be excluded from stale flags logic.'
          type: boolean
        is_system_tag:
          description: 'Indicates that a tag was created by the system, not the user.'
          type: boolean
          readOnly: true
        type:
          description: |-
            Field used to provide a consistent identifier for the FE and API to use for business logic.

            * `NONE` - None
            * `STALE` - Stale
            * `GITHUB` - Github
            * `UNHEALTHY` - Unhealthy
            * `GITLAB` - Gitlab
          default: NONE
          allOf:
            - $ref: '#/components/schemas/TagTypeEnum'
          readOnly: true
      required:
        - label
    TagBasedPermission:
      type: object
      properties:
        permissions:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: integer
      required:
        - permissions
        - tags
    TagTypeEnum:
      description: |-
        * `NONE` - None
        * `STALE` - Stale
        * `GITHUB` - Github
        * `UNHEALTHY` - Unhealthy
        * `GITLAB` - Gitlab
      type: string
      enum:
        - NONE
        - STALE
        - GITHUB
        - UNHEALTHY
        - GITLAB
    Telemetry:
      type: object
      properties:
        organisations:
          type: integer
        projects:
          type: integer
        environments:
          type: integer
        features:
          type: integer
        segments:
          type: integer
        users:
          type: integer
        debug_enabled:
          type: boolean
        env:
          type: string
      required:
        - debug_enabled
        - env
        - environments
        - features
        - organisations
        - projects
        - segments
        - users
    TestWebhook:
      type: object
      properties:
        webhook_url:
          type: string
          format: uri
        scope:
          $ref: '#/components/schemas/Scope'
        secret:
          type:
            - string
            - 'null'
      required:
        - scope
        - webhook_url
    TestWebhookErrorResponse:
      type: object
      properties:
        detail:
          type: string
        status:
          type: integer
        body:
          type:
            - string
            - 'null'
      required:
        - detail
        - status
    TestWebhookSuccessResponse:
      type: object
      properties:
        detail:
          type: string
        status:
          type: integer
          default: 200
      required:
        - detail
    TokenCreate:
      type: object
      properties:
        password:
          type: string
        email:
          type: string
    TokenExchangeRequest:
      type: object
      properties:
        token:
          description: 'An OIDC token issued by a trusted identity provider, e.g. a GitHub Actions job token.'
          type: string
      required:
        - token
    TokenExchangeResponse:
      type: object
      properties:
        access_token:
          description: Short-lived access token for the Admin API.
          type: string
        token_type:
          description: Always "Bearer".
          type: string
        expires_in:
          description: Access token lifetime in seconds.
          type: integer
      required:
        - access_token
        - expires_in
        - token_type
    Trait:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        trait_key:
          type: string
          maxLength: 200
        value_type:
          oneOf:
            - $ref: '#/components/schemas/ValueTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        integer_value:
          type:
            - integer
            - 'null'
          maximum: 2147483647
          minimum: -2147483648
        string_value:
          type:
            - string
            - 'null'
          maxLength: 2000
        boolean_value:
          type:
            - boolean
            - 'null'
        float_value:
          type:
            - number
            - 'null'
          format: double
        created_date:
          type: string
          format: date-time
          readOnly: true
          title: DateCreated
      required:
        - trait_key
    TraitKeys:
      type: object
      properties:
        keys:
          type: array
          items:
            type: string
      required:
        - keys
    TriggerTypeEnum:
      description: |-
        * `ON_ENTER` - Trigger when flag enters stage
        * `WAIT_FOR` - Trigger after waiting for x amount of time
      type: string
      enum:
        - ON_ENTER
        - WAIT_FOR
    TrustRelationship:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          description: Display name for this trust relationship.
          type: string
          maxLength: 100
        issuer:
          description: OIDC issuer URL expected in exchanged tokens' `iss` claim.
          type: string
          format: uri
          maxLength: 500
        audience:
          description: Expected value of the `aud` claim in exchanged tokens.
          type: string
          maxLength: 500
        claim_rules:
          type: array
          items:
            $ref: '#/components/schemas/ClaimRule'
        is_admin:
          type: boolean
        master_api_key_id:
          type: string
          readOnly: true
        master_api_key_prefix:
          type: string
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        created_by:
          type:
            - integer
            - 'null'
          readOnly: true
      required:
        - audience
        - is_admin
        - issuer
        - name
    Type68aEnum:
      type: string
      enum:
        - string
        - integer
        - boolean
    Type975Enum:
      description: |-
        * `int` - Integer
        * `unicode` - String
        * `bool` - Boolean
      type: string
      enum:
        - int
        - unicode
        - bool
    TypeD77Enum:
      description: |-
        * `STANDARD` - STANDARD
        * `MULTIVARIATE` - MULTIVARIATE
      type: string
      enum:
        - STANDARD
        - MULTIVARIATE
    UTMData:
      type: object
      properties:
        utm_source:
          type: string
        utm_medium:
          type: string
        utm_campaign:
          type: string
        utm_term:
          type: string
        utm_content:
          type: string
    UpdateChangeRequestFeatureState:
      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
    UpdateEnvironment:
      description: |-
        Mixin to add read only status to fields in a given serializer based on the existence
        of a subscription and a black list of plan ids

        Example usage:

            class MySerializer(ReadOnlyIfNotValidPlanMixin, ModelSerializer):
                class Meta:
                    model = MyModel
                    fields = ("my_field",)

                invalid_plans = ("free",)
                field_names = ("my_field",)

                def get_subscription(self):
                    return subscription
      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
          readOnly: true
        minimum_change_request_approvals:
          type:
            - integer
            - 'null'
          maximum: 2147483647
          minimum: -2147483648
          readOnly: true
        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.

            Warning: this will still mean that sending the `use_mv_v2_evaluation` field
            (e.g. in a PUT request) will not behave as expected but, since this is a minor
            issue, 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
    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
    UpdateFlag:
      type: object
      properties:
        feature:
          $ref: '#/components/schemas/FeatureIdentifier'
        segment:
          $ref: '#/components/schemas/FeatureUpdateSegmentData'
        enabled:
          type: boolean
        value:
          $ref: '#/components/schemas/FeatureValue'
      required:
        - enabled
        - feature
        - value
    UpdateFlagRequest:
      type: object
      properties:
        environment_default:
          $ref: '#/components/schemas/UpdateFlagRequestEnvironmentDefaultRequest'
        segment_overrides:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagRequestSegmentOverrideRequest'
          title: Segment Overrides
      title: UpdateFlagRequest
    UpdateFlagRequestEnvironmentDefaultRequest:
      type: object
      properties:
        enabled:
          type: boolean
          title: Enabled
        value:
          $ref: '#/components/schemas/UpdateFlagRequestFlagValue'
        variants:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagRequestVariant'
          title: Variants
      title: EnvironmentDefaultRequest
    UpdateFlagRequestFlagValue:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/Type68aEnum'
          title: Type
        value:
          type: string
          title: Value
      required:
        - type
        - value
      title: FlagValue
    UpdateFlagRequestSegmentOverrideRequest:
      type: object
      properties:
        segment:
          $ref: '#/components/schemas/UpdateFlagRequestSegmentReference'
        enabled:
          type: boolean
          title: Enabled
        priority:
          type: integer
          title: Priority
        value:
          $ref: '#/components/schemas/UpdateFlagRequestFlagValue'
        variants:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagRequestVariant'
          title: Variants
      required:
        - segment
      title: SegmentOverrideRequest
    UpdateFlagRequestSegmentReference:
      type: object
      properties:
        id:
          type: integer
          title: Id
      required:
        - id
      title: SegmentReference
    UpdateFlagRequestVariant:
      type: object
      properties:
        id:
          type: integer
          title: Id
        weight:
          type: number
          title: Weight
      required:
        - id
        - weight
      title: Variant
    UpdateFlagResponse:
      type: object
      properties:
        environment_default:
          $ref: '#/components/schemas/UpdateFlagResponseEnvironmentDefaultResponse'
        segment_overrides:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagResponseSegmentOverrideResponse'
          title: Segment Overrides
      required:
        - environment_default
        - segment_overrides
      title: UpdateFlagResponse
    UpdateFlagResponseEnvironmentDefaultResponse:
      type: object
      properties:
        enabled:
          type: boolean
          title: Enabled
        value:
          anyOf:
            - $ref: '#/components/schemas/UpdateFlagResponseFlagValue'
            - type: 'null'
        variants:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagResponseVariant'
          title: Variants
      required:
        - enabled
        - value
        - variants
      title: EnvironmentDefaultResponse
    UpdateFlagResponseFlagValue:
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/Type68aEnum'
          title: Type
        value:
          type: string
          title: Value
      required:
        - type
        - value
      title: FlagValue
    UpdateFlagResponseSegmentOverrideResponse:
      type: object
      properties:
        segment:
          $ref: '#/components/schemas/UpdateFlagResponseSegmentReference'
        priority:
          type: integer
          title: Priority
        enabled:
          type: boolean
          title: Enabled
        value:
          anyOf:
            - $ref: '#/components/schemas/UpdateFlagResponseFlagValue'
            - type: 'null'
        variants:
          type: array
          items:
            $ref: '#/components/schemas/UpdateFlagResponseVariant'
          title: Variants
      required:
        - segment
        - priority
        - enabled
        - value
        - variants
      title: SegmentOverrideResponse
    UpdateFlagResponseSegmentReference:
      type: object
      properties:
        id:
          type: integer
          title: Id
      required:
        - id
      title: SegmentReference
    UpdateFlagResponseVariant:
      type: object
      properties:
        id:
          type: integer
          title: Id
        weight:
          type: number
          title: Weight
      required:
        - id
        - weight
      title: Variant
    UpdateFlagV2:
      type: object
      properties:
        feature:
          $ref: '#/components/schemas/FeatureIdentifier'
        environment_default:
          $ref: '#/components/schemas/EnvironmentDefault'
        segment_overrides:
          type: array
          items:
            $ref: '#/components/schemas/SegmentOverride'
      required:
        - environment_default
        - feature
    UpdateSubscription:
      type: object
      properties:
        hosted_page_id:
          type: string
      required:
        - hosted_page_id
    UsageData:
      type: object
      properties:
        flags:
          type: integer
        identities:
          type: integer
        traits:
          type: integer
        environment_document:
          type: integer
        day:
          type: string
        labels:
          oneOf:
            - $ref: '#/components/schemas/Labels'
            - type: 'null'
      required:
        - day
        - environment_document
        - flags
        - identities
        - traits
    UsageTotalCount:
      type: object
      properties:
        count:
          type: integer
      required:
        - count
    User:
      type: object
      properties:
        first_name:
          type: string
          maxLength: 150
        last_name:
          type: string
          maxLength: 150
        sign_up_type:
          oneOf:
            - $ref: '#/components/schemas/SignUpTypeEnum'
            - $ref: '#/components/schemas/BlankEnum'
            - $ref: '#/components/schemas/NullEnum'
        id:
          type: integer
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
      required:
        - first_name
        - last_name
    UserDetailedPermissions:
      type: object
      properties:
        admin:
          type: boolean
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/DetailedPermissions'
        is_directly_granted:
          type: boolean
        derived_from:
          $ref: '#/components/schemas/DerivedFrom'
      required:
        - admin
        - derived_from
        - is_directly_granted
        - permissions
    UserId:
      type: object
      properties:
        id:
          type: integer
      required:
        - id
    UserIds:
      type: object
      properties:
        user_ids:
          type: array
          items:
            type: integer
      required:
        - user_ids
    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
    UserObjectPermissions:
      type: object
      properties:
        permissions:
          type: array
          items:
            type: string
        admin:
          type: boolean
        tag_based_permissions:
          type: array
          items:
            $ref: '#/components/schemas/TagBasedPermission'
      required:
        - admin
        - permissions
        - tag_based_permissions
    UserOrganisation:
      type: object
      properties:
        role:
          $ref: '#/components/schemas/RoleEnum'
        organisation:
          allOf:
            - $ref: '#/components/schemas/OrganisationSerializerBasic'
          readOnly: true
      required:
        - role
    UserOrganisationPermissionList:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        user:
          $ref: '#/components/schemas/UserList'
        permissions:
          type: array
          items:
            type: string
      required:
        - user
    UserOrganisationPermissionUpdateCreate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        user:
          type: integer
        permissions:
          type: array
          items:
            type: string
      required:
        - user
    UserPermissionGroup:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        users:
          type: array
          items:
            type: integer
          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
    UserPermissionGroupMembership:
      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
        group_admin:
          type: boolean
          readOnly: true
      required:
        - email
        - first_name
        - last_name
    UserPermissionGroupOrganisationPermissionList:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        group:
          $ref: '#/components/schemas/UserPermissionGroup'
        permissions:
          type: array
          items:
            type: string
      required:
        - group
    UserPermissionGroupOrganisationPermissionUpdateCreate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        group:
          type: integer
        permissions:
          type: array
          items:
            type: string
      required:
        - group
    UserPermissionGroupSerializerDetail:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserPermissionGroupMembership'
          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
    UserPermissionGroupSummary:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
    UserRole:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        user:
          type: integer
        role:
          type: integer
          readOnly: true
      required:
        - user
    UsernameResetConfirm:
      type: object
      properties:
        new_email:
          type: string
          format: email
          maxLength: 254
          title: Email
      required:
        - new_email
    V1EnvironmentDocumentResponse:
      description: |-
        `/api/v1/environment-documents/` response.

        Powers Flagsmith SDK's local evaluation mode.
      type: object
      properties:
        api_key:
          type: string
          title: Api Key
        feature_states:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseFeatureState'
          title: Feature States
        identity_overrides:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseIdentityOverride'
          title: Identity Overrides
        name:
          type: string
          title: Name
        project:
          $ref: '#/components/schemas/V1EnvironmentDocumentResponseProject'
      required:
        - api_key
        - feature_states
        - identity_overrides
        - name
        - project
      title: V1EnvironmentDocumentResponse
    V1EnvironmentDocumentResponseFeature:
      description: 'Represents a Flagsmith feature, defined at project level.'
      type: object
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
        type:
          allOf:
            - $ref: '#/components/schemas/TypeD77Enum'
          title: Type
      required:
        - id
        - name
        - type
      title: Feature
    V1EnvironmentDocumentResponseFeatureSegment:
      description: Represents data specific to a segment feature override.
      type: object
      properties:
        priority:
          anyOf:
            - type: integer
            - type: 'null'
          title: Priority
      required:
        - priority
      title: FeatureSegment
    V1EnvironmentDocumentResponseFeatureState:
      description: 'Used to define the state of a feature for an environment, segment overrides, and identity overrides.'
      type: object
      properties:
        feature:
          $ref: '#/components/schemas/V1EnvironmentDocumentResponseFeature'
        enabled:
          type: boolean
          title: Enabled
        feature_state_value:
          anyOf:
            - type: integer
            - type: boolean
            - type: string
            - type: 'null'
          title: Feature State Value
        featurestate_uuid:
          type: string
          format: uuid
          title: Featurestate Uuid
        feature_segment:
          anyOf:
            - $ref: '#/components/schemas/V1EnvironmentDocumentResponseFeatureSegment'
            - type: 'null'
        multivariate_feature_state_values:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseMultivariateFeatureStateValue'
          title: Multivariate Feature State Values
      required:
        - feature
        - enabled
        - feature_state_value
        - featurestate_uuid
        - feature_segment
        - multivariate_feature_state_values
      title: FeatureState
    V1EnvironmentDocumentResponseIdentityOverride:
      description: 'Represents an identity override, defining feature states specific to an identity.'
      type: object
      properties:
        identifier:
          type: string
          title: Identifier
        identity_features:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseFeatureState'
          title: Identity Features
      required:
        - identifier
        - identity_features
      title: IdentityOverride
    V1EnvironmentDocumentResponseMultivariateFeatureOption:
      description: Represents a single multivariate feature option in the Flagsmith UI.
      type: object
      properties:
        value:
          type: string
          title: Value
      required:
        - value
      title: MultivariateFeatureOption
    V1EnvironmentDocumentResponseMultivariateFeatureStateValue:
      description: Represents a multivariate feature state value.
      type: object
      properties:
        id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Id
        mv_fs_value_uuid:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Mv Fs Value Uuid
        percentage_allocation:
          type: number
          title: Percentage Allocation
        multivariate_feature_option:
          $ref: '#/components/schemas/V1EnvironmentDocumentResponseMultivariateFeatureOption'
      required:
        - id
        - mv_fs_value_uuid
        - percentage_allocation
        - multivariate_feature_option
      title: MultivariateFeatureStateValue
    V1EnvironmentDocumentResponseProject:
      description: 'Represents a Flagsmith project. For SDKs, this is mainly used to convey segment data.'
      type: object
      properties:
        segments:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseSegment'
          title: Segments
      required:
        - segments
      title: Project
    V1EnvironmentDocumentResponseSegment:
      description: Represents a Flagsmith segment. Carries rules and feature overrides.
      type: object
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
        rules:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseSegmentRule'
          title: Rules
        feature_states:
          type: array
          items:
            $ref: '#/components/schemas/V1EnvironmentDocumentResponseFeatureState'
          title: Feature States
      required:
        - id
        - name
        - rules
      title: Segment
    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
    V1IdentitiesRequest:
      description: |-
        `/api/v1/identities/` request.

        Used to retrieve flags for an identity and store its traits.
      type: object
      properties:
        identifier:
          type: string
          title: Identifier
        traits:
          anyOf:
            - items:
                $ref: '#/components/schemas/V1IdentitiesRequestTraitInput'
              type: array
            - type: 'null'
          title: Traits
        transient:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Transient
      required:
        - identifier
      title: V1IdentitiesRequest
    V1IdentitiesRequestTraitInput:
      description: Represents a key-value pair trait provided as input when creating or updating an identity.
      type: object
      properties:
        trait_key:
          type: string
          title: Trait Key
        trait_value:
          anyOf:
            - type: integer
            - type: number
            - type: boolean
            - type: string
            - type: 'null'
          title: Trait Value
        transient:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Transient
      required:
        - trait_key
        - trait_value
      title: TraitInput
    V1IdentitiesResponse:
      description: |-
        `/api/v1/identities/` response.

        Represents the identity created or updated, along with its flags.
      type: object
      properties:
        identifier:
          type: string
          title: Identifier
        flags:
          type: array
          items:
            $ref: '#/components/schemas/V1IdentitiesResponseV1Flag'
          title: Flags
        traits:
          type: array
          items:
            $ref: '#/components/schemas/V1IdentitiesResponseTrait'
          title: Traits
      required:
        - identifier
        - flags
        - traits
      title: V1IdentitiesResponse
    V1IdentitiesResponseFeature:
      description: 'Represents a Flagsmith feature, defined at project level.'
      type: object
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
        type:
          allOf:
            - $ref: '#/components/schemas/TypeD77Enum'
          title: Type
      required:
        - id
        - name
        - type
      title: Feature
    V1IdentitiesResponseTrait:
      description: Represents a key-value pair associated with an identity.
      type: object
      properties:
        trait_key:
          type: string
          title: Trait Key
        trait_value:
          anyOf:
            - type: integer
            - type: number
            - type: boolean
            - type: string
            - type: 'null'
          title: Trait Value
      required:
        - trait_key
        - trait_value
      title: Trait
    V1IdentitiesResponseV1Flag:
      description: Represents a single flag (feature state) returned by the Flagsmith SDK.
      type: object
      properties:
        feature:
          $ref: '#/components/schemas/V1IdentitiesResponseFeature'
        enabled:
          type: boolean
          title: Enabled
        feature_state_value:
          anyOf:
            - type: integer
            - type: boolean
            - type: string
            - type: 'null'
          title: Feature State Value
      required:
        - feature
        - enabled
        - feature_state_value
      title: V1Flag
    ValueTypeEnum:
      description: |-
        * `int` - Integer
        * `unicode` - String
        * `bool` - Boolean
        * `float` - Float
      type: string
      enum:
        - int
        - unicode
        - bool
        - float
    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
          items: {}
        feature_states_to_create:
          description: List of feature states to create as part of this change.
          type: array
          items: {}
        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
    WarehouseConnection:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        warehouse_type:
          $ref: '#/components/schemas/WarehouseTypeEnum'
        status:
          allOf:
            - $ref: '#/components/schemas/WarehouseConnectionStatusEnum'
          readOnly: true
        status_detail:
          type:
            - string
            - 'null'
          readOnly: true
        name:
          type: string
          maxLength: 255
        config:
          oneOf:
            - {}
            - type: 'null'
        credentials:
          oneOf:
            - {}
            - type: 'null'
          writeOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        total_events_received:
          type:
            - integer
            - 'null'
          readOnly: true
        unique_events_count:
          type:
            - integer
            - 'null'
          readOnly: true
      required:
        - warehouse_type
    WarehouseConnectionStatusEnum:
      description: |-
        * `created` - Created
        * `pending_connection` - Pending Connection
        * `connected` - Connected
        * `errored` - Errored
      type: string
      enum:
        - created
        - pending_connection
        - connected
        - errored
    WarehouseConnectionTestResult:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/WarehouseConnectionStatusEnum'
        status_detail:
          type:
            - string
            - 'null'
      required:
        - status
        - status_detail
    WarehouseEventNamesResult:
      type: object
      properties:
        events:
          type: array
          items:
            type: string
        is_truncated:
          type: boolean
      required:
        - events
        - is_truncated
    WarehouseEventNamesUnavailable:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    WarehouseEventNamesUnsupported:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    WarehouseTypeEnum:
      description: |-
        * `flagsmith` - Flagsmith
        * `snowflake` - Snowflake
        * `clickhouse` - ClickHouse
      type: string
      enum:
        - flagsmith
        - snowflake
        - clickhouse
    Webhook:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        enabled:
          type: boolean
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        secret:
          type: string
          maxLength: 255
      required:
        - url
    WebhookConfiguration:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        url:
          type: string
          format: uri
          maxLength: 200
        secret:
          type: string
          maxLength: 255
      required:
        - url
    WebhookScopeTypeEnum:
      description: |-
        * `organisation` - organisation
        * `environment` - environment
      type: string
      enum:
        - organisation
        - environment
    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
    _CodeReferenceSubmit:
      type: object
      properties:
        file_path:
          type: string
          maxLength: 4096
        line_number:
          type: integer
          minimum: 1
        feature_name:
          type: string
          maxLength: 100
      required:
        - feature_name
        - file_path
        - line_number
    _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'
    _Identity:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        identifier:
          type: string
          maxLength: 2000
      required:
        - identifier
    _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. <a href=''https://docs.flagsmith.com/clients/rest#public-api-endpoints''>Find out more</a>.'
    Master API Key:
      type: apiKey
      in: header
      name: Authorization
      description: 'For Admin API endpoints. <a href=''https://docs.flagsmith.com/clients/rest#private-api-endpoints''>Find out more</a>.'
    basicAuth:
      type: http
      scheme: basic
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
tags:
  - name: Authentication
    description: 'Authentication, MFA, OAuth, and token management.'
  - name: Organisations
    description: 'Manage organisations, users, groups, invites, and API keys.'
  - name: Projects
    description: 'Manage projects, tags, and imports/exports.'
  - name: Environments
    description: 'Manage environments, API keys, and metrics.'
  - name: Features
    description: Manage features and multivariate options.
  - name: Feature states
    description: Manage feature states and feature versioning.
  - name: Identities
    description: Manage identities and traits.
  - name: Segments
    description: Manage segments and segment rules.
  - name: Integrations
    description: 'Configure third-party integrations (Amplitude, DataDog, Slack, etc.).'
  - name: Permissions
    description: 'Manage user and group permissions across organisations, projects, and environments.'
  - name: Webhooks
    description: Manage webhooks for organisations and environments.
  - name: Audit
    description: Access audit logs.
  - name: Analytics
    description: SDK analytics and telemetry.
  - name: Metadata
    description: Manage metadata fields and model configuration.
  - name: Onboarding
    description: Onboarding flows.
  - name: Admin dashboard
    description: Platform hub admin dashboard endpoints.
  - name: sdk
    description: 'SDK endpoints for flags, identities, and traits.'
  - name: mcp
    description: MCP-compatible endpoints.
  - name: experimental
    description: Experimental endpoints subject to change.
  - name: Other
    description: Other endpoints.
$schema: 'https://spec.openapis.org/oas/3.1/dialect/base'