---
components:
  schemas:
    httpproxy.azureEventGridSinkConfig:
      properties:
        access_key:
          examples:
            - key123
          maxLength: 1024
          minLength: 1
          type: string
        display_name:
          type: string
        last_error:
          type: string
        topic_endpoint:
          examples:
            - "https://example.azure.com"
          maxLength: 1024
          minLength: 1
          type: string
      required:
        - topic_endpoint
        - access_key
      type: object
    httpproxy.azureServiceBusSinkConfig:
      properties:
        connection_string:
          examples:
            - "sb://my-test-service-bus.service"
          maxLength: 1024
          minLength: 1
          type: string
        display_name:
          type: string
        last_error:
          type: string
        queue_or_topic_name:
          examples:
            - my-test-service-bus-queue
          maxLength: 1024
          minLength: 1
          type: string
      required:
        - connection_string
        - queue_or_topic_name
      type: object
    httpproxy.claim:
      properties:
        selector:
          description: "Selector is JSON selector of property in token claims. Currently just name in top-level object is supported.\n\nBy default we support all standard claims from OpenID specification\nhttps://openid.net/specs/openid-connect-core-1_0.html#StandardClaims,\nand mapping will fail if claim and data type will not match the standard.\n\nFor non-standard claims the type will be derived from the JSON."
          maxLength: 200
          minLength: 1
          type: string
      required:
        - selector
      type: object
    httpproxy.createAppAgentCredentialRequest:
      properties:
        application_agent_id:
          description: "ApplicationAgentID is identifier of Application Agent, to which the credential will be registered."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        expire_time:
          description: "ExpireTime specify when configuration will expire. If present, must be in RFC3339 format."
          type: string
      required:
        - application_agent_id
      type: object
    httpproxy.createAppAgentCredentialResponse:
      properties:
        application_agent_config:
          description: "ApplicationAgentConfig is JSON configuration of created credential."
          type: object
        application_agent_id:
          description: "ApplicationAgentID is identifier of Application Agent, to which the credential was registered."
          type: string
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          type: string
        expire_time:
          description: "ExpireTime specify when configuration will expire."
          type: string
        id:
          description: "ID is globally unique identifier of created configuration."
          type: string
        kid:
          description: "Kid is key identifier of created configuration."
          type: string
      type: object
    httpproxy.createAppAgentRequest:
      properties:
        api_permissions:
          description: "APIPermissions is a list of API permissions for the agent.\nThe agent will only be able to access the APIs specified in this list."
          items:
            enum:
              - Authorization
              - Capture
              - ContXIQ
              - EntityMatching
              - IKGRead
              - ReadDataSchema
            type: string
          minItems: 1
          type: array
        application_id:
          description: "ApplicationID is identifier of Application, for which agent should be created. Must be in GID format."
          type: string
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
      required:
        - name
        - application_id
        - api_permissions
      type: object
    httpproxy.createApplicationRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
      required:
        - name
        - project_id
      type: object
    httpproxy.createAuthorizationPolicyRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        policy:
          description: "Policy is required to be valid JSON format of policy. Format differs based on policy type."
          maxLength: 512000
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        status:
          description: "Status of policy specify whenever it is active or not. If status is DRAFT, it is possible to save invalid policy."
          enum:
            - ACTIVE
            - INACTIVE
            - DRAFT
          type: string
        tags:
          items:
            maxLength: 20
            minLength: 1
            type: string
          type: array
      required:
        - name
        - project_id
        - policy
        - status
      type: object
    httpproxy.createCapturePipelineRequest:
      properties:
        app_agent_token:
          description: "AppAgentToken is the JWT token for the app agent."
          minLength: 1
          type: string
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
      required:
        - name
        - project_id
        - app_agent_token
      type: object
    httpproxy.createCapturePipelineTopicRequest:
      properties:
        capture_pipeline_id:
          description: "CapturePipelineID is the ID of the capture pipeline this topic belongs to."
          type: string
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        script:
          description: "Script is the CEL script for capture pipeline topic."
          type: string
      required:
        - name
        - project_id
        - capture_pipeline_id
      type: object
    httpproxy.createConfigOnOrganizationLevel:
      properties:
        organization_id:
          description: "OrganizationID is identifier of Organization, formerly known as Customer,\nwhere to place this new configuration object. Must be in GID format."
          type: string
      required:
        - organization_id
      type: object
    httpproxy.createConfigOnProjectLevel:
      properties:
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
      required:
        - project_id
      type: object
    httpproxy.createConfigRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
      required:
        - name
      type: object
    httpproxy.createConfigResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        id:
          description: "ID is globally unique identifier of created configuration."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.createEntityMatchingPipelineRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        node_filter:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.entityMatchingPipelineNodeFilter"
          description: "NodeFilter contain a list of source types and a list target node types that will be evaluated."
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        rerun_interval:
          description: "RerunInterval is the time between scheduled re-runs (currently not supported)."
          type: string
        similarity_score_cutoff:
          description: "SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched."
          format: float
          maximum: 1
          minimum: 0
          type: number
      required:
        - name
        - project_id
        - node_filter
        - similarity_score_cutoff
      type: object
    httpproxy.createEventSinkRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        include_cdc_events:
          description: "IncludeCDCEvents when true, CDC events will be emitted to this event sink."
          type: boolean
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        providers:
          additionalProperties:
            "$ref": "#/components/schemas/httpproxy.eventSinkProvider"
          description: "Providers contains the list of supported providers, that are referenced by the Routes."
          type: object
        routes:
          description: "Routes contains the list of routes to properly route the events to the providers by sequential evaluation model."
          items:
            "$ref": "#/components/schemas/httpproxy.eventSinkRoute"
          minItems: 1
          type: array
      required:
        - name
        - project_id
        - providers
        - routes
      type: object
    httpproxy.createExternalDataResolverRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          description: "Headers to be sent with the request, including authorization if needed.\nBe aware that Content-Type is overridden based on request_content_type and Accept by response_content_type."
          type: object
        method:
          description: "Method specify HTTP method to be used for the request."
          enum:
            - GET
            - POST
            - PUT
            - PATCH
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        request_content_type:
          description: "RequestContentType specify format of request body payload and how to set Content-Type header.\nIf content-type header is set by Headers, that header will be overridden."
          enum:
            - JSON
          type: string
        request_payload:
          description: "RequestPayload to be sent to the endpoint. It should be in proper format based on request type.\nIt is going through the template builder to be properly formatted and filled with data."
          type: string
        response_content_type:
          description: "ResponseContentType specify expected Content-Type header of response. If mismatch with real response, it will fail.\nThis also sets Accept header in request. If Accept header is set by Headers, that header will be overridden."
          enum:
            - JSON
          type: string
        response_selector:
          description: "ResponseSelector specify selector to extract data from response.\nShould be in requested format based on Response Type."
          maxLength: 255
          minLength: 1
          type: string
        url:
          description: "URL specify full path to endpoint that will be called."
          type: string
      required:
        - name
        - project_id
        - url
        - method
        - request_content_type
        - response_content_type
        - response_selector
      type: object
    httpproxy.createKnowledgeQueryRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        policy_id:
          description: "PolicyID is gid formatted ID of the authorization policy that is used to authorize access to queried data."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        query:
          description: "Query is required to be valid JSON format of knowledge query, unless status is DRAFT."
          maxLength: 512000
          type: string
        status:
          description: "Status of query specify whenever it is active or not. If status is DRAFT, it is possible to save invalid query."
          enum:
            - ACTIVE
            - INACTIVE
            - DRAFT
          type: string
      required:
        - name
        - project_id
        - query
        - status
        - policy_id
      type: object
    httpproxy.createMCPServerRequest:
      properties:
        app_agent_id:
          description: "AppAgentID is the ID of the app agent in GID format"
          type: string
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        enabled:
          description: "Enabled indicates if the MCP server is enabled"
          type: boolean
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        scopes_supported:
          description: "ScopesSupported is the list of OAuth scopes supported by the MCP server"
          items:
            minLength: 1
            type: string
          minItems: 1
          type: array
        token_introspect_id:
          description: "TokenIntrospectID is the ID of the token introspect in GID format"
          type: string
      required:
        - name
        - project_id
        - enabled
        - app_agent_id
        - token_introspect_id
        - scopes_supported
      type: object
    httpproxy.createProjectRequest:
      properties:
        db_connection:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.dbConnection"
            - type: "null"
          description: "Database connection information for self hosted database."
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        ikg_size:
          description: "IKG size that will be allocated, which corresponds also to amount of CPU nodes.\nDefaults to the first value in the ops-configured allowed list when omitted.\nValid values are defined by the ops configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        organization_id:
          description: "OrganizationID is identifier of Organization, formerly known as Customer,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        region:
          description: "Region is the control-plane region for this Project. Valid values are defined by the ops configuration."
          type: string
        replica_region:
          description: "Replica region specify where the second IKG is created.\n\nThis will turn on multi region with synchronization from master into that replica.\nReplica must be a different region than the master. Depending on environment configuration,\nthe replica may also be required to be in the same geographical continent as the main region.\nValid values are defined by the ops configuration."
          type: string
      required:
        - name
        - organization_id
        - region
      type: object
    httpproxy.createSACredentialRequest:
      properties:
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        expire_time:
          description: "ExpireTime specify when configuration will expire. If present, must be in RFC3339 format."
          type: string
        service_account_id:
          description: "ServiceAccountID is identifier of Service Account, to which the credential will be registered."
          type: string
      required:
        - service_account_id
      type: object
    httpproxy.createSACredentialResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          type: string
        expire_time:
          description: "ExpireTime specify when configuration will expire."
          type: string
        id:
          description: "ID is globally unique identifier of created configuration."
          type: string
        kid:
          description: "Kid is key identifier of created configuration."
          type: string
        service_account_config:
          description: "ServiceAccountConfig is JSON configuration of created credential."
          type: object
        service_account_id:
          description: "ServiceAccountID is identifier of Service Account, to which the credential was registered."
          type: string
      type: object
    httpproxy.createServiceAccountRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        organization_id:
          description: "OrganizationID is identifier of Organization, formerly known as Customer,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        role:
          enum:
            - all_editor
            - all_viewer
          type: string
      required:
        - name
        - organization_id
        - role
      type: object
    httpproxy.createTokenIntrospectRequest:
      properties:
        claims_mapping:
          additionalProperties:
            "$ref": "#/components/schemas/httpproxy.claim"
          description: "ClaimsMapping specifies which claims from the token should be mapped to new names and name of property in IKG.\nBe aware, that this can override any existing claims, which might not be accessible anymore by internal services.\nAnd with the highest priority, there is mapping of sub claim to 'external_id'.\nSo you shouldn't ever use 'external_id' as a key.\n\nKey specifies the new name and also the name of the property in IKG.\nValue specifies which claim to map and how."
          type: object
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        ikg_node_type:
          description: "IkgNodeType is node type in IKG to which we will try to match sub claim with DT external_id."
          type: string
        jwt_matcher:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.jwtMatcher"
            - type: "null"
          description: "JwtMatcher specifies all attributes to match with received JWT token.\nOnly one of JwtMatcher or OpaqueMatcher can be specified."
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        offline_validation:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.offlineValidation"
            - type: "null"
          description: "OfflineValidation defines how to validate token signature locally, without reaching out to external services.\nOfflineValidation can be used only with JwtMatcher."
        online_validation:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.onlineValidation"
            - type: "null"
          description: "OnlineValidation works with both JWT and Opaque tokens.\nIt will call userinfo endpoint to validate token and fetch user claims."
        opaque_matcher:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.opaqueMatcher"
            - type: "null"
          description: "OpaqueMatcher specifies the configuration which is used for opaque tokens.\nOnly one of JwtMatcher or OpaqueMatcher can be specified."
        perform_upsert:
          description: "PerformUpsert specifies if we should create and/or update DigitalTwin in IKG if it doesn't exist.\nIn future this will perform upsert also on properties that are derived from token."
          type: boolean
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        sub_claim:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.claim"
            - type: "null"
          description: "SubClaim is used to match DigitalTwin with external_id. If not specified, standard 'sub' claim will be used.\nEither 'sub' or specified claim will then also be mapped to 'external_id' claim."
      required:
        - name
        - project_id
        - claims_mapping
        - ikg_node_type
      type: object
    httpproxy.createTrustScoreProfileRequest:
      properties:
        description:
          description: "Description is optional description of configuration."
          maxLength: 65000
          minLength: 2
          type: string
        dimensions:
          description: "Dimensions that will be used to calculate the trust score.\nThis field is required when creating a new profile and must contain at least one non-zero-weighted dimension."
          items:
            "$ref": "#/components/schemas/httpproxy.trustScoreProfileDimension"
          minItems: 1
          type: array
        display_name:
          description: "DisplayName is optional human readable name of configuration."
          maxLength: 254
          minLength: 2
          type: string
        name:
          description: "Name is URL friendly identifier of configuration, must be unique in scope of parent entity.\nAlso is immutable and cannot be changed later."
          type: string
        node_classification:
          description: "NodeClassification is a node label in PascalCase, cannot be modified once set.\nMust be specified during creation and can be omitted when updating."
          examples:
            - NodeType
          type: string
        project_id:
          description: "ProjectID is identifier of Project, formerly known as Application space,\nwhere to place this new configuration object. Must be in GID format."
          type: string
        schedule:
          description: "Schedule sets the time between re-calculations, must be one of the predefined intervals."
          enum:
            - THREE_HOURS
            - SIX_HOURS
            - TWELVE_HOURS
            - DAILY
          type: string
      required:
        - name
        - project_id
        - node_classification
        - schedule
        - dimensions
      type: object
    httpproxy.dbConnection:
      properties:
        alias_mapping:
          description: "Optional alias mapping for the database."
          type: string
        composite_db_name:
          description: "Optional composite database name."
          type: string
        name:
          description: "Optional name of the database."
          type: string
        password:
          description: "Password for database authentication - write only."
          type: string
        url:
          description: "Connection URL for the database."
          type: string
        username:
          description: "Username for database authentication."
          type: string
      required:
        - url
        - username
        - password
      type: object
    httpproxy.deleteConfigResponse:
      properties:
        id:
          description: "ID of deleted configuration."
          type: string
      type: object
    httpproxy.entityMatchingPipelineNodeFilter:
      properties:
        source_node_types:
          description: "SourceNodeTypes is the list of node types that will be compared to nodes in the TargetNodeTypes list.\nCurrently, only the first node type will be taken into consideration."
          items:
            type: string
          minItems: 1
          type: array
        target_node_types:
          description: "TargetNodeTypes is the list of node types that will be compared to nodes in the SourceNodeTypes list.\nCurrently, only the first node type will be taken into consideration."
          items:
            type: string
          minItems: 1
          type: array
      required:
        - source_node_types
        - target_node_types
      type: object
    httpproxy.entityMatchingPipelinePropertyMapping:
      properties:
        similarity_score_cutoff:
          description: "SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched."
          format: float
          type: number
        source_node_property:
          description: "TargetNodeType is the node's type that will be compared to nodes of SourceNodeType."
          type: string
        source_node_type:
          description: "SourceNodeType is the node's type that will be compared to nodes of TargetNodeType."
          type: string
        target_node_property:
          description: "TargetNodeProperty is a target node property that will be compared to SourceNodeProperty."
          type: string
        target_node_type:
          description: "SourceNodeProperty is a source node's property that will be compared to TargetNodeProperty."
          type: string
      type: object
    httpproxy.eventSinkFilterKeyValue:
      properties:
        key:
          examples:
            - key1
          minLength: 1
          type: string
        value:
          examples:
            - value1
          minLength: 1
          type: string
      required:
        - key
        - value
      type: object
    httpproxy.eventSinkProvider:
      properties:
        azure_event_grid:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.azureEventGridSinkConfig"
            - type: "null"
        azure_service_bus:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.azureServiceBusSinkConfig"
            - type: "null"
        kafka:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.kafkaSinkConfig"
            - type: "null"
        pubsub:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.pubSubSinkConfig"
            - type: "null"
      type: object
    httpproxy.eventSinkRoute:
      properties:
        display_name:
          type: string
        event_type_key_values_filter:
          "$ref": "#/components/schemas/httpproxy.eventSinkRouteEventKeyValuesFilter"
        provider_id:
          type: string
        stop_processing:
          type: boolean
      required:
        - event_type_key_values_filter
        - provider_id
      type: object
    httpproxy.eventSinkRouteEventKeyValuesFilter:
      properties:
        context_key_value:
          items:
            "$ref": "#/components/schemas/httpproxy.eventSinkFilterKeyValue"
          type: array
        event_type:
          examples:
            - indykite.audit.config.create
          minLength: 1
          type: string
      required:
        - event_type
      type: object
    httpproxy.jwtMatcher:
      properties:
        audience:
          description: "Audience is used to exact match based on `aud` claim in JWT."
          maxLength: 150
          minLength: 1
          type: string
        issuer:
          description: "Issuer is used to exact match based on `iss` claim in JWT."
          type: string
      required:
        - issuer
        - audience
      type: object
    httpproxy.kafkaSinkConfig:
      properties:
        brokers:
          items:
            minLength: 8
            type: string
          minItems: 1
          type: array
        disable_tls:
          description: "Brokers specify Kafka destinations to connect to.\nDisableTLS can force using non-secure connection."
          type: boolean
        display_name:
          type: string
        last_error:
          type: string
        password:
          examples:
            - password123
          type: string
        tls_skip_verify:
          description: "TLSSkipVerify defines whenever not to verify TLS certificate. Ignored if TLS is disabled."
          type: boolean
        topic:
          examples:
            - my-topic
          maxLength: 249
          minLength: 1
          type: string
        username:
          examples:
            - user1
          type: string
      required:
        - topic
        - brokers
      type: object
    httpproxy.listConfigResponse-httpproxy_readAppAgentCredentialResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readAppAgentCredentialResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readAppAgentResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readAppAgentResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readApplicationResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readApplicationResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readAuthorizationPolicyResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readAuthorizationPolicyResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readCapturePipelineResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readCapturePipelineResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readCapturePipelineTopicResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readCapturePipelineTopicResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readConfigResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readConfigResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readEntityMatchingPipelineResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readEntityMatchingPipelineResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readEventSinkResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readEventSinkResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readExternalDataResolverResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readExternalDataResolverResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readKnowledgeQueryResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readKnowledgeQueryResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readMCPServerResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readMCPServerResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readProjectResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readProjectResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readSACredentialResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readSACredentialResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readTokenIntrospectResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readTokenIntrospectResponse"
          type: array
      type: object
    httpproxy.listConfigResponse-httpproxy_readTrustScoreProfileResponse:
      properties:
        data:
          items:
            "$ref": "#/components/schemas/httpproxy.readTrustScoreProfileResponse"
          type: array
      type: object
    httpproxy.offlineValidation:
      properties:
        public_jwks:
          description: "PublicJWKs are public JWK to validate signature of JWT.\nIf there are no public keys specified, they will be fetched and cached from\njwks_uri at https://jwt-issuer.tld/.well-known/openid-configuration"
          items:
            maxLength: 8192
            minLength: 96
            type: string
          maxItems: 10
          type: array
      type: object
    httpproxy.onlineValidation:
      properties:
        cache_ttl:
          description: "CacheTTL of token validity can be used to minimize calls to userinfo endpoint. Value is in seconds.\nThe final cache TTL will be set to lower limit of this value and exp claim of JWT token.\nIf not set, token will not be cached and call to userinfo endpoint will be made on every request.\n\nHowever, token validity will be checked first if possible (JWT tokens).\nIf token is expired, userinfo endpoint will not be called, nor cache checked."
          format: int64
          maximum: 3600
          type: integer
        userinfo_endpoint:
          description: "UserinfoEndpoint is URI of userinfo endpoint which will be used to validate access token.\nAnd also fetch user claims when opaque token is received.\n\nIt can remain empty, if JWT token matcher is used.\nThen the URI under \"userinfo_endpoint\" in .well-known/openid-configuration endpoint is used."
          type: string
      type: object
    httpproxy.opaqueMatcher:
      properties:
        hint:
          description: "Hint is case sensitive plain text, that is expected to be provided in token introspect request,\nif there are multiple opaque tokens configurations.\nTo differentiate between multiple opaque tokens configurations, hint must be provided."
          maxLength: 50
          minLength: 1
          type: string
      required:
        - hint
      type: object
    httpproxy.pubSubSinkConfig:
      properties:
        credentials_json:
          examples:
            - "{\"type\":\"service_account\",...}"
          maxLength: 10240
          minLength: 1
          type: string
        display_name:
          type: string
        last_error:
          type: string
        project_id:
          examples:
            - my-gcp-project
          maxLength: 30
          minLength: 6
          type: string
        topic_name:
          examples:
            - my-pubsub-topic
          maxLength: 255
          minLength: 3
          type: string
      required:
        - project_id
        - topic_name
        - credentials_json
      type: object
    httpproxy.readAppAgentCredentialResponse:
      properties:
        application_agent_id:
          description: "ApplicationAgentID is globally unique identifier of Application agent,\nto which Application agent credential was created."
          type: string
        application_id:
          description: "ApplicationID is globally unique identifier of application,\nunder which Application agent credential was created."
          type: string
        create_time:
          description: "CreateTime specify when Application agent credential was registered."
          type: string
        created_by:
          description: "CreatedBy specify who created Application agent credential."
          type: string
        display_name:
          description: "DisplayName is human readable name of Application agent credential."
          type: string
        expire_time:
          description: "ExpireTime specify when Application agent credential will expire."
          type: string
        id:
          description: "ID is globally unique identifier of Application agent credential."
          type: string
        kid:
          description: "Kid is public key ID."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which Application agent credential was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which Application agent credential was created."
          type: string
      type: object
    httpproxy.readAppAgentResponse:
      properties:
        api_permissions:
          description: "APIPermissions is a list of API permissions for the agent.\nThe agent will only be able to access the APIs specified in this list."
          items:
            type: string
          type: array
        application_id:
          description: "ApplicationID is identifier of Application, for which agent was created."
          type: string
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readApplicationResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readAuthorizationPolicyResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        policy:
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        status:
          type: string
        tags:
          items:
            type: string
          type: array
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readCapturePipelineResponse:
      properties:
        api_key_id:
          type: string
        api_key_secret:
          type: string
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readCapturePipelineTopicResponse:
      properties:
        capture_pipeline_id:
          type: string
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        script:
          type: string
        topic_error_name:
          type: string
        topic_input_endpoint:
          type: string
        topic_input_name:
          type: string
        topic_success_name:
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readConfigResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readEntityMatchingPipelineResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        entity_matching_message:
          description: "Any error message from the entity matching analysis explaining the current entity_matching_status."
          type: string
        entity_matching_status:
          description: "EntityMatchingStatus is the status assigned to the pipeline's step that matches node entities."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        last_run_time:
          description: "LastRunTime is the time when the pipeline was last run."
          type: string
        matched_entities:
          description: "MatchedEntities is the number of entities the pipeline has matched in its last run."
          format: int64
          type: integer
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        node_filter:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.entityMatchingPipelineNodeFilter"
            - type: "null"
          description: "NodeFilter contain a list of source types and a list target node types that will be evaluated."
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        property_mapping_message:
          description: "Any error message from the property mapping analysis explaining the current property_mapping_status."
          type: string
        property_mapping_status:
          description: "PropertyMappingStatus is the status assigned to the pipeline's step that maps node types' properties."
          type: string
        property_mappings:
          description: "PropertyMappings contains the rules the pipeline will use to match source nodes with target nodes."
          items:
            "$ref": "#/components/schemas/httpproxy.entityMatchingPipelinePropertyMapping"
          type: array
        report_type:
          description: "ReportType indicates the format in which the report is stored."
          type: string
        report_url:
          description: "ReportURL points to where the analysis report is stored."
          type: string
        rerun_interval:
          description: "RerunInterval is the time between scheduled re-runs (currently not supported)."
          type: string
        similarity_score_cutoff:
          description: "SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched."
          format: float
          type: number
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readEventSinkResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        include_cdc_events:
          type: boolean
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        providers:
          additionalProperties:
            "$ref": "#/components/schemas/httpproxy.eventSinkProvider"
          type: object
        routes:
          items:
            "$ref": "#/components/schemas/httpproxy.eventSinkRoute"
          type: array
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readExternalDataResolverResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        method:
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        request_content_type:
          type: string
        request_payload:
          type: string
        response_content_type:
          type: string
        response_selector:
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
        url:
          type: string
      type: object
    httpproxy.readKnowledgeQueryResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        policy_id:
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        query:
          type: string
        status:
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readMCPServerResponse:
      properties:
        app_agent_id:
          description: "AppAgentID is the ID of the app agent in GID format"
          type: string
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        enabled:
          description: "Enabled indicates if the MCP server is enabled"
          type: boolean
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        scopes_supported:
          description: "ScopesSupported is the list of OAuth scopes supported by the MCP server"
          items:
            type: string
          type: array
        token_introspect_id:
          description: "TokenIntrospectID is the ID of the token introspect in GID format"
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readOrganizationResponse:
      properties:
        create_time:
          description: "CreateTime specify when organization was created."
          type: string
        created_by:
          description: "CreatedBy specify who created organization."
          type: string
        description:
          description: "Description is optional description of organization."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of organization. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of organization."
          type: string
        name:
          description: "Name is URL friendly identifier of organization."
          type: string
        update_time:
          description: "UpdateTime specify when organization was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated organization."
          type: string
      type: object
    httpproxy.readProjectResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        db_connection:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.dbConnection"
            - type: "null"
          description: "Database connection information for self hosted database.\nPassword is never returned back during read operation."
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        ikg_size:
          description: "IKG Size that is allocated, with corresponding amount of CPU nodes.\n\n2GB (1 CPU), 4GB (1 CPU), 8GB (2 CPUs), 16GB (3 CPUs), 32GB (6 CPUs), 64GB (12 CPUs),\n128GB (24 CPUs), 192GB (36 CPUs), 256GB (48 CPUs), 384GB (82 CPUs), and 512GB (96 CPUs)."
          type: string
        ikg_status:
          description: "IkgStatus is status of the IKG DB instance behind the project."
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        region:
          description: "Region specify where the IKG and other data are stored."
          type: string
        replica_region:
          description: "Replica region specify where the second IKG with synchronization is created, if any."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readSACredentialResponse:
      properties:
        create_time:
          description: "CreateTime specify when service account credential was registered."
          type: string
        created_by:
          description: "CreatedBy specify who created service account credential."
          type: string
        display_name:
          description: "DisplayName is human readable name of service account credential."
          type: string
        expire_time:
          description: "ExpireTime specify when service account credential will expire."
          type: string
        id:
          description: "ID is globally unique identifier of service account credential."
          type: string
        kid:
          description: "Kid is public key ID."
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which service account credential was created."
          type: string
        service_account_id:
          description: "ServiceAccountID is globally unique identifier of service account,\nunder which service account credential was created."
          type: string
      type: object
    httpproxy.readTokenIntrospectResponse:
      properties:
        claims_mapping:
          additionalProperties:
            "$ref": "#/components/schemas/httpproxy.claim"
          type: object
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        ikg_node_type:
          type: string
        jwt_matcher:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.jwtMatcher"
            - type: "null"
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        offline_validation:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.offlineValidation"
            - type: "null"
        online_validation:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.onlineValidation"
            - type: "null"
        opaque_matcher:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.opaqueMatcher"
            - type: "null"
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        perform_upsert:
          type: boolean
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        sub_claim:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.claim"
            - type: "null"
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.readTrustScoreProfileResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        description:
          description: "Description is optional description of configuration."
          type: string
        dimensions:
          items:
            "$ref": "#/components/schemas/httpproxy.trustScoreProfileDimension"
          type: array
        dimensions_execution_times:
          additionalProperties:
            anyOf:
              - "$ref": "#/components/schemas/httpproxy.trustScoreExecutionWindow"
              - type: "null"
          type: object
        display_name:
          description: "DisplayName is optional human readable name of configuration. Is equal to Name if not set."
          type: string
        id:
          description: "ID is globally unique identifier of configuration."
          type: string
        last_run_end_time:
          type: string
        last_run_id:
          type: string
        last_run_start_time:
          type: string
        name:
          description: "Name is URL friendly identifier of configuration."
          type: string
        node_classification:
          type: string
        organization_id:
          description: "OrganizationID is globally unique identifier of organization, formerly known as customer,\nunder which configuration was created."
          type: string
        project_id:
          description: "ProjectID is globally unique identifier of project, formerly known as application space,\nunder which configuration was created.\nMight be empty, if configuration is created directly under organization."
          type: string
        schedule:
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.trustScoreExecutionWindow:
      properties:
        execution_end_time:
          type: string
        execution_start_time:
          type: string
      type: object
    httpproxy.trustScoreProfileDimension:
      properties:
        name:
          description: "Name of the trust score dimension, must be one of the predefined names, cannot be modified once set."
          enum:
            - FRESHNESS
            - COMPLETENESS
            - VALIDITY
            - ORIGIN
            - VERIFICATION
          type: string
        weight:
          description: "Weight represents how relevant the dimension is in the trust score calculation.\nSetting it to zero, means the dimension is disabled."
          format: float
          maximum: 1
          minimum: 0
          type: number
      required:
        - name
        - weight
      type: object
    httpproxy.updateAppAgentRequest:
      properties:
        api_permissions:
          description: "APIPermissions is a list of API permissions for the agent.\nThe agent will only be able to access the APIs specified in this list."
          items:
            enum:
              - Authorization
              - Capture
              - ContXIQ
              - EntityMatching
              - IKGRead
              - ReadDataSchema
            type: string
          minItems: 1
          type: array
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
      type: object
    httpproxy.updateApplicationRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
      type: object
    httpproxy.updateAuthorizationPolicyRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        policy:
          description: "Policy is required to be valid JSON format of policy. Format differs based on policy type."
          maxLength: 512000
          type: string
        status:
          description: "Status of policy specify whenever it is active or not. If status is DRAFT, it is possible to save invalid policy."
          enum:
            - ACTIVE
            - INACTIVE
            - DRAFT
          type: string
        tags:
          items:
            maxLength: 20
            minLength: 1
            type: string
          type: array
      required:
        - policy
        - status
      type: object
    httpproxy.updateConfigRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
      type: object
    httpproxy.updateConfigResponse:
      properties:
        create_time:
          description: "CreateTime specify when configuration was created."
          type: string
        created_by:
          description: "CreatedBy specify who created configuration."
          type: string
        id:
          description: "ID of configuration to update."
          type: string
        update_time:
          description: "UpdateTime specify when configuration was last time updated."
          type: string
        updated_by:
          description: "UpdatedBy specify who last time updated configuration."
          type: string
      type: object
    httpproxy.updateEntityMatchingPipelineRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        rerun_interval:
          description: "RerunInterval is the time between scheduled re-runs (currently not supported)."
          type: string
        similarity_score_cutoff:
          description: "SimilarityScoreCutoff defines the threshold (in range [0,1]), above which entities will be automatically matched."
          format: float
          maximum: 1
          minimum: 0
          type: number
      type: object
    httpproxy.updateEventSinkRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        include_cdc_events:
          description: "IncludeCDCEvents when true, CDC events will be emitted to this event sink."
          type: boolean
        providers:
          additionalProperties:
            "$ref": "#/components/schemas/httpproxy.eventSinkProvider"
          description: "Providers contains the list of supported providers, that are referenced by the Routes."
          type: object
        routes:
          description: "Routes contains the list of routes to properly route the events to the providers by sequential evaluation model."
          items:
            "$ref": "#/components/schemas/httpproxy.eventSinkRoute"
          minItems: 1
          type: array
      required:
        - providers
        - routes
      type: object
    httpproxy.updateExternalDataResolverRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        headers:
          additionalProperties:
            items:
              type: string
            type: array
          description: "Headers to be sent with the request, including authorization if needed.\nBe aware that Content-Type is overridden based on request_content_type and Accept by response_content_type."
          type: object
        method:
          description: "Method specify HTTP method to be used for the request."
          enum:
            - GET
            - POST
            - PUT
            - PATCH
          type: string
        request_content_type:
          description: "RequestContentType specify format of request body payload and how to set Content-Type header.\nIf content-type header is set by Headers, that header will be overridden."
          enum:
            - JSON
          type: string
        request_payload:
          description: "RequestPayload to be sent to the endpoint. It should be in proper format based on request type.\nIt is going through the template builder to be properly formatted and filled with data."
          type: string
        response_content_type:
          description: "ResponseContentType specify expected Content-Type header of response. If mismatch with real response, it will fail.\nThis also sets Accept header in request. If Accept header is set by Headers, that header will be overridden."
          enum:
            - JSON
          type: string
        response_selector:
          description: "ResponseSelector specify selector to extract data from response.\nShould be in requested format based on Response Type."
          maxLength: 255
          minLength: 1
          type: string
        url:
          description: "URL specify full path to endpoint that will be called."
          type: string
      required:
        - url
        - method
        - request_content_type
        - response_content_type
        - response_selector
      type: object
    httpproxy.updateKnowledgeQueryRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        policy_id:
          description: "PolicyID is gid formatted ID of the authorization policy that is used to authorize access to queried data."
          type: string
        query:
          description: "Query is required to be valid JSON format of query, unless status is DRAFT."
          maxLength: 512000
          type: string
        status:
          description: "Status of query specify whenever it is active or not. If status is DRAFT, it is possible to save invalid query."
          enum:
            - ACTIVE
            - INACTIVE
            - DRAFT
          type: string
      required:
        - query
        - status
        - policy_id
      type: object
    httpproxy.updateMCPServerRequest:
      properties:
        app_agent_id:
          description: "AppAgentID is the ID of the app agent in GID format"
          type: string
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        enabled:
          description: "Enabled indicates if the MCP server is enabled"
          type: boolean
        scopes_supported:
          description: "ScopesSupported is the list of OAuth scopes supported by the MCP server"
          items:
            minLength: 1
            type: string
          minItems: 1
          type: array
        token_introspect_id:
          description: "TokenIntrospectID is the ID of the token introspect in GID format"
          type: string
      required:
        - enabled
        - app_agent_id
        - token_introspect_id
        - scopes_supported
      type: object
    httpproxy.updateProjectRequest:
      properties:
        db_connection:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.dbConnection"
            - type: "null"
          description: "Database connection information for self hosted database."
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
      type: object
    httpproxy.updateServiceAccountRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
      type: object
    httpproxy.updateTokenIntrospectRequest:
      properties:
        claims_mapping:
          additionalProperties:
            "$ref": "#/components/schemas/httpproxy.claim"
          description: "ClaimsMapping specifies which claims from the token should be mapped to new names and name of property in IKG.\nBe aware, that this can override any existing claims, which might not be accessible anymore by internal services.\nAnd with the highest priority, there is mapping of sub claim to 'external_id'.\nSo you shouldn't ever use 'external_id' as a key.\n\nKey specifies the new name and also the name of the property in IKG.\nValue specifies which claim to map and how."
          type: object
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        ikg_node_type:
          description: "IkgNodeType is node type in IKG to which we will try to match sub claim with DT external_id."
          type: string
        jwt_matcher:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.jwtMatcher"
            - type: "null"
          description: "JwtMatcher specifies all attributes to match with received JWT token.\nOnly one of JwtMatcher or OpaqueMatcher can be specified."
        offline_validation:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.offlineValidation"
            - type: "null"
          description: "OfflineValidation defines how to validate token signature locally, without reaching out to external services.\nOfflineValidation can be used only with JwtMatcher."
        online_validation:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.onlineValidation"
            - type: "null"
          description: "OnlineValidation works with both JWT and Opaque tokens.\nIt will call userinfo endpoint to validate token and fetch user claims."
        opaque_matcher:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.opaqueMatcher"
            - type: "null"
          description: "OpaqueMatcher specifies the configuration which is used for opaque tokens.\nOnly one of JwtMatcher or OpaqueMatcher can be specified."
        perform_upsert:
          description: "PerformUpsert specifies if we should create and/or update DigitalTwin in IKG if it doesn't exist.\nIn future this will perform upsert also on properties that are derived from token."
          type: boolean
        sub_claim:
          anyOf:
            - "$ref": "#/components/schemas/httpproxy.claim"
            - type: "null"
          description: "SubClaim is used to match DigitalTwin with external_id. If not specified, standard 'sub' claim will be used.\nEither 'sub' or specified claim will then also be mapped to 'external_id' claim."
      required:
        - claims_mapping
        - ikg_node_type
      type: object
    httpproxy.updateTrustScoreProfileRequest:
      properties:
        description:
          description: "Description is optional description of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 65000
          type:
            - string
            - "null"
        dimensions:
          description: "Dimensions that will be used to calculate the trust score.\nIf this field is empty, it will be ignored. Otherwise, it will overwrite the current values."
          items:
            "$ref": "#/components/schemas/httpproxy.trustScoreProfileDimension"
          minItems: 1
          type: array
        display_name:
          description: "DisplayName is optional human readable name of configuration. When kept null, it is not changed.\nBut when set to empty string, it will be removed."
          maxLength: 254
          type:
            - string
            - "null"
        node_classification:
          description: "NodeClassification is a node label in PascalCase, cannot be modified once set.\nMust be specified during creation and can be omitted when updating."
          examples:
            - NodeType
          type: string
        schedule:
          description: "Schedule sets the time between re-calculations, must be one of the predefined intervals."
          enum:
            - THREE_HOURS
            - SIX_HOURS
            - TWELVE_HOURS
            - DAILY
          type: string
      type: object
    restapi.DetailedError:
      properties:
        errors:
          items:
            type: string
          type: array
        message:
          type: string
      type: object
    restapi.ErrorResponse:
      properties:
        message:
          examples:
            - "Internal Server Error"
          type: string
      type: object
  securitySchemes:
    BearerToken:
      bearerFormat: JWT
      description: "Bearer token generated from Service Account credentials."
      scheme: bearer
      type: http
info:
  description: "Config API supports CRUD operations on config objects."
  license:
    name: "Apache 2.0"
    url: "https://www.apache.org/licenses/LICENSE-2.0"
  title: "Config REST API"
  version: "1"
openapi: "3.2.0"
paths:
  /application-agent-credentials:
    get:
      description: "List Application Agent Credentials in provided Project with optional filtering."
      operationId: listApplicationAgentCredentials
      parameters:
        - description: "Project ID where to search for Application Agent credentials."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readAppAgentCredentialResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Application Agent Credentials"
      tags:
        - "Application Agent Credentials"
    post:
      description: "Register Application Agent credentials in provided Application Agent."
      operationId: registerApplicationAgentCredential
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createAppAgentCredentialRequest"
        description: "Register Application Agent credentials request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createAppAgentCredentialResponse"
          description: Created
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ApplicationAgent JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Register Application Agent credentials"
      tags:
        - "Application Agent Credentials"
  "/application-agent-credentials/{id}":
    delete:
      description: "Delete Application Agent Credential by provided ID."
      operationId: deleteApplicationAgentCredential
      parameters:
        - description: "Application Agent ID"
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ApplicationAgent JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Application Agent Credential"
      tags:
        - "Application Agent Credentials"
    get:
      description: "Read Application Agent Credential identified by provided ID."
      operationId: readApplicationAgentCredential
      parameters:
        - description: "Application Agent Credential ID"
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readAppAgentCredentialResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ApplicationAgent JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Application Agent Credential"
      tags:
        - "Application Agent Credentials"
  /application-agents:
    get:
      description: "List Application Agents in provided Project with optional filtering."
      operationId: listAppAgents
      parameters:
        - description: "Project ID where to search for Application Agents."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readAppAgentResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Application Agents"
      tags:
        - "Application Agents"
    post:
      description: "Create Application Agent for provider Application."
      operationId: createAppAgent
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createAppAgentRequest"
        description: "Create Application Agent request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Application Agent"
      tags:
        - "Application Agents"
  "/application-agents/{id}":
    delete:
      description: "Delete Application Agent by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteAppAgent
      parameters:
        - description: "Application Agent ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Application Agent"
      tags:
        - "Application Agents"
    get:
      description: "Read Application Agent identified by provided ID."
      operationId: readAppAgent
      parameters:
        - description: "Application Agent ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readAppAgentResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Application Agent"
      tags:
        - "Application Agents"
    put:
      description: "Update Application Agent identified by provided ID and optionally etag in If-Match header."
      operationId: updateAppAgent
      parameters:
        - description: "Application Agent ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateAppAgentRequest"
        description: "Update Application Agent request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Application Agent"
      tags:
        - "Application Agents"
  /applications:
    get:
      description: "List Applications in provided Project with optional filtering."
      operationId: listApplications
      parameters:
        - description: "Project ID where to search for Applications."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readApplicationResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Applications"
      tags:
        - Applications
    post:
      description: "Create Application in provided Project."
      operationId: createApplication
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createApplicationRequest"
        description: "Create Application request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Application"
      tags:
        - Applications
  "/applications/{id}":
    delete:
      description: "Delete Application, formerly known as Application space, by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteApplication
      parameters:
        - description: "Application ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Application"
      tags:
        - Applications
    get:
      description: "Read Application, formerly known as Application space, identified by provided ID."
      operationId: readApplication
      parameters:
        - description: "Application ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readApplicationResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Application"
      tags:
        - Applications
    put:
      description: "Update Application, formerly known as Application space, identified by provided ID and optionally etag in If-Match header."
      operationId: updateApplication
      parameters:
        - description: "Application ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateApplicationRequest"
        description: "Update Application request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Application"
      tags:
        - Applications
  /authorization-policies:
    get:
      description: "List Authorization Policies in provided Project with optional filtering."
      operationId: listAuthorizationPolicies
      parameters:
        - description: "Project ID where to search for Authorization Policies."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
        - description: "Type of policy to filter by, can be 'kbac' or 'ciq'."
          in: query
          name: type
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readAuthorizationPolicyResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Authorization Policies"
      tags:
        - "Authorization Policies"
    post:
      description: "Create Authorization Policy in provided Project."
      operationId: createAuthorizationPolicy
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createAuthorizationPolicyRequest"
        description: "Create Authorization Policy request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Authorization Policy"
      tags:
        - "Authorization Policies"
  "/authorization-policies/{id}":
    delete:
      description: "Delete Authorization Policy by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteAuthorizationPolicy
      parameters:
        - description: "Authorization Policy ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Authorization Policy"
      tags:
        - "Authorization Policies"
    get:
      description: "Read Authorization Policy identified by provided ID."
      operationId: readAuthorizationPolicy
      parameters:
        - description: "Authorization Policy ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readAuthorizationPolicyResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Authorization Policy"
      tags:
        - "Authorization Policies"
    put:
      description: "Update Authorization Policy identified by provided ID and optionally etag in If-Match header."
      operationId: updateAuthorizationPolicy
      parameters:
        - description: "Authorization Policy ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateAuthorizationPolicyRequest"
        description: "Update Authorization Policy request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Authorization Policy"
      tags:
        - "Authorization Policies"
  /capture-pipeline-topics:
    get:
      description: "List Capture Pipeline Topics in provided Project with optional filtering."
      operationId: listCapturePipelineTopics
      parameters:
        - description: "Project ID where to search for Capture Pipeline Topics."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readCapturePipelineTopicResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Capture Pipeline Topics"
      tags:
        - "Capture Pipeline Topics"
    post:
      description: "Create Capture Pipeline Topic in provided Project."
      operationId: createCapturePipelineTopic
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createCapturePipelineTopicRequest"
        description: "Create Capture Pipeline Topic request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Capture Pipeline Topic"
      tags:
        - "Capture Pipeline Topics"
  "/capture-pipeline-topics/{id}":
    delete:
      description: "Delete Capture Pipeline Topic by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteCapturePipelineTopic
      parameters:
        - description: "Capture Pipeline Topic ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Capture Pipeline Topic"
      tags:
        - "Capture Pipeline Topics"
    get:
      description: "Read Capture Pipeline Topic identified by provided ID."
      operationId: readCapturePipelineTopic
      parameters:
        - description: "Capture Pipeline Topic ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readCapturePipelineTopicResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Capture Pipeline Topic"
      tags:
        - "Capture Pipeline Topics"
  /capture-pipelines:
    get:
      description: "List Capture Pipelines in provided Project with optional filtering."
      operationId: listCapturePipelines
      parameters:
        - description: "Project ID where to search for Capture Pipelines."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readCapturePipelineResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Capture Pipelines"
      tags:
        - "Capture Pipelines"
    post:
      description: "Create Capture Pipeline in provided Project."
      operationId: createCapturePipeline
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createCapturePipelineRequest"
        description: "Create Capture Pipeline request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Capture Pipeline"
      tags:
        - "Capture Pipelines"
  "/capture-pipelines/{id}":
    delete:
      description: "Delete Capture Pipeline by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteCapturePipeline
      parameters:
        - description: "Capture Pipeline ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Capture Pipeline"
      tags:
        - "Capture Pipelines"
    get:
      description: "Read Capture Pipeline identified by provided ID."
      operationId: readCapturePipeline
      parameters:
        - description: "Capture Pipeline ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readCapturePipelineResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Capture Pipeline"
      tags:
        - "Capture Pipelines"
  /entity-matching-pipelines:
    get:
      description: "List Entity Matching Pipelines in provided Project with optional filtering."
      operationId: listEntityMatchingPipelines
      parameters:
        - description: "Project ID where to search for Entity Matching Pipelines."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readEntityMatchingPipelineResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Entity Matching Pipelines"
      tags:
        - "Entity Matching"
    post:
      description: "Create Entity Matching Pipeline in provided Project."
      operationId: createEntityMatchingPipeline
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createEntityMatchingPipelineRequest"
        description: "Create Entity Matching Pipeline request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Entity Matching Pipeline"
      tags:
        - "Entity Matching"
  "/entity-matching-pipelines/{id}":
    delete:
      description: "Delete Entity Matching Pipeline by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteEntityMatchingPipeline
      parameters:
        - description: "Entity Matching Pipeline ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Entity Matching Pipeline"
      tags:
        - "Entity Matching"
    get:
      description: "Read Entity Matching Pipeline identified by provided ID."
      operationId: readEntityMatchingPipeline
      parameters:
        - description: "Entity Matching Pipeline ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readEntityMatchingPipelineResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Entity Matching Pipeline"
      tags:
        - "Entity Matching"
    put:
      description: "Update Entity Matching Pipeline identified by provided ID and optionally etag in If-Match header."
      operationId: updateEntityMatchingPipeline
      parameters:
        - description: "Entity Matching Pipeline ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateEntityMatchingPipelineRequest"
        description: "Update Entity Matching Pipeline request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Entity Matching Pipeline"
      tags:
        - "Entity Matching"
  /event-sinks:
    get:
      description: "List Event Sinks in provided Project with optional filtering."
      operationId: listEventSinks
      parameters:
        - description: "Project ID where to search for Event Sinks."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readEventSinkResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Event Sinks"
      tags:
        - "Event Sinks"
    post:
      description: "Create Event Sink in provided Project."
      operationId: createEventSink
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createEventSinkRequest"
        description: "Create Event Sink request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Event Sink"
      tags:
        - "Event Sinks"
  "/event-sinks/{id}":
    delete:
      description: "Delete EventSink by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteEventSink
      parameters:
        - description: "EventSink ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete EventSink"
      tags:
        - "Event Sinks"
    get:
      description: "Read EventSink identified by provided ID."
      operationId: readEventSink
      parameters:
        - description: "EventSink ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readEventSinkResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read EventSink"
      tags:
        - "Event Sinks"
    put:
      description: "Update EventSink identified by provided ID and optionally etag in If-Match header."
      operationId: updateEventSink
      parameters:
        - description: "EventSink ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateEventSinkRequest"
        description: "Update EventSink request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update EventSink"
      tags:
        - "Event Sinks"
  /external-data-resolvers:
    get:
      description: "List External Data Resolvers in provided Project with optional filtering."
      operationId: listExternalDataResolvers
      parameters:
        - description: "Project ID where to search for External Data Resolvers."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readExternalDataResolverResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List External Data Resolvers"
      tags:
        - "External Data Resolver"
    post:
      description: "Create External Data Resolver in provided Project."
      operationId: createExternalDataResolver
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createExternalDataResolverRequest"
        description: "Create External Data Resolver request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create External Data Resolver"
      tags:
        - "External Data Resolver"
  "/external-data-resolvers/{id}":
    delete:
      description: "Delete External Data Resolver by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteExternalDataResolver
      parameters:
        - description: "External Data Resolver ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete External Data Resolver"
      tags:
        - "External Data Resolver"
    get:
      description: "Read External Data Resolver identified by provided ID."
      operationId: readExternalDataResolver
      parameters:
        - description: "External Data Resolver ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readExternalDataResolverResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read External Data Resolver"
      tags:
        - "External Data Resolver"
    put:
      description: "Update External Data Resolver identified by provided ID and optionally etag in If-Match header."
      operationId: updateExternalDataResolver
      parameters:
        - description: "External Data Resolver ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateExternalDataResolverRequest"
        description: "Update External Data Resolver request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update External Data Resolver"
      tags:
        - "External Data Resolver"
  /knowledge-queries:
    get:
      description: "List Knowledge Queries in provided Project with optional filtering."
      operationId: listKnowledgeQueries
      parameters:
        - description: "Project ID where to search for Knowledge Queries."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readKnowledgeQueryResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Knowledge Queries"
      tags:
        - "Knowledge Queries"
    post:
      description: "Create Knowledge Query in provided Project."
      operationId: createKnowledgeQuery
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createKnowledgeQueryRequest"
        description: "Create Knowledge Query request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Knowledge Query"
      tags:
        - "Knowledge Queries"
  "/knowledge-queries/{id}":
    delete:
      description: "Delete Knowledge Query by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteKnowledgeQuery
      parameters:
        - description: "Knowledge Query ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Knowledge Query"
      tags:
        - "Knowledge Queries"
    get:
      description: "Read Knowledge Query identified by provided ID."
      operationId: readKnowledgeQuery
      parameters:
        - description: "Knowledge Query ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readKnowledgeQueryResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Knowledge Query"
      tags:
        - "Knowledge Queries"
    put:
      description: "Update Knowledge Query identified by provided ID and optionally etag in If-Match header."
      operationId: updateKnowledgeQuery
      parameters:
        - description: "Knowledge Query ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateKnowledgeQueryRequest"
        description: "Update Knowledge Query request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Knowledge Query"
      tags:
        - "Knowledge Queries"
  /mcp-servers:
    get:
      description: "List all MCP Server configurations in a project"
      operationId: listMCPServers
      parameters:
        - description: "Project ID in GID format"
          in: query
          name: project_id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readMCPServerResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      security:
        - BearerToken: []
      summary: "List MCP Servers"
      tags:
        - "MCP Servers"
    post:
      description: "Create a new MCP Server configuration"
      operationId: createMCPServer
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createMCPServerRequest"
        description: "MCP Server configuration"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Conflict
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      security:
        - BearerToken: []
      summary: "Create MCP Server"
      tags:
        - "MCP Servers"
  "/mcp-servers/{id}":
    delete:
      description: "Delete an MCP Server configuration"
      operationId: deleteMCPServer
      parameters:
        - description: "MCP Server ID in GID format"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "ETag for optimistic concurrency control"
          in: query
          name: etag
          required: false
          schema:
            type: string
      responses:
        "204":
          description: "No Content"
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "409":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Conflict
        "412":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Precondition Failed"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      security:
        - BearerToken: []
      summary: "Delete MCP Server"
      tags:
        - "MCP Servers"
    get:
      description: "Read an MCP Server configuration by ID or name"
      operationId: readMCPServer
      parameters:
        - description: "MCP Server ID in GID format or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Project ID in GID format (required when using name)"
          in: query
          name: project_id
          required: false
          schema:
            type: string
        - description: "Version number to read"
          in: query
          name: version
          required: false
          schema:
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readMCPServerResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      security:
        - BearerToken: []
      summary: "Read MCP Server"
      tags:
        - "MCP Servers"
    put:
      description: "Update an existing MCP Server configuration"
      operationId: updateMCPServer
      parameters:
        - description: "MCP Server ID in GID format"
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateMCPServerRequest"
        description: "MCP Server configuration updates"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "409":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Conflict
        "412":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Precondition Failed"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      security:
        - BearerToken: []
      summary: "Update MCP Server"
      tags:
        - "MCP Servers"
  /organizations/current:
    get:
      description: "Read current Organization, formerly known as Customer, by current service account."
      operationId: readOrganization
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readOrganizationResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read current Organization"
      tags:
        - Organizations
  /projects:
    get:
      description: "List Projects in provided Organization with optional filtering."
      operationId: listProjects
      parameters:
        - description: "Project ID where to search for Projects."
          in: query
          name: organization_id
          required: true
          schema:
            type: string
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readProjectResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Projects"
      tags:
        - Projects
    post:
      description: "Create Project, formerly known as Application space, in provided Organization."
      operationId: createProject
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createProjectRequest"
        description: "Create Project request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Project"
      tags:
        - Projects
  "/projects/{id}":
    delete:
      description: "Delete Project, formerly known as Application space, by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteProject
      parameters:
        - description: "Project ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Project"
      tags:
        - Projects
    get:
      description: "Read Project, formerly known as Application space, identified by provided ID."
      operationId: readProject
      parameters:
        - description: "Project ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readProjectResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Project"
      tags:
        - Projects
    put:
      description: "Update Project, formerly known as Application space, identified by provided ID and optionally etag in If-Match header."
      operationId: updateProject
      parameters:
        - description: "Project ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateProjectRequest"
        description: "Update Project request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Project"
      tags:
        - Projects
  /service-account-credentials:
    get:
      description: "List Service Accounts Credentials in provided Organization with optional filtering."
      operationId: listServiceAccountCredentials
      parameters:
        - description: "Organization ID where to search for Service Accounts credentials."
          in: query
          name: organization_id
          required: true
          schema:
            type: string
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readSACredentialResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Service Accounts Credentials"
      tags:
        - "Service Account Credentials"
    post:
      description: "Register Service Account credentials in provided Service Account."
      operationId: registerServiceAccountCredential
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createSACredentialRequest"
        description: "Register Service Account credentials request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createSACredentialResponse"
          description: Created
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Register Service Account credentials"
      tags:
        - "Service Account Credentials"
  "/service-account-credentials/{id}":
    delete:
      description: "Delete Service Account Credential by provided ID."
      operationId: deleteServiceAccountCredential
      parameters:
        - description: "Service Account ID"
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Service Account Credential"
      tags:
        - "Service Account Credentials"
    get:
      description: "Read Service Account Credential identified by provided ID."
      operationId: readServiceAccountCredential
      parameters:
        - description: "Service Account Credential ID"
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readSACredentialResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Service Account Credential"
      tags:
        - "Service Account Credentials"
  /service-accounts:
    get:
      description: "List Service Accounts in provided Organization with optional filtering."
      operationId: listServiceAccounts
      parameters:
        - description: "Organization ID where to search for Service Accounts."
          in: query
          name: organization_id
          required: true
          schema:
            type: string
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Service Accounts"
      tags:
        - "Service Accounts"
    post:
      description: "Create Service Account in provided Organization."
      operationId: createServiceAccount
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createServiceAccountRequest"
        description: "Create Service Account request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Service Account"
      tags:
        - "Service Accounts"
  "/service-accounts/{id}":
    delete:
      description: "Delete Service Account by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteServiceAccount
      parameters:
        - description: "Service Account ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Service Account"
      tags:
        - "Service Accounts"
    get:
      description: "Read Service Account identified by provided ID."
      operationId: readServiceAccount
      parameters:
        - description: "Service Account ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Service Account"
      tags:
        - "Service Accounts"
    put:
      description: "Update Service Account identified by provided ID and optionally etag in If-Match header."
      operationId: updateServiceAccount
      parameters:
        - description: "Service Account ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateServiceAccountRequest"
        description: "Update Service Account request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Service Account"
      tags:
        - "Service Accounts"
  /token-introspects:
    get:
      description: "List Token Introspections in provided Project with optional filtering."
      operationId: listTokenIntrospects
      parameters:
        - description: "Project ID where to search for Token Introspections."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readTokenIntrospectResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Token Introspections"
      tags:
        - "Token Introspect"
    post:
      description: "Create Token Introspection in provided Project."
      operationId: createTokenIntrospect
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createTokenIntrospectRequest"
        description: "Create Token Introspection request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Token Introspection"
      tags:
        - "Token Introspect"
  "/token-introspects/{id}":
    delete:
      description: "Delete Token Introspection by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteTokenIntrospect
      parameters:
        - description: "Token Introspection ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Token Introspection"
      tags:
        - "Token Introspect"
    get:
      description: "Read Token Introspection identified by provided ID."
      operationId: readTokenIntrospect
      parameters:
        - description: "Token Introspection ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readTokenIntrospectResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Token Introspection"
      tags:
        - "Token Introspect"
    put:
      description: "Update Token Introspection identified by provided ID and optionally etag in If-Match header."
      operationId: updateTokenIntrospect
      parameters:
        - description: "Token Introspection ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateTokenIntrospectRequest"
        description: "Update Token Introspection request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Token Introspection"
      tags:
        - "Token Introspect"
  /trust-score-profiles:
    get:
      description: "List Trust Score Profiles in provided Project with optional filtering."
      operationId: listTrustScoreProfiles
      parameters:
        - description: "Project ID where to search for Trust Score Profiles."
          in: query
          name: project_id
          required: true
          schema:
            type: string
        - description: "Full fetch of all data. If not provided, only metadata is returned."
          in: query
          name: full_fetch
          required: false
          schema:
            type: boolean
        - description: "List only objects, that contains given search query in name, display name or description"
          in: query
          name: search
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.listConfigResponse-httpproxy_readTrustScoreProfileResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "List Trust Score Profiles"
      tags:
        - "Trust Score"
    post:
      description: "Create Trust Score Profile in provided Project."
      operationId: createTrustScoreProfile
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.createTrustScoreProfileRequest"
        description: "Create Trust Score Profile request"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.createConfigResponse"
          description: Created
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Create Trust Score Profile"
      tags:
        - "Trust Score"
  "/trust-score-profiles/{id}":
    delete:
      description: "Delete Trust Score Profile by provided ID. You can optionally can specify etag in If-Match header."
      operationId: deleteTrustScoreProfile
      parameters:
        - description: "Trust Score Profile ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag"
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.deleteConfigResponse"
          description: OK
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Delete Trust Score Profile"
      tags:
        - "Trust Score"
    get:
      description: "Read Trust Score Profile identified by provided ID."
      operationId: readTrustScoreProfile
      parameters:
        - description: "Trust Score Profile ID or name"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Version of configuration to read. If not provided, latest version is returned."
          in: query
          name: version
          required: false
          schema:
            type: integer
        - description: "Parent project ID. Required when querying by name"
          in: query
          name: location
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.readTrustScoreProfileResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Read Trust Score Profile"
      tags:
        - "Trust Score"
    put:
      description: "Update Trust Score Profile identified by provided ID and optionally etag in If-Match header."
      operationId: updateTrustScoreProfile
      parameters:
        - description: "Trust Score Profile ID"
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: "Multiversion concurrency control version - etag."
          in: header
          name: If-Match
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/httpproxy.updateTrustScoreProfileRequest"
        description: "Update Trust Score Profile request."
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/httpproxy.updateConfigResponse"
          description: OK
          headers:
            etag:
              description: "Multiversion concurrency control version - etag"
              schema:
                type: string
        "400":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Bad Request"
        "401":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Invalid ServiceAccount JWT in Authorization header"
        "403":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Not Found"
        "422":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.DetailedError"
          description: "Unprocessable Entity"
        "500":
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/restapi.ErrorResponse"
          description: "Internal Server Error"
      summary: "Update Trust Score Profile"
      tags:
        - "Trust Score"
security:
  - BearerToken: []
servers:
  - url: "https://eu.api.indykite.com/configs/v1"
  - url: "https://us.api.indykite.com/configs/v1"
tags:
  - description: "Organization operations"
    name: Organizations
  - description: "Project CRUD operations"
    name: Projects
  - description: "Service Account CRUD operations"
    name: "Service Accounts"
  - description: "Service Account Credential management"
    name: "Service Account Credentials"
  - description: "Application and agent management"
    name: Applications
  - description: "Application Agent CRUD operations"
    name: "Application Agents"
  - description: "Application Agent Credential management"
    name: "Application Agent Credentials"
  - description: "Token introspection configuration"
    name: "Token Introspect"
  - description: "KBAC and ContX IQ Policies CRUD operations"
    name: "Authorization Policies"
  - description: "Knowledge Query management"
    name: "Knowledge Queries"
  - description: "External Data Resolver configuration"
    name: "External Data Resolver"
  - description: "Trust Score Profile management"
    name: "Trust Score"
  - description: "Event Sink configuration"
    name: "Event Sinks"
  - description: "Entity Matching Pipeline configuration"
    name: "Entity Matching"
  - description: "MCP Servers configuration"
    name: "MCP Servers"
  - description: "Capture Pipeline configuration"
    name: "Capture Pipelines"
  - description: "Capture Pipeline Topic configuration"
    name: "Capture Pipeline Topics"
