# Generated with protoc-gen-openapi # https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi openapi: 3.0.3 info: title: api version: 1.47.0 servers: - url: http://localhost:8080 paths: /api/v1/namespaces: get: tags: - Flipt - NamespacesService operationId: listNamespaces parameters: - name: limit in: query schema: type: integer format: int32 - name: offset in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/NamespaceList' post: tags: - Flipt - NamespacesService operationId: createNamespace requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateNamespaceRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Namespace' /api/v1/namespaces/{key}: get: tags: - Flipt - NamespacesService operationId: getNamespace parameters: - name: key in: path required: true schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Namespace' put: tags: - Flipt - NamespacesService operationId: updateNamespace parameters: - name: key in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateNamespaceRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Namespace' delete: tags: - Flipt - NamespacesService operationId: deleteNamespace parameters: - name: key in: path required: true schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags: get: tags: - Flipt - FlagsService operationId: listFlags parameters: - name: namespaceKey in: path required: true schema: type: string - name: limit in: query schema: type: integer format: int32 - name: offset in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/FlagList' post: tags: - Flipt - FlagsService operationId: createFlag parameters: - name: namespaceKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateFlagRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Flag' /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rollouts: get: tags: - Flipt - RolloutsService operationId: listRollouts parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: limit in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RolloutList' post: tags: - Flipt - RolloutsService operationId: createRollout parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRolloutRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Rollout' /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rollouts/order: put: tags: - Flipt - RolloutsService operationId: orderRollouts parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderRolloutsRequest' required: true responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rollouts/{id}: get: tags: - Flipt - RolloutsService operationId: getRollout parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Rollout' put: tags: - Flipt - RolloutsService operationId: updateRollout parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateRolloutRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Rollout' delete: tags: - Flipt - RolloutsService operationId: deleteRollout parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rules: get: tags: - Flipt - RulesService operationId: listRules parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: limit in: query schema: type: integer format: int32 - name: offset in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/RuleList' post: tags: - Flipt - RulesService operationId: createRule parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRuleRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Rule' /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rules/order: put: tags: - Flipt - RulesService operationId: orderRules parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderRulesRequest' required: true responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rules/{id}: get: tags: - Flipt - RulesService operationId: getRule parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Rule' put: tags: - Flipt - RulesService operationId: updateRule parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateRuleRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Rule' delete: tags: - Flipt - RulesService operationId: deleteRule parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rules/{ruleId}/distributions: post: tags: - Flipt - DistributionsService operationId: createDistribution parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: ruleId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateDistributionRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Distribution' /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/rules/{ruleId}/distributions/{id}: put: tags: - Flipt - DistributionsService operationId: updateDistribution parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: ruleId in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateDistributionRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Distribution' delete: tags: - Flipt - DistributionsService operationId: deleteDistribution parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: ruleId in: path required: true schema: type: string - name: id in: path required: true schema: type: string - name: variantId in: query schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/variants: post: tags: - Flipt - VariantsService operationId: createVariant parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateVariantRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Variant' /api/v1/namespaces/{namespaceKey}/flags/{flagKey}/variants/{id}: put: tags: - Flipt - VariantsService operationId: updateVariant parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateVariantRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Variant' delete: tags: - Flipt - VariantsService operationId: deleteVariant parameters: - name: namespaceKey in: path required: true schema: type: string - name: flagKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/flags/{key}: get: tags: - Flipt - FlagsService operationId: getFlag parameters: - name: namespaceKey in: path required: true schema: type: string - name: key in: path required: true schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Flag' put: tags: - Flipt - FlagsService operationId: updateFlag parameters: - name: namespaceKey in: path required: true schema: type: string - name: key in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateFlagRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Flag' delete: tags: - Flipt - FlagsService operationId: deleteFlag parameters: - name: namespaceKey in: path required: true schema: type: string - name: key in: path required: true schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/segments: get: tags: - Flipt - SegmentsService operationId: listSegments parameters: - name: namespaceKey in: path required: true schema: type: string - name: limit in: query schema: type: integer format: int32 - name: offset in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/SegmentList' post: tags: - Flipt - SegmentsService operationId: createSegment parameters: - name: namespaceKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSegmentRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Segment' /api/v1/namespaces/{namespaceKey}/segments/{key}: get: tags: - Flipt - SegmentsService operationId: getSegment parameters: - name: namespaceKey in: path required: true schema: type: string - name: key in: path required: true schema: type: string - name: reference in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Segment' put: tags: - Flipt - SegmentsService operationId: updateSegment parameters: - name: namespaceKey in: path required: true schema: type: string - name: key in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSegmentRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Segment' delete: tags: - Flipt - SegmentsService operationId: deleteSegment parameters: - name: namespaceKey in: path required: true schema: type: string - name: key in: path required: true schema: type: string responses: "200": description: OK content: {} /api/v1/namespaces/{namespaceKey}/segments/{segmentKey}/constraints: post: tags: - Flipt - ConstraintsService operationId: createConstraint parameters: - name: namespaceKey in: path required: true schema: type: string - name: segmentKey in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateConstraintRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Constraint' /api/v1/namespaces/{namespaceKey}/segments/{segmentKey}/constraints/{id}: put: tags: - Flipt - ConstraintsService operationId: updateConstraint parameters: - name: namespaceKey in: path required: true schema: type: string - name: segmentKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateConstraintRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Constraint' delete: tags: - Flipt - ConstraintsService operationId: deleteConstraint parameters: - name: namespaceKey in: path required: true schema: type: string - name: segmentKey in: path required: true schema: type: string - name: id in: path required: true schema: type: string responses: "200": description: OK content: {} /auth/v1/method/kubernetes/serviceaccount: post: tags: - AuthenticationMethodKubernetesService operationId: kubernetesVerifyServiceAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifyServiceAccountRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/VerifyServiceAccountResponse' /auth/v1/method/oidc/{provider}/authorize: get: tags: - AuthenticationMethodOIDCService operationId: oidcAuthorizeURL parameters: - name: provider in: path required: true schema: type: string - name: state in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/AuthorizeURLResponse' /auth/v1/method/oidc/{provider}/callback: get: tags: - AuthenticationMethodOIDCService operationId: oidcCallback parameters: - name: provider in: path required: true schema: type: string - name: code in: query schema: type: string - name: state in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/CallbackResponse' /auth/v1/method/token: post: tags: - AuthenticationMethodTokenService operationId: createMethodToken requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTokenRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/CreateTokenResponse' /auth/v1/self: get: tags: - AuthenticationService operationId: getAuthSelf responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Authentication' /auth/v1/self/expire: put: tags: - AuthenticationService operationId: expireAuthSelf parameters: - name: expiresAt in: query schema: type: string format: date-time responses: "200": description: OK content: {} /auth/v1/tokens: get: tags: - AuthenticationService operationId: listAuthTokens parameters: - name: method in: query schema: enum: - METHOD_NONE - METHOD_TOKEN - METHOD_OIDC - METHOD_KUBERNETES - METHOD_GITHUB - METHOD_JWT - METHOD_CLOUD type: string format: enum - name: limit in: query schema: type: integer format: int32 - name: pageToken in: query schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ListAuthenticationsResponse' /auth/v1/tokens/{id}: get: tags: - AuthenticationService operationId: getAuthToken parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/Authentication' delete: tags: - AuthenticationService operationId: deleteAuthToken parameters: - name: id in: path required: true schema: type: string responses: "200": description: OK content: {} /evaluate/v1/batch: post: tags: - EvaluationService operationId: evaluateBatch requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchEvaluationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/BatchEvaluationResponse' /evaluate/v1/boolean: post: tags: - EvaluationService operationId: evaluateBoolean requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/BooleanEvaluationResponse' /evaluate/v1/variant: post: tags: - EvaluationService operationId: evaluateVariant requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/VariantEvaluationResponse' /ofrep/v1/configuration: get: tags: - OFREPService description: OFREP provider configuration operationId: ofrep.configuration responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/GetProviderConfigurationResponse' /ofrep/v1/evaluate/flags: post: tags: - OFREPService description: OFREP bulk flag evaluation operationId: ofrep.evaluateBulk requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluateBulkRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/BulkEvaluationResponse' /ofrep/v1/evaluate/flags/{key}: post: tags: - OFREPService description: OFREP single flag evaluation operationId: ofrep.evaluateFlag parameters: - name: key in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluateFlagRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/EvaluatedFlag' components: schemas: Authentication: type: object properties: id: type: string method: enum: - METHOD_NONE - METHOD_TOKEN - METHOD_OIDC - METHOD_KUBERNETES - METHOD_GITHUB - METHOD_JWT - METHOD_CLOUD type: string format: enum expiresAt: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time metadata: type: object additionalProperties: type: string AuthorizeURLResponse: type: object properties: authorizeUrl: type: string BatchEvaluationRequest: required: - requests type: object properties: requestId: type: string requests: type: array items: $ref: '#/components/schemas/EvaluationRequest' reference: type: string BatchEvaluationResponse: type: object properties: requestId: type: string responses: type: array items: $ref: '#/components/schemas/EvaluationResponse' requestDurationMillis: type: number format: double BooleanEvaluationResponse: type: object properties: enabled: type: boolean reason: enum: - UNKNOWN_EVALUATION_REASON - FLAG_DISABLED_EVALUATION_REASON - MATCH_EVALUATION_REASON - DEFAULT_EVALUATION_REASON type: string format: enum requestId: type: string requestDurationMillis: type: number format: double timestamp: type: string format: date-time flagKey: type: string BulkEvaluationResponse: required: - flags type: object properties: flags: type: array items: $ref: '#/components/schemas/EvaluatedFlag' CacheInvalidation: type: object properties: polling: $ref: '#/components/schemas/Polling' CallbackResponse: type: object properties: clientToken: type: string authentication: $ref: '#/components/schemas/Authentication' Capabilities: type: object properties: cacheInvalidation: $ref: '#/components/schemas/CacheInvalidation' flagEvaluation: $ref: '#/components/schemas/FlagEvaluation' Constraint: type: object properties: id: type: string segmentKey: type: string type: enum: - UNKNOWN_COMPARISON_TYPE - STRING_COMPARISON_TYPE - NUMBER_COMPARISON_TYPE - BOOLEAN_COMPARISON_TYPE - DATETIME_COMPARISON_TYPE - ENTITY_ID_COMPARISON_TYPE type: string format: enum property: type: string operator: type: string value: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time namespaceKey: type: string description: type: string CreateConstraintRequest: required: - type - property - operator type: object properties: segmentKey: type: string type: enum: - UNKNOWN_COMPARISON_TYPE - STRING_COMPARISON_TYPE - NUMBER_COMPARISON_TYPE - BOOLEAN_COMPARISON_TYPE - DATETIME_COMPARISON_TYPE - ENTITY_ID_COMPARISON_TYPE type: string format: enum property: type: string operator: type: string value: type: string namespaceKey: type: string description: type: string CreateDistributionRequest: required: - variantId - rollout type: object properties: flagKey: type: string ruleId: type: string variantId: type: string rollout: type: number format: float namespaceKey: type: string CreateFlagRequest: required: - key - name - type type: object properties: key: type: string name: type: string description: type: string enabled: type: boolean namespaceKey: type: string type: enum: - VARIANT_FLAG_TYPE - BOOLEAN_FLAG_TYPE type: string format: enum metadata: type: object CreateNamespaceRequest: required: - key - name type: object properties: key: type: string name: type: string description: type: string CreateRolloutRequest: required: - rank type: object properties: namespaceKey: type: string flagKey: type: string rank: type: integer format: int32 description: type: string segment: $ref: '#/components/schemas/RolloutSegment' threshold: $ref: '#/components/schemas/RolloutThreshold' CreateRuleRequest: required: - rank type: object properties: flagKey: type: string segmentKey: type: string rank: type: integer format: int32 namespaceKey: type: string segmentKeys: type: array items: type: string segmentOperator: enum: - OR_SEGMENT_OPERATOR - AND_SEGMENT_OPERATOR type: string format: enum CreateSegmentRequest: required: - key - name - matchType type: object properties: key: type: string name: type: string description: type: string matchType: enum: - ALL_MATCH_TYPE - ANY_MATCH_TYPE type: string format: enum namespaceKey: type: string CreateTokenRequest: type: object properties: name: type: string description: type: string expiresAt: type: string format: date-time namespaceKey: type: string metadata: type: object additionalProperties: type: string CreateTokenResponse: type: object properties: clientToken: type: string authentication: $ref: '#/components/schemas/Authentication' CreateVariantRequest: required: - key type: object properties: flagKey: type: string key: type: string name: type: string description: type: string attachment: type: string namespaceKey: type: string Distribution: type: object properties: id: type: string ruleId: type: string variantId: type: string rollout: type: number format: float createdAt: type: string format: date-time updatedAt: type: string format: date-time ErrorEvaluationResponse: type: object properties: flagKey: type: string namespaceKey: type: string reason: enum: - UNKNOWN_ERROR_EVALUATION_REASON - NOT_FOUND_ERROR_EVALUATION_REASON type: string format: enum EvaluateBulkRequest: type: object properties: context: type: object additionalProperties: type: string EvaluateFlagRequest: type: object properties: key: type: string context: type: object additionalProperties: type: string EvaluatedFlag: type: object properties: key: type: string reason: enum: - UNKNOWN - DISABLED - TARGETING_MATCH - DEFAULT type: string format: enum variant: type: string metadata: type: object value: $ref: '#/components/schemas/GoogleProtobufValue' EvaluationRequest: required: - namespaceKey - flagKey - entityId - context type: object properties: requestId: type: string namespaceKey: type: string flagKey: type: string entityId: type: string context: type: object additionalProperties: type: string reference: type: string EvaluationResponse: type: object properties: type: enum: - VARIANT_EVALUATION_RESPONSE_TYPE - BOOLEAN_EVALUATION_RESPONSE_TYPE - ERROR_EVALUATION_RESPONSE_TYPE type: string format: enum booleanResponse: $ref: '#/components/schemas/BooleanEvaluationResponse' variantResponse: $ref: '#/components/schemas/VariantEvaluationResponse' errorResponse: $ref: '#/components/schemas/ErrorEvaluationResponse' Flag: type: object properties: key: type: string name: type: string description: type: string enabled: type: boolean createdAt: type: string format: date-time updatedAt: type: string format: date-time variants: type: array items: $ref: '#/components/schemas/Variant' namespaceKey: type: string type: enum: - VARIANT_FLAG_TYPE - BOOLEAN_FLAG_TYPE type: string format: enum defaultVariant: $ref: '#/components/schemas/Variant' metadata: type: object FlagEvaluation: type: object properties: supportedTypes: type: array items: type: string FlagList: type: object properties: flags: type: array items: $ref: '#/components/schemas/Flag' nextPageToken: type: string totalCount: type: integer format: int32 GetProviderConfigurationResponse: type: object properties: name: type: string capabilities: $ref: '#/components/schemas/Capabilities' GoogleProtobufValue: description: Represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. ListAuthenticationsResponse: type: object properties: authentications: type: array items: $ref: '#/components/schemas/Authentication' nextPageToken: type: string Namespace: type: object properties: key: type: string name: type: string description: type: string protected: type: boolean createdAt: type: string format: date-time updatedAt: type: string format: date-time NamespaceList: type: object properties: namespaces: type: array items: $ref: '#/components/schemas/Namespace' nextPageToken: type: string totalCount: type: integer format: int32 OrderRolloutsRequest: required: - rolloutIds type: object properties: flagKey: type: string namespaceKey: type: string rolloutIds: type: array items: type: string OrderRulesRequest: required: - ruleIds type: object properties: flagKey: type: string ruleIds: type: array items: type: string namespaceKey: type: string Polling: type: object properties: enabled: type: boolean minPollingIntervalMs: type: integer format: uint32 Rollout: type: object properties: id: type: string namespaceKey: type: string flagKey: type: string type: enum: - UNKNOWN_ROLLOUT_TYPE - SEGMENT_ROLLOUT_TYPE - THRESHOLD_ROLLOUT_TYPE type: string format: enum rank: type: integer format: int32 description: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time segment: $ref: '#/components/schemas/RolloutSegment' threshold: $ref: '#/components/schemas/RolloutThreshold' RolloutList: type: object properties: rules: type: array items: $ref: '#/components/schemas/Rollout' nextPageToken: type: string totalCount: type: integer format: int32 RolloutSegment: type: object properties: segmentKey: type: string value: type: boolean segmentKeys: type: array items: type: string segmentOperator: enum: - OR_SEGMENT_OPERATOR - AND_SEGMENT_OPERATOR type: string format: enum RolloutThreshold: type: object properties: percentage: type: number format: float value: type: boolean Rule: type: object properties: id: type: string flagKey: type: string segmentKey: type: string distributions: type: array items: $ref: '#/components/schemas/Distribution' rank: type: integer format: int32 createdAt: type: string format: date-time updatedAt: type: string format: date-time namespaceKey: type: string segmentKeys: type: array items: type: string segmentOperator: enum: - OR_SEGMENT_OPERATOR - AND_SEGMENT_OPERATOR type: string format: enum RuleList: type: object properties: rules: type: array items: $ref: '#/components/schemas/Rule' nextPageToken: type: string totalCount: type: integer format: int32 Segment: type: object properties: key: type: string name: type: string description: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time constraints: type: array items: $ref: '#/components/schemas/Constraint' matchType: enum: - ALL_MATCH_TYPE - ANY_MATCH_TYPE type: string format: enum namespaceKey: type: string SegmentList: type: object properties: segments: type: array items: $ref: '#/components/schemas/Segment' nextPageToken: type: string totalCount: type: integer format: int32 UpdateConstraintRequest: required: - type - property - operator type: object properties: id: type: string segmentKey: type: string type: enum: - UNKNOWN_COMPARISON_TYPE - STRING_COMPARISON_TYPE - NUMBER_COMPARISON_TYPE - BOOLEAN_COMPARISON_TYPE - DATETIME_COMPARISON_TYPE - ENTITY_ID_COMPARISON_TYPE type: string format: enum property: type: string operator: type: string value: type: string namespaceKey: type: string description: type: string UpdateDistributionRequest: required: - variantId - rollout type: object properties: id: type: string flagKey: type: string ruleId: type: string variantId: type: string rollout: type: number format: float namespaceKey: type: string UpdateFlagRequest: required: - name type: object properties: key: type: string name: type: string description: type: string enabled: type: boolean namespaceKey: type: string defaultVariantId: type: string metadata: type: object UpdateNamespaceRequest: required: - name type: object properties: key: type: string name: type: string description: type: string UpdateRolloutRequest: type: object properties: id: type: string namespaceKey: type: string flagKey: type: string description: type: string segment: $ref: '#/components/schemas/RolloutSegment' threshold: $ref: '#/components/schemas/RolloutThreshold' UpdateRuleRequest: type: object properties: id: type: string flagKey: type: string segmentKey: type: string namespaceKey: type: string segmentKeys: type: array items: type: string segmentOperator: enum: - OR_SEGMENT_OPERATOR - AND_SEGMENT_OPERATOR type: string format: enum UpdateSegmentRequest: required: - name - matchType type: object properties: key: type: string name: type: string description: type: string matchType: enum: - ALL_MATCH_TYPE - ANY_MATCH_TYPE type: string format: enum namespaceKey: type: string UpdateVariantRequest: required: - key type: object properties: id: type: string flagKey: type: string key: type: string name: type: string description: type: string attachment: type: string namespaceKey: type: string Variant: type: object properties: id: type: string flagKey: type: string key: type: string name: type: string description: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time attachment: type: string namespaceKey: type: string VariantEvaluationResponse: type: object properties: match: type: boolean segmentKeys: type: array items: type: string reason: enum: - UNKNOWN_EVALUATION_REASON - FLAG_DISABLED_EVALUATION_REASON - MATCH_EVALUATION_REASON - DEFAULT_EVALUATION_REASON type: string format: enum variantKey: type: string variantAttachment: type: string requestId: type: string requestDurationMillis: type: number format: double timestamp: type: string format: date-time flagKey: type: string VerifyServiceAccountRequest: type: object properties: serviceAccountToken: type: string VerifyServiceAccountResponse: type: object properties: clientToken: type: string authentication: $ref: '#/components/schemas/Authentication' securitySchemes: bearerAuth: type: http scheme: bearer jwtAuth: type: http scheme: JWT security: - bearerAuth: [] tags: - name: AuthenticationMethodKubernetesService - name: AuthenticationMethodOIDCService - name: AuthenticationMethodTokenService - name: AuthenticationService - name: EvaluationService - name: Flipt - name: OFREPService