diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 708b026..717d278 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -93,8 +93,14 @@ docs/MeModel.md docs/MemberModel.md docs/MembersApi.md docs/OperationType.md +docs/OrganizationAdminModel.md +docs/OrganizationMemberModel.md +docs/OrganizationMembersModel.md docs/OrganizationModel.md docs/OrganizationModelHaljson.md +docs/OrganizationPermissionGroupModel.md +docs/OrganizationPermissionModel.md +docs/OrganizationProductModel.md docs/OrganizationsApi.md docs/PercentageOptionModel.md docs/PermissionGroupModel.md @@ -216,8 +222,14 @@ model_json_patch_operation.go model_me_model.go model_member_model.go model_operation_type.go +model_organization_admin_model.go +model_organization_member_model.go +model_organization_members_model.go model_organization_model.go model_organization_model_haljson.go +model_organization_permission_group_model.go +model_organization_permission_model.go +model_organization_product_model.go model_percentage_option_model.go model_permission_group_model.go model_permission_group_model_haljson.go diff --git a/README.md b/README.md index 69463be..544fda9 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ Class | Method | HTTP request | Description *MembersApi* | [**DeleteOrganizationMember**](docs/MembersApi.md#deleteorganizationmember) | **Delete** /v1/organizations/{organizationId}/members/{userId} | Delete Member from Organization *MembersApi* | [**DeleteProductMember**](docs/MembersApi.md#deleteproductmember) | **Delete** /v1/products/{productId}/members/{userId} | Delete Member from Product *MembersApi* | [**GetOrganizationMembers**](docs/MembersApi.md#getorganizationmembers) | **Get** /v1/organizations/{organizationId}/members | List Organization Members +*MembersApi* | [**GetOrganizationMembersV2**](docs/MembersApi.md#getorganizationmembersv2) | **Get** /v2/organizations/{organizationId}/members | List Organization Members *MembersApi* | [**GetProductMembers**](docs/MembersApi.md#getproductmembers) | **Get** /v1/products/{productId}/members | List Product Members *MembersApi* | [**InviteMember**](docs/MembersApi.md#invitemember) | **Post** /v1/products/{productId}/members/invite | Invite Member *OrganizationsApi* | [**GetOrganizations**](docs/OrganizationsApi.md#getorganizations) | **Get** /v1/organizations | List Organizations @@ -248,8 +249,14 @@ Class | Method | HTTP request | Description - [MeModel](docs/MeModel.md) - [MemberModel](docs/MemberModel.md) - [OperationType](docs/OperationType.md) + - [OrganizationAdminModel](docs/OrganizationAdminModel.md) + - [OrganizationMemberModel](docs/OrganizationMemberModel.md) + - [OrganizationMembersModel](docs/OrganizationMembersModel.md) - [OrganizationModel](docs/OrganizationModel.md) - [OrganizationModelHaljson](docs/OrganizationModelHaljson.md) + - [OrganizationPermissionGroupModel](docs/OrganizationPermissionGroupModel.md) + - [OrganizationPermissionModel](docs/OrganizationPermissionModel.md) + - [OrganizationProductModel](docs/OrganizationProductModel.md) - [PercentageOptionModel](docs/PercentageOptionModel.md) - [PermissionGroupModel](docs/PermissionGroupModel.md) - [PermissionGroupModelHaljson](docs/PermissionGroupModelHaljson.md) diff --git a/api/openapi.yaml b/api/openapi.yaml index 9c72606..591eb9f 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -149,202 +149,72 @@ tags: Here you can read more about the concept of Code References. name: Code References paths: - /v1/products/{productId}/auditlogs: + /v1/organizations: get: - description: "This endpoint returns the list of Audit log items for a given\ - \ Product \nand the result can be optionally filtered by Config and/or Environment." - operationId: get-auditlogs - parameters: - - description: The identifier of the Product. - explode: false - in: path - name: productId - required: true - schema: - format: uuid - type: string - style: simple - - description: The identifier of the Config. - explode: true - in: query - name: configId - required: false - schema: - format: uuid - type: string - style: form - - description: The identifier of the Environment. - explode: true - in: query - name: environmentId - required: false - schema: - format: uuid - type: string - style: form - - description: Filter Audit logs by Audit log type. - explode: true - in: query - name: auditLogType - required: false - schema: - allOf: - - $ref: '#/components/schemas/AuditLogType' - nullable: true - style: form - - description: Filter Audit logs by starting UTC date. - explode: true - in: query - name: fromUtcDateTime - required: false - schema: - format: date-time - type: string - style: form - - description: Filter Audit logs by ending UTC date. - explode: true - in: query - name: toUtcDateTime - required: false - schema: - format: date-time - type: string - style: form + description: This endpoint returns the list of the Organizations that belongs + to the user. + operationId: get-organizations responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/AuditLogItemModel' + $ref: '#/components/schemas/OrganizationModel' type: array application/hal+json: schema: items: - $ref: '#/components/schemas/AuditLogItemModel' + $ref: '#/components/schemas/OrganizationModel-haljson' type: array description: "" - "400": - description: Bad request. - "404": - description: Not found. "401": description: Unauthorized. In case of the Public Management API credentials are invalid. "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Audit log items for Product + summary: List Organizations tags: - - Audit logs - /v1/organizations/{organizationId}/auditlogs: + - Organizations + /v1/products: get: - description: "This endpoint returns the list of Audit log items for a given\ - \ Organization \nand the result can be optionally filtered by Product and/or\ - \ Config and/or Environment." - operationId: get-organization-auditlogs - parameters: - - description: The identifier of the Organization. - explode: false - in: path - name: organizationId - required: true - schema: - format: uuid - type: string - style: simple - - description: The identifier of the Product. - explode: true - in: query - name: productId - required: false - schema: - format: uuid - type: string - style: form - - description: The identifier of the Config. - explode: true - in: query - name: configId - required: false - schema: - format: uuid - type: string - style: form - - description: The identifier of the Environment. - explode: true - in: query - name: environmentId - required: false - schema: - format: uuid - type: string - style: form - - description: Filter Audit logs by Audit log type. - explode: true - in: query - name: auditLogType - required: false - schema: - allOf: - - $ref: '#/components/schemas/AuditLogType' - nullable: true - style: form - - description: Filter Audit logs by starting UTC date. - explode: true - in: query - name: fromUtcDateTime - required: false - schema: - format: date-time - type: string - style: form - - description: Filter Audit logs by ending UTC date. - explode: true - in: query - name: toUtcDateTime - required: false - schema: - format: date-time - type: string - style: form + description: This endpoint returns the list of the Products that belongs to + the user. + operationId: get-products responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/AuditLogItemModel' + $ref: '#/components/schemas/ProductModel' type: array application/hal+json: schema: items: - $ref: '#/components/schemas/AuditLogItemModel' + $ref: '#/components/schemas/ProductModel-haljson' type: array description: "" - "400": - description: Bad request. - "404": - description: Not found. "401": description: Unauthorized. In case of the Public Management API credentials are invalid. "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Audit log items for Organization + summary: List Products tags: - - Audit logs - /v1/configs/{configId}/deleted-settings: + - Products + /v1/products/{productId}/tags: get: - description: This endpoint returns the list of Feature Flags and Settings that - were deleted from the given Config. - operationId: get-deleted-settings + description: "This endpoint returns the list of the Tags in a \nspecified Product,\ + \ identified by the `productId` parameter." + operationId: get-tags parameters: - - description: The identifier of the Config. + - description: The identifier of the Product. explode: false in: path - name: configId + name: productId required: true schema: format: uuid @@ -356,45 +226,60 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/SettingModel' + $ref: '#/components/schemas/TagModel' type: array application/hal+json: schema: items: - $ref: '#/components/schemas/SettingModel-haljson' + $ref: '#/components/schemas/TagModel-haljson' type: array description: "" - "400": - description: Bad request. - "404": - description: Not found. "401": description: Unauthorized. In case of the Public Management API credentials are invalid. "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Deleted Settings + summary: List Tags tags: - - Audit logs - /v1/code-references: + - Tags post: - description: "" + description: "This endpoint creates a new Tag in a specified Product \nidentified\ + \ by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products)\ + \ endpoint." + operationId: create-tag + parameters: + - description: The identifier of the Organization. + explode: false + in: path + name: productId + required: true + schema: + format: uuid + type: string + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/CodeReferenceRequest' + $ref: '#/components/schemas/CreateTagModel' text/json: schema: - $ref: '#/components/schemas/CodeReferenceRequest' + $ref: '#/components/schemas/CreateTagModel' application/*+json: schema: - $ref: '#/components/schemas/CodeReferenceRequest' + $ref: '#/components/schemas/CreateTagModel' required: true responses: - "200": - description: Success + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/TagModel' + application/hal+json: + schema: + $ref: '#/components/schemas/TagModel-haljson' + description: When the creation was successful. "400": description: Bad request. "404": @@ -405,65 +290,37 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Upload References + summary: Create Tag tags: - - Code References - /v1/code-references/delete-reports: - post: - description: "" - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteRepositoryReportsRequest' - text/json: - schema: - $ref: '#/components/schemas/DeleteRepositoryReportsRequest' - application/*+json: - schema: - $ref: '#/components/schemas/DeleteRepositoryReportsRequest' + - Tags + /v1/products/{productId}/configs: + get: + description: |- + This endpoint returns the list of the Configs that belongs to the given Product identified by the + `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint. + operationId: get-configs + parameters: + - description: The identifier of the Product. + explode: false + in: path + name: productId required: true - responses: - "200": - description: Success - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Delete Reference reports - tags: - - Code References - /v1/settings/{settingId}/code-references: - get: - description: "" - parameters: - - description: The identifier of the Feature Flag or Setting. - explode: false - in: path - name: settingId - required: true - schema: - format: int32 - type: integer - style: simple + schema: + format: uuid + type: string + style: simple responses: "200": content: application/json: schema: items: - $ref: '#/components/schemas/CodeReferenceModel' + $ref: '#/components/schemas/ConfigModel' type: array application/hal+json: schema: items: - $ref: '#/components/schemas/CodeReferenceModel' + $ref: '#/components/schemas/ConfigModel-haljson' type: array description: "" "400": @@ -476,36 +333,46 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get References for Feature Flag or Setting + summary: List Configs tags: - - Code References - /v1/configs/{configId}/code-references: - get: - description: "" + - Configs + post: + description: "This endpoint creates a new Config in a specified Product \nidentified\ + \ by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products)\ + \ endpoint." + operationId: create-config parameters: - - description: The identifier of the Config. + - description: The identifier of the Product. explode: false in: path - name: configId + name: productId required: true schema: format: uuid type: string style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateConfigRequest' + text/json: + schema: + $ref: '#/components/schemas/CreateConfigRequest' + application/*+json: + schema: + $ref: '#/components/schemas/CreateConfigRequest' + required: true responses: - "200": + "201": content: application/json: schema: - items: - $ref: '#/components/schemas/CodeReferencesForSettingModel' - type: array + $ref: '#/components/schemas/ConfigModel' application/hal+json: schema: - items: - $ref: '#/components/schemas/CodeReferencesForSettingModel' - type: array - description: "" + $ref: '#/components/schemas/ConfigModel-haljson' + description: When the creation was successful. "400": description: Bad request. "404": @@ -516,15 +383,15 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get References in Config + summary: Create Config tags: - - Code References - /v1/products/{productId}/configs: + - Configs + /v1/products/{productId}/environments: get: description: |- - This endpoint returns the list of the Configs that belongs to the given Product identified by the + This endpoint returns the list of the Environments that belongs to the given Product identified by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint. - operationId: get-configs + operationId: get-environments parameters: - description: The identifier of the Product. explode: false @@ -541,12 +408,12 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/ConfigModel' + $ref: '#/components/schemas/EnvironmentModel' type: array application/hal+json: schema: items: - $ref: '#/components/schemas/ConfigModel-haljson' + $ref: '#/components/schemas/EnvironmentModel-haljson' type: array description: "" "400": @@ -559,14 +426,14 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Configs + summary: List Environments tags: - - Configs + - Environments post: - description: "This endpoint creates a new Config in a specified Product \nidentified\ - \ by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products)\ - \ endpoint." - operationId: create-config + description: "This endpoint creates a new Environment in a specified Product\ + \ \nidentified by the `productId` parameter, which can be obtained from the\ + \ [List Products](#operation/get-products) endpoint." + operationId: create-environment parameters: - description: The identifier of the Product. explode: false @@ -581,23 +448,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateConfigRequest' + $ref: '#/components/schemas/CreateEnvironmentModel' text/json: schema: - $ref: '#/components/schemas/CreateConfigRequest' + $ref: '#/components/schemas/CreateEnvironmentModel' application/*+json: schema: - $ref: '#/components/schemas/CreateConfigRequest' + $ref: '#/components/schemas/CreateEnvironmentModel' required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/ConfigModel' + $ref: '#/components/schemas/EnvironmentModel' application/hal+json: schema: - $ref: '#/components/schemas/ConfigModel-haljson' + $ref: '#/components/schemas/EnvironmentModel-haljson' description: When the creation was successful. "400": description: Bad request. @@ -609,49 +476,20 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Create Config - tags: - - Configs - /v1/configs/{configId}: - delete: - description: This endpoint removes a Config identified by the `configId` parameter. - operationId: delete-config - parameters: - - description: The identifier of the Config. - explode: false - in: path - name: configId - required: true - schema: - format: uuid - type: string - style: simple - responses: - "204": - description: When the delete was successful. - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Delete Config + summary: Create Environment tags: - - Configs + - Environments + /v1/products/{productId}/permissions: get: description: |- - This endpoint returns the metadata of a Config - identified by the `configId`. - operationId: get-config + This endpoint returns the list of the Permission Groups that belongs to the given Product identified by the + `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint. + operationId: get-permission-groups parameters: - - description: The identifier of the Config. + - description: The identifier of the Product. explode: false in: path - name: configId + name: productId required: true schema: format: uuid @@ -662,11 +500,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ConfigModel' + items: + $ref: '#/components/schemas/PermissionGroupModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/ConfigModel-haljson' - description: "When everything is ok, the config data returned." + items: + $ref: '#/components/schemas/PermissionGroupModel-haljson' + type: array + description: "" "400": description: Bad request. "404": @@ -677,17 +519,19 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Config + summary: List Permission Groups tags: - - Configs - put: - description: This endpoint updates a Config identified by the `configId` parameter. - operationId: update-config + - Permission Groups + post: + description: "This endpoint creates a new Permission Group in a specified Product\ + \ \nidentified by the `productId` parameter, which can be obtained from the\ + \ [List Products](#operation/get-products) endpoint." + operationId: create-permission-group parameters: - - description: The identifier of the Config. + - description: The identifier of the Product. explode: false in: path - name: configId + name: productId required: true schema: format: uuid @@ -697,24 +541,24 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UpdateConfigRequest' + $ref: '#/components/schemas/CreatePermissionGroupRequest' text/json: schema: - $ref: '#/components/schemas/UpdateConfigRequest' + $ref: '#/components/schemas/CreatePermissionGroupRequest' application/*+json: schema: - $ref: '#/components/schemas/UpdateConfigRequest' + $ref: '#/components/schemas/CreatePermissionGroupRequest' required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/ConfigModel' + $ref: '#/components/schemas/PermissionGroupModel' application/hal+json: schema: - $ref: '#/components/schemas/ConfigModel-haljson' - description: "" + $ref: '#/components/schemas/PermissionGroupModel-haljson' + description: When the creation was successful. "400": description: Bad request. "404": @@ -725,15 +569,15 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Config + summary: Create Permission Group tags: - - Configs - /v1/products/{productId}/environments: + - Permission Groups + /v1/products/{productId}/segments: get: description: |- - This endpoint returns the list of the Environments that belongs to the given Product identified by the + This endpoint returns the list of the Segments that belongs to the given Product identified by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint. - operationId: get-environments + operationId: get-segments parameters: - description: The identifier of the Product. explode: false @@ -750,12 +594,12 @@ paths: application/json: schema: items: - $ref: '#/components/schemas/EnvironmentModel' + $ref: '#/components/schemas/SegmentListModel' type: array application/hal+json: schema: items: - $ref: '#/components/schemas/EnvironmentModel-haljson' + $ref: '#/components/schemas/SegmentListModel-haljson' type: array description: "" "400": @@ -768,14 +612,14 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Environments + summary: List Segments tags: - - Environments + - Segments post: - description: "This endpoint creates a new Environment in a specified Product\ - \ \nidentified by the `productId` parameter, which can be obtained from the\ - \ [List Products](#operation/get-products) endpoint." - operationId: create-environment + description: "This endpoint creates a new Segment in a specified Product \n\ + identified by the `productId` parameter, which can be obtained from the [List\ + \ Products](#operation/get-products) endpoint." + operationId: create-segment parameters: - description: The identifier of the Product. explode: false @@ -790,23 +634,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateEnvironmentModel' + $ref: '#/components/schemas/CreateSegmentModel' text/json: schema: - $ref: '#/components/schemas/CreateEnvironmentModel' + $ref: '#/components/schemas/CreateSegmentModel' application/*+json: schema: - $ref: '#/components/schemas/CreateEnvironmentModel' + $ref: '#/components/schemas/CreateSegmentModel' required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/EnvironmentModel' + $ref: '#/components/schemas/SegmentModel' application/hal+json: schema: - $ref: '#/components/schemas/EnvironmentModel-haljson' + $ref: '#/components/schemas/SegmentModel-haljson' description: When the creation was successful. "400": description: Bad request. @@ -818,38 +662,38 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Create Environment + summary: Create Segment tags: - - Environments - /v1/environments/{environmentId}: - delete: - description: |- - This endpoint removes an Environment identified by the `environmentId` parameter. - If the `cleanupAuditLogs` flag is set to true, it also deletes the audit log records related to the environment - (except for the `Created a new environment` and `Deleted an environment` records). - operationId: delete-environment + - Segments + /v1/configs/{configId}/settings: + get: + description: "This endpoint returns the list of the Feature Flags and Settings\ + \ defined in a \nspecified Config, identified by the `configId` parameter." + operationId: get-settings parameters: - - description: The identifier of the Environment. + - description: The identifier of the Config. explode: false in: path - name: environmentId + name: configId required: true schema: format: uuid type: string style: simple - - description: An optional flag which indicates whether the audit log records - related to the environment should be deleted or not. - explode: true - in: query - name: cleanupAuditLogs - required: false - schema: - type: boolean - style: form responses: - "204": - description: When the delete was successful. + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SettingModel' + type: array + application/hal+json: + schema: + items: + $ref: '#/components/schemas/SettingModel-haljson' + type: array + description: "" "400": description: Bad request. "404": @@ -860,33 +704,48 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Delete Environment + summary: List Flags tags: - - Environments - get: - description: "This endpoint returns the metadata of an Environment \nidentified\ - \ by the `environmentId`." - operationId: get-environment + - Feature Flags & Settings + post: + description: |- + This endpoint creates a new Feature Flag or Setting in a specified Config + identified by the `configId` parameter. + + **Important:** The `key` attribute must be unique within the given Config. + operationId: create-setting parameters: - - description: The identifier of the Environment. + - description: The identifier of the Config. explode: false in: path - name: environmentId + name: configId required: true schema: format: uuid type: string style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSettingInitialValues' + text/json: + schema: + $ref: '#/components/schemas/CreateSettingInitialValues' + application/*+json: + schema: + $ref: '#/components/schemas/CreateSettingInitialValues' + required: true responses: - "200": + "201": content: application/json: schema: - $ref: '#/components/schemas/EnvironmentModel' + $ref: '#/components/schemas/SettingModel' application/hal+json: schema: - $ref: '#/components/schemas/EnvironmentModel-haljson' - description: "When everything is ok, the environment data returned." + $ref: '#/components/schemas/SettingModel-haljson' + description: When the creation was successful. "400": description: Bad request. "404": @@ -897,44 +756,83 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Environment + summary: Create Flag tags: - - Environments - put: - description: This endpoint updates an Environment identified by the `environmentId` - parameter. - operationId: update-environment + - Feature Flags & Settings + /v1/products/{productId}/auditlogs: + get: + description: "This endpoint returns the list of Audit log items for a given\ + \ Product \nand the result can be optionally filtered by Config and/or Environment." + operationId: get-auditlogs parameters: - - description: The identifier of the Environment. + - description: The identifier of the Product. explode: false in: path - name: environmentId + name: productId required: true schema: format: uuid type: string style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateEnvironmentModel' - text/json: - schema: - $ref: '#/components/schemas/UpdateEnvironmentModel' - application/*+json: - schema: - $ref: '#/components/schemas/UpdateEnvironmentModel' - required: true + - description: The identifier of the Config. + explode: true + in: query + name: configId + required: false + schema: + format: uuid + type: string + style: form + - description: The identifier of the Environment. + explode: true + in: query + name: environmentId + required: false + schema: + format: uuid + type: string + style: form + - description: Filter Audit logs by Audit log type. + explode: true + in: query + name: auditLogType + required: false + schema: + allOf: + - $ref: '#/components/schemas/AuditLogType' + nullable: true + style: form + - description: Filter Audit logs by starting UTC date. + explode: true + in: query + name: fromUtcDateTime + required: false + schema: + format: date-time + type: string + style: form + - description: Filter Audit logs by ending UTC date. + explode: true + in: query + name: toUtcDateTime + required: false + schema: + format: date-time + type: string + style: form responses: "200": content: application/json: schema: - $ref: '#/components/schemas/EnvironmentModel' + items: + $ref: '#/components/schemas/AuditLogItemModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/EnvironmentModel-haljson' + items: + $ref: '#/components/schemas/AuditLogItemModel' + type: array description: "" "400": description: Bad request. @@ -946,34 +844,14 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Environment + summary: List Audit log items for Product tags: - - Environments - /v1/environments/{environmentId}/settings/{settingId}/value: + - Audit logs + /v1/settings/{settingId}/code-references: get: - description: "This endpoint returns the value of a Feature Flag or Setting \n\ - in a specified Environment identified by the `environmentId` parameter.\n\n\ - The most important attributes in the response are the `value`, `rolloutRules`\ - \ and `percentageRules`.\nThe `value` represents what the clients will get\ - \ when the evaluation requests of our SDKs \nare not matching to any of the\ - \ defined Targeting or Percentage Rules, or when there are no additional rules\ - \ to evaluate.\n\nThe `rolloutRules` and `percentageRules` attributes are\ - \ representing the current \nTargeting and Percentage Rules configuration\ - \ of the actual Feature Flag or Setting \nin an **ordered** collection, which\ - \ means the order of the returned rules is matching to the\nevaluation order.\ - \ You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/)." - operationId: get-setting-value + description: "" parameters: - - description: The identifier of the Environment. - explode: false - in: path - name: environmentId - required: true - schema: - format: uuid - type: string - style: simple - - description: The id of the Setting. + - description: The identifier of the Feature Flag or Setting. explode: false in: path name: settingId @@ -987,11 +865,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SettingValueModel' + items: + $ref: '#/components/schemas/CodeReferenceModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/SettingValueModel-haljson' - description: "When everything is ok, the setting value data returned." + items: + $ref: '#/components/schemas/CodeReferenceModel' + type: array + description: "" "400": description: Bad request. "404": @@ -1002,285 +884,104 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get value + summary: Get References for Feature Flag or Setting tags: - - Feature Flag & Setting values - patch: - description: "This endpoint updates the value of a Feature Flag or Setting \n\ - with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ - \ Environment.\n\nOnly the `value`, `rolloutRules` and `percentageRules` attributes\ - \ are modifiable by this endpoint.\n\nThe advantage of using JSON Patch is\ - \ that you can describe individual update operations on a resource\nwithout\ - \ touching attributes that you don't want to change. It supports collection\ - \ reordering, so it also \ncan be used for reordering the targeting rules\ - \ of a Feature Flag or Setting.\n\nFor example: We have the following resource.\n\ - ```\n{\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\ - \t\t\t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"\ - value\": false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n\ - }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ - : \"replace\",\n\t\t\"path\": \"/value\",\n\t\t\"value\": true\n\t}\n]\n```\n\ - Only the default value is going to be set to `true` and all the Percentage\ - \ Rules are remaining unchanged.\nSo we get a response like this:\n```\n{\n\ - \t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\t\t\t\"\ - value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"value\":\ - \ false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": true\n}\n```\n\ - \nThe `rolloutRules` property describes two types of rules:\n\n- **Targeting\ - \ rules**: When you want to add or update a targeting rule, the `comparator`,\ - \ `comparisonAttribute`, and `comparisonValue` members are required.\n- **Segment\ - \ rules**: When you want to add add or update a segment rule, the `segmentId`\ - \ which identifies the desired segment and the `segmentComparator` members\ - \ are required." - operationId: update-setting-value + - Code References + /v1/configs/{configId}/code-references: + get: + description: "" parameters: - - description: The identifier of the Environment. + - description: The identifier of the Config. explode: false in: path - name: environmentId + name: configId required: true schema: format: uuid type: string style: simple - - description: The id of the Setting. + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/CodeReferencesForSettingModel' + type: array + application/hal+json: + schema: + items: + $ref: '#/components/schemas/CodeReferencesForSettingModel' + type: array + description: "" + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Get References in Config + tags: + - Code References + /v1/configs/{configId}: + delete: + description: This endpoint removes a Config identified by the `configId` parameter. + operationId: delete-config + parameters: + - description: The identifier of the Config. explode: false in: path - name: settingId + name: configId required: true schema: - format: int32 - type: integer + format: uuid + type: string style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false + responses: + "204": + description: When the delete was successful. + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Delete Config + tags: + - Configs + get: + description: |- + This endpoint returns the metadata of a Config + identified by the `configId`. + operationId: get-config + parameters: + - description: The identifier of the Config. + explode: false + in: path + name: configId + required: true schema: + format: uuid type: string - style: form - requestBody: - content: - application/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /value - value: true - add percentage rules: - description: This example adds two items to the percentage evaluation - rules. - value: - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 30 - value: true - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 70 - value: false - add targeting rules: - description: This example adds two items to the targeting evaluation - rules. - value: - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: contains - comparisonValue: '@example.com' - value: true - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: isOneOf - comparisonValue: '@blacklist.com' - value: false - modify targeting rule: - description: This example modifies the first targeting rule's comparison - value and the second's value. - value: - - op: replace - path: /rolloutRules/0/comparisonValue - value: '@example2.com' - - op: replace - path: /rolloutRules/1/value - value: true - add segment rules: - description: This example adds a segment to the evaluation rules. - value: - - op: add - path: /rolloutRules/- - value: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - reorder targeting rules: - description: This example swaps the first and the second targeting - evaluation rule. - value: - - op: move - path: /rolloutRules/1 - from: /rolloutRules/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - text/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /value - value: true - add percentage rules: - description: This example adds two items to the percentage evaluation - rules. - value: - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 30 - value: true - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 70 - value: false - add targeting rules: - description: This example adds two items to the targeting evaluation - rules. - value: - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: contains - comparisonValue: '@example.com' - value: true - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: isOneOf - comparisonValue: '@blacklist.com' - value: false - modify targeting rule: - description: This example modifies the first targeting rule's comparison - value and the second's value. - value: - - op: replace - path: /rolloutRules/0/comparisonValue - value: '@example2.com' - - op: replace - path: /rolloutRules/1/value - value: true - add segment rules: - description: This example adds a segment to the evaluation rules. - value: - - op: add - path: /rolloutRules/- - value: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - reorder targeting rules: - description: This example swaps the first and the second targeting - evaluation rule. - value: - - op: move - path: /rolloutRules/1 - from: /rolloutRules/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - application/*+json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /value - value: true - add percentage rules: - description: This example adds two items to the percentage evaluation - rules. - value: - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 30 - value: true - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 70 - value: false - add targeting rules: - description: This example adds two items to the targeting evaluation - rules. - value: - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: contains - comparisonValue: '@example.com' - value: true - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: isOneOf - comparisonValue: '@blacklist.com' - value: false - modify targeting rule: - description: This example modifies the first targeting rule's comparison - value and the second's value. - value: - - op: replace - path: /rolloutRules/0/comparisonValue - value: '@example2.com' - - op: replace - path: /rolloutRules/1/value - value: true - add segment rules: - description: This example adds a segment to the evaluation rules. - value: - - op: add - path: /rolloutRules/- - value: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - reorder targeting rules: - description: This example swaps the first and the second targeting - evaluation rule. - value: - - op: move - path: /rolloutRules/1 - from: /rolloutRules/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - required: true + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingValueModel' + $ref: '#/components/schemas/ConfigModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingValueModel-haljson' - description: When the patch was successful. - "204": - description: When no change applied on the resource. + $ref: '#/components/schemas/ConfigModel-haljson' + description: "When everything is ok, the config data returned." "400": description: Bad request. "404": @@ -1291,123 +992,43 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update value + summary: Get Config tags: - - Feature Flag & Setting values + - Configs put: - description: "This endpoint replaces the whole value of a Feature Flag or Setting\ - \ in a specified Environment.\n\nOnly the `value`, `rolloutRules` and `percentageRules`\ - \ attributes are modifiable by this endpoint.\n\n**Important:** As this endpoint\ - \ is doing a complete replace, it's important to set every other attribute\ - \ that you don't \nwant to change in its original state. Not listing one means\ - \ that it will reset.\n\nFor example: We have the following resource.\n```\n\ - {\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\t\t\ - \t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"value\"\ - : false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n}\n```\n\ - If we send a replace request body as below:\n```\n{\n\t\"value\": true\n}\n\ - ```\nThen besides that the default value is set to `true`, all the Percentage\ - \ Rules are deleted. \nSo we get a response like this:\n```\n{\n\t\"rolloutPercentageItems\"\ - : [],\n\t\"rolloutRules\": [],\n\t\"value\": true\n}\n```\n\nThe `rolloutRules`\ - \ property describes two types of rules:\n\n- **Targeting rules**: When you\ - \ want to add or update a targeting rule, the `comparator`, `comparisonAttribute`,\ - \ and `comparisonValue` members are required.\n- **Segment rules**: When you\ - \ want to add add or update a segment rule, the `segmentId` which identifies\ - \ the desired segment and the `segmentComparator` members are required." - operationId: replace-setting-value + description: This endpoint updates a Config identified by the `configId` parameter. + operationId: update-config parameters: - - description: The identifier of the Environment. + - description: The identifier of the Config. explode: false in: path - name: environmentId + name: configId required: true schema: format: uuid type: string style: simple - - description: The id of the Setting. - explode: false - in: path - name: settingId - required: true - schema: - format: int32 - type: integer - style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false - schema: - type: string - style: form requestBody: content: application/json: - examples: - simple: - description: This example turns on a feature flag. - value: - value: true - advanced: - description: This example turns on a feature flag and adds two items - to its percentage evaluation rules. - value: - value: true - rolloutPercentageItems: - - percentage: 30 - value: true - - percentage: 70 - value: false schema: - $ref: '#/components/schemas/UpdateSettingValueModel' + $ref: '#/components/schemas/UpdateConfigRequest' text/json: - examples: - simple: - description: This example turns on a feature flag. - value: - value: true - advanced: - description: This example turns on a feature flag and adds two items - to its percentage evaluation rules. - value: - value: true - rolloutPercentageItems: - - percentage: 30 - value: true - - percentage: 70 - value: false schema: - $ref: '#/components/schemas/UpdateSettingValueModel' + $ref: '#/components/schemas/UpdateConfigRequest' application/*+json: - examples: - simple: - description: This example turns on a feature flag. - value: - value: true - advanced: - description: This example turns on a feature flag and adds two items - to its percentage evaluation rules. - value: - value: true - rolloutPercentageItems: - - percentage: 30 - value: true - - percentage: 70 - value: false schema: - $ref: '#/components/schemas/UpdateSettingValueModel' + $ref: '#/components/schemas/UpdateConfigRequest' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingValueModel' + $ref: '#/components/schemas/ConfigModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingValueModel-haljson' + $ref: '#/components/schemas/ConfigModel-haljson' description: "" "400": description: Bad request. @@ -1419,24 +1040,14 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Replace value + summary: Update Config tags: - - Feature Flag & Setting values - /v1/configs/{configId}/environments/{environmentId}/values: + - Configs + /v1/configs/{configId}/deleted-settings: get: - description: "This endpoint returns the value of a specified Config's Feature\ - \ Flags or Settings identified by the `configId` parameter\nin a specified\ - \ Environment identified by the `environmentId` parameter.\n\nThe most important\ - \ attributes in the response are the `value`, `rolloutRules` and `percentageRules`.\n\ - The `value` represents what the clients will get when the evaluation requests\ - \ of our SDKs \nare not matching to any of the defined Targeting or Percentage\ - \ Rules, or when there are no additional rules to evaluate.\n\nThe `rolloutRules`\ - \ and `percentageRules` attributes are representing the current \nTargeting\ - \ and Percentage Rules configuration of the actual Feature Flag or Setting\ - \ \nin an **ordered** collection, which means the order of the returned rules\ - \ is matching to the\nevaluation order. You can read more about these rules\ - \ [here](https://configcat.com/docs/advanced/targeting/)." - operationId: get-setting-values + description: This endpoint returns the list of Feature Flags and Settings that + were deleted from the given Config. + operationId: get-deleted-settings parameters: - description: The identifier of the Config. explode: false @@ -1447,25 +1058,20 @@ paths: format: uuid type: string style: simple - - description: The identifier of the Environment. - explode: false - in: path - name: environmentId - required: true - schema: - format: uuid - type: string - style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ConfigSettingValuesModel' + items: + $ref: '#/components/schemas/SettingModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/ConfigSettingValuesModel-haljson' - description: "When everything is ok, the setting values returned." + items: + $ref: '#/components/schemas/SettingModel-haljson' + type: array + description: "" "400": description: Bad request. "404": @@ -1476,45 +1082,17 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get values + summary: List Deleted Settings tags: - - Feature Flag & Setting values - post: - description: "This endpoint replaces the values of a specified Config's Feature\ - \ Flags or Settings identified by the `configId` parameter\nin a specified\ - \ Environment identified by the `environmentId` parameter.\n\nOnly the `value`,\ - \ `rolloutRules` and `percentageRules` attributes are modifiable by this endpoint.\n\ - \n**Important:** As this endpoint is doing a complete replace, it's important\ - \ to set every other attribute that you don't \nwant to change in its original\ - \ state. Not listing one means that it will reset.\n\nFor example: We have\ - \ the following resource.\n```\n{\n \"settingValues\": [\n\t\t{\n\t\t\t\ - \"rolloutPercentageItems\": [\n\t\t\t\t{\n\t\t\t\t\t\"percentage\": 30,\n\t\ - \t\t\t\t\"value\": true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"percentage\":\ - \ 70,\n\t\t\t\t\t\"value\": false\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"rolloutRules\"\ - : [],\n\t\t\t\"value\": false,\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n```\n\ - If we send a replace request body as below:\n```\n{ \n\t\"settingValues\"\ - : [\n\t\t{\n\t\t\t\"value\": true,\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n\ - ```\nThen besides that the default value is set to `true`, all the Percentage\ - \ Rules are deleted. \nSo we get a response like this:\n```\n{\n\t\"settingValues\"\ - : [\n\t\t{\n\t\t\t\"rolloutPercentageItems\": [],\n\t\t\t\"rolloutRules\"\ - : [],\n\t\t\t\"value\": true,\n\t\t\t\"setting\": \n\t\t\t{\n\t\t\t\t\"settingId\"\ - : 1\n\t\t\t}\n\t\t}\n\t]\n}\n```\n\nThe `rolloutRules` property describes\ - \ two types of rules:\n\n- **Targeting rules**: When you want to add or update\ - \ a targeting rule, the `comparator`, `comparisonAttribute`, and `comparisonValue`\ - \ members are required.\n- **Segment rules**: When you want to add add or\ - \ update a segment rule, the `segmentId` which identifies the desired segment\ - \ and the `segmentComparator` members are required." - operationId: post-setting-values + - Audit logs + /v1/environments/{environmentId}: + delete: + description: |- + This endpoint removes an Environment identified by the `environmentId` parameter. + If the `cleanupAuditLogs` flag is set to true, it also deletes the audit log records related to the environment + (except for the `Created a new environment` and `Deleted an environment` records). + operationId: delete-environment parameters: - - description: The identifier of the Config. - explode: false - in: path - name: configId - required: true - schema: - format: uuid - type: string - style: simple - description: The identifier of the Environment. explode: false in: path @@ -1524,37 +1102,18 @@ paths: format: uuid type: string style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. + - description: An optional flag which indicates whether the audit log records + related to the environment should be deleted or not. explode: true in: query - name: reason + name: cleanupAuditLogs required: false schema: - type: string + type: boolean style: form - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateSettingValuesWithIdModel' - text/json: - schema: - $ref: '#/components/schemas/UpdateSettingValuesWithIdModel' - application/*+json: - schema: - $ref: '#/components/schemas/UpdateSettingValuesWithIdModel' - required: true responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ConfigSettingValuesModel' - application/hal+json: - schema: - $ref: '#/components/schemas/ConfigSettingValuesModel-haljson' - description: "When everything is ok, the updated setting values returned." + "204": + description: When the delete was successful. "400": description: Bad request. "404": @@ -1565,40 +1124,21 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Post values + summary: Delete Environment tags: - - Feature Flag & Setting values - /v1/settings/{settingKeyOrId}/value: + - Environments get: - description: "This endpoint returns the value of a Feature Flag or Setting \n\ - in a specified Environment identified by the SDK key passed\ - \ in the `X-CONFIGCAT-SDKKEY` header.\n\nThe most important attributes in\ - \ the response are the `value`, `rolloutRules` and `percentageRules`.\nThe\ - \ `value` represents what the clients will get when the evaluation requests\ - \ of our SDKs \nare not matching to any of the defined Targeting or Percentage\ - \ Rules, or when there are no additional rules to evaluate.\n\nThe `rolloutRules`\ - \ and `percentageRules` attributes are representing the current \nTargeting\ - \ and Percentage Rules configuration of the actual Feature Flag or Setting\ - \ \nin an **ordered** collection, which means the order of the returned rules\ - \ is matching to the\nevaluation order. You can read more about these rules\ - \ [here](https://configcat.com/docs/advanced/targeting/)." - operationId: get-setting-value-by-sdkkey + description: "This endpoint returns the metadata of an Environment \nidentified\ + \ by the `environmentId`." + operationId: get-environment parameters: - - description: The key or id of the Setting. + - description: The identifier of the Environment. explode: false in: path - name: settingKeyOrId + name: environmentId required: true schema: - type: string - style: simple - - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) - explode: false - in: header - name: X-CONFIGCAT-SDKKEY - required: false - schema: + format: uuid type: string style: simple responses: @@ -1606,11 +1146,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SettingValueModel' + $ref: '#/components/schemas/EnvironmentModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingValueModel-haljson' - description: "" + $ref: '#/components/schemas/EnvironmentModel-haljson' + description: "When everything is ok, the environment data returned." "400": description: Bad request. "404": @@ -1621,279 +1161,45 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get value + summary: Get Environment tags: - - Feature Flag & Setting values using SDK Key - patch: - description: "This endpoint updates the value of a Feature Flag or Setting \n\ - with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ - \ Environment\nidentified by the SDK key passed in the `X-CONFIGCAT-SDKKEY`\ - \ header.\n\nOnly the `value`, `rolloutRules` and `percentageRules` attributes\ - \ are modifiable by this endpoint.\n\nThe advantage of using JSON Patch is\ - \ that you can describe individual update operations on a resource\nwithout\ - \ touching attributes that you don't want to change. It supports collection\ - \ reordering, so it also \ncan be used for reordering the targeting rules\ - \ of a Feature Flag or Setting.\n\nFor example: We have the following resource.\n\ - ```\n{\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\ - \t\t\t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"\ - value\": false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n\ - }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ - : \"replace\",\n\t\t\"path\": \"/value\",\n\t\t\"value\": true\n\t}\n]\n```\n\ - Only the default served value is going to be set to `true` and all the Percentage\ - \ Rules are remaining unchanged.\nSo we get a response like this:\n```\n{\n\ - \t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\t\t\t\"\ - value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"value\":\ - \ false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": true\n}\n```" - operationId: update-setting-value-by-sdkkey + - Environments + put: + description: This endpoint updates an Environment identified by the `environmentId` + parameter. + operationId: update-environment parameters: - - description: The key or id of the Setting. + - description: The identifier of the Environment. explode: false in: path - name: settingKeyOrId + name: environmentId required: true schema: - type: string - style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false - schema: - type: string - style: form - - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) - explode: false - in: header - name: X-CONFIGCAT-SDKKEY - required: false - schema: + format: uuid type: string style: simple requestBody: content: application/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /value - value: true - add percentage rules: - description: This example adds two items to the percentage evaluation - rules. - value: - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 30 - value: true - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 70 - value: false - add targeting rules: - description: This example adds two items to the targeting evaluation - rules. - value: - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: contains - comparisonValue: '@example.com' - value: true - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: isOneOf - comparisonValue: '@blacklist.com' - value: false - modify targeting rule: - description: This example modifies the first targeting rule's comparison - value and the second's value. - value: - - op: replace - path: /rolloutRules/0/comparisonValue - value: '@example2.com' - - op: replace - path: /rolloutRules/1/value - value: true - add segment rules: - description: This example adds a segment to the evaluation rules. - value: - - op: add - path: /rolloutRules/- - value: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - reorder targeting rules: - description: This example swaps the first and the second targeting - evaluation rule. - value: - - op: move - path: /rolloutRules/1 - from: /rolloutRules/0 schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array + $ref: '#/components/schemas/UpdateEnvironmentModel' text/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /value - value: true - add percentage rules: - description: This example adds two items to the percentage evaluation - rules. - value: - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 30 - value: true - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 70 - value: false - add targeting rules: - description: This example adds two items to the targeting evaluation - rules. - value: - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: contains - comparisonValue: '@example.com' - value: true - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: isOneOf - comparisonValue: '@blacklist.com' - value: false - modify targeting rule: - description: This example modifies the first targeting rule's comparison - value and the second's value. - value: - - op: replace - path: /rolloutRules/0/comparisonValue - value: '@example2.com' - - op: replace - path: /rolloutRules/1/value - value: true - add segment rules: - description: This example adds a segment to the evaluation rules. - value: - - op: add - path: /rolloutRules/- - value: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - reorder targeting rules: - description: This example swaps the first and the second targeting - evaluation rule. - value: - - op: move - path: /rolloutRules/1 - from: /rolloutRules/0 schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array + $ref: '#/components/schemas/UpdateEnvironmentModel' application/*+json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /value - value: true - add percentage rules: - description: This example adds two items to the percentage evaluation - rules. - value: - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 30 - value: true - - op: add - path: /rolloutPercentageItems/- - value: - percentage: 70 - value: false - add targeting rules: - description: This example adds two items to the targeting evaluation - rules. - value: - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: contains - comparisonValue: '@example.com' - value: true - - op: add - path: /rolloutRules/- - value: - comparisonAttribute: Identifier - comparator: isOneOf - comparisonValue: '@blacklist.com' - value: false - modify targeting rule: - description: This example modifies the first targeting rule's comparison - value and the second's value. - value: - - op: replace - path: /rolloutRules/0/comparisonValue - value: '@example2.com' - - op: replace - path: /rolloutRules/1/value - value: true - add segment rules: - description: This example adds a segment to the evaluation rules. - value: - - op: add - path: /rolloutRules/- - value: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - reorder targeting rules: - description: This example swaps the first and the second targeting - evaluation rule. - value: - - op: move - path: /rolloutRules/1 - from: /rolloutRules/0 schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array + $ref: '#/components/schemas/UpdateEnvironmentModel' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingValueModel' + $ref: '#/components/schemas/EnvironmentModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingValueModel-haljson' + $ref: '#/components/schemas/EnvironmentModel-haljson' description: "" - "204": - description: When no change applied on the resource. "400": description: Bad request. "404": @@ -1904,119 +1210,112 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update value + summary: Update Environment tags: - - Feature Flag & Setting values using SDK Key - put: - description: "This endpoint replaces the value of a Feature Flag or Setting\ - \ \nin a specified Environment identified by the SDK key\ - \ passed in the `X-CONFIGCAT-SDKKEY` header.\n\nOnly the `value`, `rolloutRules`\ - \ and `percentageRules` attributes are modifiable by this endpoint.\n\n**Important:**\ - \ As this endpoint is doing a complete replace, it's important to set every\ - \ other attribute that you don't \nwant to change to its original state. Not\ - \ listing one means that it will reset.\n\nFor example: We have the following\ - \ resource.\n```\n{\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\"\ - : 30,\n\t\t\t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\ - \t\t\"value\": false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n\ - }\n```\nIf we send a replace request body as below:\n```\n{\n\t\"value\":\ - \ true\n}\n```\nThen besides that the default served value is set to `true`,\ - \ all the Percentage Rules are deleted. \nSo we get a response like this:\n\ - ```\n{\n\t\"rolloutPercentageItems\": [],\n\t\"rolloutRules\": [],\n\t\"value\"\ - : true\n}\n```" - operationId: replace-setting-value-by-sdkkey + - Environments + /v1/permissions/{permissionGroupId}: + delete: + description: This endpoint removes a Permission Group identified by the `permissionGroupId` + parameter. + operationId: delete-permission-group parameters: - - description: The key or id of the Setting. + - description: The identifier of the Permission Group. explode: false in: path - name: settingKeyOrId + name: permissionGroupId required: true schema: - type: string + format: int64 + type: integer style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false + responses: + "204": + description: When the delete was successful. + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Delete Permission Group + tags: + - Permission Groups + get: + description: "This endpoint returns the metadata of a Permission Group \nidentified\ + \ by the `permissionGroupId`." + operationId: get-permission-group + parameters: + - description: The identifier of the Permission Group. + explode: false + in: path + name: permissionGroupId + required: true schema: - type: string - style: form - - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) + format: int64 + type: integer + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionGroupModel' + application/hal+json: + schema: + $ref: '#/components/schemas/PermissionGroupModel-haljson' + description: "When everything is ok, the permission group data returned." + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Get Permission Group + tags: + - Permission Groups + put: + description: This endpoint updates a Permission Group identified by the `permissionGroupId` + parameter. + operationId: update-permission-group + parameters: + - description: The identifier of the Permission Group. explode: false - in: header - name: X-CONFIGCAT-SDKKEY - required: false + in: path + name: permissionGroupId + required: true schema: - type: string + format: int64 + type: integer style: simple requestBody: content: application/json: - examples: - simple: - description: This example turns on a feature flag. - value: - value: true - advanced: - description: This example turns on a feature flag and adds two items - to its percentage evaluation rules. - value: - value: true - rolloutPercentageItems: - - percentage: 30 - value: true - - percentage: 70 - value: false schema: - $ref: '#/components/schemas/UpdateSettingValueModel' + $ref: '#/components/schemas/UpdatePermissionGroupRequest' text/json: - examples: - simple: - description: This example turns on a feature flag. - value: - value: true - advanced: - description: This example turns on a feature flag and adds two items - to its percentage evaluation rules. - value: - value: true - rolloutPercentageItems: - - percentage: 30 - value: true - - percentage: 70 - value: false schema: - $ref: '#/components/schemas/UpdateSettingValueModel' + $ref: '#/components/schemas/UpdatePermissionGroupRequest' application/*+json: - examples: - simple: - description: This example turns on a feature flag. - value: - value: true - advanced: - description: This example turns on a feature flag and adds two items - to its percentage evaluation rules. - value: - value: true - rolloutPercentageItems: - - percentage: 30 - value: true - - percentage: 70 - value: false schema: - $ref: '#/components/schemas/UpdateSettingValueModel' + $ref: '#/components/schemas/UpdatePermissionGroupRequest' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingValueModel' + $ref: '#/components/schemas/PermissionGroupModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingValueModel-haljson' + $ref: '#/components/schemas/PermissionGroupModel-haljson' description: "" "400": description: Bad request. @@ -2028,40 +1327,27 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Replace value + summary: Update Permission Group tags: - - Feature Flag & Setting values using SDK Key - /v2/settings/{settingKeyOrId}/value: + - Permission Groups + /v1/integrationLink/{integrationLinkType}/{key}/details: get: - description: |- - This endpoint returns the value of a Feature Flag or Setting - in a specified Environment identified by the SDK key passed in the `X-CONFIGCAT-SDKKEY` header. - - The most important fields in the response are the `defaultValue`, `targetingRules`. - The `defaultValue` represents what the clients will get when the evaluation requests of our SDKs - are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate. - - The `targetingRules` represents the current - Targeting Rule configuration of the actual Feature Flag or Setting - in an **ordered** collection, which means the order of the returned rules is matching to the - evaluation order. You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/). - - The `percentageEvaluationAttribute` represents the custom [User Object](https://configcat.com/docs/advanced/user-object/) attribute that must be used at the [percentage evaluation](https://configcat.com/docs/advanced/targeting/#anatomy-of-the-percentage-based-targeting) of the Feature Flag or Setting. - operationId: get-setting-value-by-sdkkey-v2 + description: "" + operationId: get-integration-link-details parameters: - - description: The key or id of the Setting. + - description: The integration link's type. explode: false in: path - name: settingKeyOrId + name: integrationLinkType required: true schema: - type: string + $ref: '#/components/schemas/IntegrationLinkType' style: simple - - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) + - description: The key of the integration link. explode: false - in: header - name: X-CONFIGCAT-SDKKEY - required: false + in: path + name: key + required: true schema: type: string style: simple @@ -2070,11 +1356,12 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/SettingFormulaModel' + $ref: '#/components/schemas/IntegrationLinkDetailsModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingFormulaModel-haljson' - description: "" + $ref: '#/components/schemas/IntegrationLinkDetailsModel' + description: "When everything is ok, the details for the integration link\ + \ returned." "400": description: Bad request. "404": @@ -2085,326 +1372,213 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get value + summary: Get Integration link tags: - - Feature Flag & Setting values using SDK Key V2 - patch: - description: "This endpoint updates the value of a Feature Flag or Setting\n\ - with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ - \ Environment.\n\nOnly the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute`\ - \ fields are modifiable by this endpoint.\n\nThe advantage of using JSON Patch\ - \ is that you can describe individual update operations on a resource\nwithout\ - \ touching attributes that you don't want to change. It supports collection\ - \ reordering, so it also\ncan be used for reordering the targeting rules of\ - \ a Feature Flag or Setting.\n\nFor example: We have the following resource\ - \ of a Feature Flag.\n```\n{\n\t\"defaultValue\": {\n \"boolValue\"\ - : false,\n },\n\t\"targetingRules\": [\n {\n \"conditions\"\ - : [\n {\n \"userCondition\": {\n \ - \ \"comparisonAttribute\": \"Email\",\n \ - \ \"comparator\": \"sensitiveTextEquals\",\n \"\ - comparisonValue\": {\n \"stringValue\": \"test@example.com\"\ - ,\n }\n },\n }\n\ - \ ],\n \"percentageOptions\": [],\n \"value\"\ - : {\n \"boolValue\": true,\n }\n }\n ],\n\ - }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ - : \"replace\",\n\t\t\"path\": \"/targetingRules/0/value/boolValue\",\n\t\t\ - \"value\": true\n\t}\n]\n```\nOnly the first Targeting Rule's `value` is going\ - \ to be set to `false` and all the other fields are remaining unchanged.\n\ - \nSo we get a response like this:\n```\n{\n\t\"defaultValue\": {\n \ - \ \"boolValue\": false,\n },\n\t\"targetingRules\": [\n {\n \ - \ \"conditions\": [\n {\n \"userCondition\"\ - : {\n \"comparisonAttribute\": \"Email\",\n \ - \ \"comparator\": \"sensitiveTextEquals\",\n \ - \ \"comparisonValue\": {\n \"stringValue\"\ - : \"test@example.com\",\n }\n },\n\ - \ }\n ],\n \"percentageOptions\": [],\n\ - \ \"value\": {\n \"boolValue\": false,\n \ - \ }\n }\n ],\n}\n```" - operationId: update-setting-value-by-sdkkey-v2 - parameters: - - description: The key or id of the Setting. - explode: false - in: path - name: settingKeyOrId + - Integration links + /v1/configs/{configId}/environments/{environmentId}: + get: + description: This endpoint returns the SDK Key for your Config in a specified + Environment. + operationId: get-sdk-keys + parameters: + - description: The identifier of the Config. + explode: false + in: path + name: configId required: true schema: + format: uuid type: string style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SdkKeysModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SdkKeysModel' + description: "" + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Get SDK Key + tags: + - SDK Keys + /v1/me: + get: + description: "" + operationId: get-me + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/MeModel' + application/hal+json: + schema: + $ref: '#/components/schemas/MeModel' + description: "" + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Get authenticated user details + tags: + - Me + /v1/organizations/{organizationId}/auditlogs: + get: + description: "This endpoint returns the list of Audit log items for a given\ + \ Organization \nand the result can be optionally filtered by Product and/or\ + \ Config and/or Environment." + operationId: get-organization-auditlogs + parameters: + - description: The identifier of the Organization. + explode: false + in: path + name: organizationId + required: true + schema: + format: uuid + type: string + style: simple + - description: The identifier of the Product. explode: true in: query - name: reason + name: productId required: false schema: + format: uuid type: string style: form - - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) - explode: false - in: header - name: X-CONFIGCAT-SDKKEY + - description: The identifier of the Config. + explode: true + in: query + name: configId + required: false + schema: + format: uuid + type: string + style: form + - description: The identifier of the Environment. + explode: true + in: query + name: environmentId + required: false + schema: + format: uuid + type: string + style: form + - description: Filter Audit logs by Audit log type. + explode: true + in: query + name: auditLogType + required: false + schema: + allOf: + - $ref: '#/components/schemas/AuditLogType' + nullable: true + style: form + - description: Filter Audit logs by starting UTC date. + explode: true + in: query + name: fromUtcDateTime + required: false + schema: + format: date-time + type: string + style: form + - description: Filter Audit logs by ending UTC date. + explode: true + in: query + name: toUtcDateTime required: false schema: + format: date-time + type: string + style: form + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/AuditLogItemModel' + type: array + application/hal+json: + schema: + items: + $ref: '#/components/schemas/AuditLogItemModel' + type: array + description: "" + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: List Audit log items for Organization + tags: + - Audit logs + /v1/organizations/{organizationId}/members: + get: + deprecated: true + description: "This endpoint returns the list of Members that belongs \nto the\ + \ given Organization, identified by the `organizationId` parameter.\n\nThe\ + \ results may vary based on the access level of the user who calls the endpoint:\ + \ \n- When it's called with Organization Admin privileges, the result will\ + \ contain each member in the Organization.\n- When it's called without Organization\ + \ Admin privileges, the result will contain each Organization Admin along\ + \ with members \n of those products where the caller has `Team members and\ + \ permission groups` (`canManageMembers`) permission." + operationId: get-organization-members + parameters: + - description: The identifier of the Organization. + explode: false + in: path + name: organizationId + required: true + schema: + format: uuid type: string style: simple - requestBody: - content: - application/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /defaultValue/boolValue - value: true - add targeting rules: - description: This example adds an evaluation rule with two conditions - to the Flag's targeting rules. - value: - - op: replace - path: /targetingRules/- - value: - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - modify targeting rule: - description: This example modifies a targeting rule's value. - value: - - op: replace - path: /targetingRules/0/value/boolValue - value: "true" - modify targeting rule's condition: - description: This example modifies a condition's comparison attribute - within a targeting rule. - value: - - op: replace - path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute - value: Role - add segment condition: - description: This example adds a segment condition to a targeting - rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - segmentCondition: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - add prerequisite flag condition: - description: This example adds a prerequisite flag condition to a - targeting rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - prerequisiteFlagCondition: - prerequisiteSettingId: isIn - comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - prerequisiteComparisonValue: - boolValue: true - reorder targeting rules: - description: This example swaps the first and the second targeting - rule. - value: - - op: move - path: /targetingRules/1 - from: /targetingRules/0 - reorder targeting rule conditions: - description: This example swaps the first and the second condition - of a targeting rule. - value: - - op: move - path: /targetingRules/0/conditions/1 - from: /targetingRules/0/conditions/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - text/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /defaultValue/boolValue - value: true - add targeting rules: - description: This example adds an evaluation rule with two conditions - to the Flag's targeting rules. - value: - - op: replace - path: /targetingRules/- - value: - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - modify targeting rule: - description: This example modifies a targeting rule's value. - value: - - op: replace - path: /targetingRules/0/value/boolValue - value: "true" - modify targeting rule's condition: - description: This example modifies a condition's comparison attribute - within a targeting rule. - value: - - op: replace - path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute - value: Role - add segment condition: - description: This example adds a segment condition to a targeting - rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - segmentCondition: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - add prerequisite flag condition: - description: This example adds a prerequisite flag condition to a - targeting rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - prerequisiteFlagCondition: - prerequisiteSettingId: isIn - comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - prerequisiteComparisonValue: - boolValue: true - reorder targeting rules: - description: This example swaps the first and the second targeting - rule. - value: - - op: move - path: /targetingRules/1 - from: /targetingRules/0 - reorder targeting rule conditions: - description: This example swaps the first and the second condition - of a targeting rule. - value: - - op: move - path: /targetingRules/0/conditions/1 - from: /targetingRules/0/conditions/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - application/*+json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /defaultValue/boolValue - value: true - add targeting rules: - description: This example adds an evaluation rule with two conditions - to the Flag's targeting rules. - value: - - op: replace - path: /targetingRules/- - value: - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - modify targeting rule: - description: This example modifies a targeting rule's value. - value: - - op: replace - path: /targetingRules/0/value/boolValue - value: "true" - modify targeting rule's condition: - description: This example modifies a condition's comparison attribute - within a targeting rule. - value: - - op: replace - path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute - value: Role - add segment condition: - description: This example adds a segment condition to a targeting - rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - segmentCondition: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - add prerequisite flag condition: - description: This example adds a prerequisite flag condition to a - targeting rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - prerequisiteFlagCondition: - prerequisiteSettingId: isIn - comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - prerequisiteComparisonValue: - boolValue: true - reorder targeting rules: - description: This example swaps the first and the second targeting - rule. - value: - - op: move - path: /targetingRules/1 - from: /targetingRules/0 - reorder targeting rule conditions: - description: This example swaps the first and the second condition - of a targeting rule. - value: - - op: move - path: /targetingRules/0/conditions/1 - from: /targetingRules/0/conditions/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingFormulaModel' + items: + $ref: '#/components/schemas/UserModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/SettingFormulaModel-haljson' + items: + $ref: '#/components/schemas/UserModel' + type: array description: "" - "204": - description: When no change applied on the resource. "400": description: Bad request. "404": @@ -2415,159 +1589,39 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update value + summary: List Organization Members tags: - - Feature Flag & Setting values using SDK Key V2 - put: - description: "This endpoint replaces the value and the Targeting Rules of a\ - \ Feature Flag or Setting\nin a specified Environment identified by the SDK key passed in the `X-CONFIGCAT-SDKKEY` header.\n\nOnly the `defaultValue`,\ - \ `targetingRules`, and `percentageEvaluationAttribute` fields are modifiable\ - \ by this endpoint.\n\n**Important:** As this endpoint is doing a complete\ - \ replace, it's important to set every other field that you don't\nwant to\ - \ change to its original state. Not listing one means that it will reset.\n\ - \nFor example: We have the following resource of a Feature Flag.\n```\n{\n\ - \t\"defaultValue\": {\n \"boolValue\": false,\n },\n\t\"targetingRules\"\ - : [\n {\n \"conditions\": [\n {\n \ - \ \"userCondition\": {\n \"comparisonAttribute\"\ - : \"Email\",\n \"comparator\": \"sensitiveTextEquals\"\ - ,\n \"comparisonValue\": {\n \ - \ \"stringValue\": \"test@example.com\",\n }\n\ - \ },\n }\n ],\n \"\ - percentageOptions\": [],\n \"value\": {\n \"boolValue\"\ - : true,\n }\n }\n ],\n}\n```\nIf we send a replace request\ - \ body as below:\n```\n{\n\t\"defaultValue\": {\n \"boolValue\": true,\n\ - \ },\n}\n```\nThen besides that the default served value is set to `true`,\ - \ all the Targeting Rules are deleted.\nSo we get a response like this:\n\ - ```\n{\n \"defaultValue\": {\n \"boolValue\": true,\n },\n \ - \ \"targetingRules\": [],\n}\n```" - operationId: replace-setting-value-by-sdkkey-v2 + - Members + /v2/organizations/{organizationId}/members: + get: + description: "This endpoint returns the list of Members that belongs \nto the\ + \ given Organization, identified by the `organizationId` parameter.\n\nThe\ + \ results may vary based on the access level of the user who calls the endpoint:\ + \ \n- When it's called with Organization Admin privileges, the result will\ + \ contain each member in the Organization.\n- When it's called without Organization\ + \ Admin privileges, the result will contain each Organization Admin along\ + \ with members \n of those products where the caller has `Team members and\ + \ permission groups` (`canManageMembers`) permission." + operationId: get-organization-members-v2 parameters: - - description: The key or id of the Setting. + - description: The identifier of the Organization. explode: false in: path - name: settingKeyOrId + name: organizationId required: true schema: + format: uuid type: string style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false - schema: - type: string - style: form - - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) - explode: false - in: header - name: X-CONFIGCAT-SDKKEY - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json: - examples: - simple: - description: This example turns on a feature flag. - value: - defaultValue: - boolValue: true - advanced: - description: This example turns on a feature flag and adds an evaluation - rule with two conditions to its targeting rules. - value: - defaultValue: - boolValue: true - targetingRules: - - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - schema: - $ref: '#/components/schemas/UpdateEvaluationFormulaModel' - text/json: - examples: - simple: - description: This example turns on a feature flag. - value: - defaultValue: - boolValue: true - advanced: - description: This example turns on a feature flag and adds an evaluation - rule with two conditions to its targeting rules. - value: - defaultValue: - boolValue: true - targetingRules: - - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - schema: - $ref: '#/components/schemas/UpdateEvaluationFormulaModel' - application/*+json: - examples: - simple: - description: This example turns on a feature flag. - value: - defaultValue: - boolValue: true - advanced: - description: This example turns on a feature flag and adds an evaluation - rule with two conditions to its targeting rules. - value: - defaultValue: - boolValue: true - targetingRules: - - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - schema: - $ref: '#/components/schemas/UpdateEvaluationFormulaModel' - required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingFormulaModel' + $ref: '#/components/schemas/OrganizationMembersModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingFormulaModel-haljson' + $ref: '#/components/schemas/OrganizationMembersModel' description: "" "400": description: Bad request. @@ -2579,55 +1633,63 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Replace value + summary: List Organization Members tags: - - Feature Flag & Setting values using SDK Key V2 - /v2/environments/{environmentId}/settings/{settingId}/value: - get: - description: |- - This endpoint returns the value of a Feature Flag or Setting - in a specified Environment identified by the `environmentId` parameter. - - The most important fields in the response are the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute`. - The `defaultValue` represents what the clients will get when the evaluation requests of our SDKs - are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate. - - The `targetingRules` represents the current - Targeting Rule configuration of the actual Feature Flag or Setting - in an **ordered** collection, which means the order of the returned rules is matching to the - evaluation order. You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/). - - The `percentageEvaluationAttribute` represents the custom [User Object](https://configcat.com/docs/advanced/user-object/) attribute that must be used for [percentage evaluation](https://configcat.com/docs/advanced/targeting/#anatomy-of-the-percentage-based-targeting) of the Feature Flag or Setting. - operationId: get-setting-value-v2 + - Members + /v1/products/{productId}: + delete: + description: This endpoint removes a Product identified by the `productId` parameter. + operationId: delete-product parameters: - - description: The identifier of the Environment. + - description: The identifier of the Product. explode: false in: path - name: environmentId + name: productId required: true schema: format: uuid type: string style: simple - - description: The id of the Setting. + responses: + "204": + description: When the delete was successful. + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Delete Product + tags: + - Products + get: + description: "This endpoint returns the metadata of a Product \nidentified by\ + \ the `productId`." + operationId: get-product + parameters: + - description: The identifier of the Product. explode: false in: path - name: settingId + name: productId required: true schema: - format: int32 - type: integer + format: uuid + type: string style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingFormulaModel' + $ref: '#/components/schemas/ProductModel' application/hal+json: schema: - $ref: '#/components/schemas/SettingFormulaModel-haljson' - description: "When everything is ok, the setting value data returned." + $ref: '#/components/schemas/ProductModel-haljson' + description: "When everything is ok, the product data returned." "400": description: Bad request. "404": @@ -2638,328 +1700,86 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get value + summary: Get Product tags: - - Feature Flag & Setting values V2 - patch: - description: "This endpoint updates the value of a Feature Flag or Setting\n\ - with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ - \ Environment.\n\nOnly the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute`\ - \ fields are modifiable by this endpoint.\n\nThe advantage of using JSON Patch\ - \ is that you can describe individual update operations on a resource\nwithout\ - \ touching attributes that you don't want to change. It supports collection\ - \ reordering, so it also\ncan be used for reordering the targeting rules of\ - \ a Feature Flag or Setting.\n\nFor example: We have the following resource\ - \ of a Feature Flag.\n```\n{\n\t\"defaultValue\": {\n \"boolValue\"\ - : false,\n },\n\t\"targetingRules\": [\n {\n \"conditions\"\ - : [\n {\n \"userCondition\": {\n \ - \ \"comparisonAttribute\": \"Email\",\n \ - \ \"comparator\": \"sensitiveTextEquals\",\n \"\ - comparisonValue\": {\n \"stringValue\": \"test@example.com\"\ - ,\n }\n },\n }\n\ - \ ],\n \"percentageOptions\": [],\n \"value\"\ - : {\n \"boolValue\": true,\n }\n }\n ],\n\ - }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ - : \"replace\",\n\t\t\"path\": \"/targetingRules/0/value/boolValue\",\n\t\t\ - \"value\": true\n\t}\n]\n```\nOnly the first Targeting Rule's `value` is going\ - \ to be set to `false` and all the other fields are remaining unchanged.\n\ - \nSo we get a response like this:\n```\n{\n\t\"defaultValue\": {\n \ - \ \"boolValue\": false,\n },\n\t\"targetingRules\": [\n {\n \ - \ \"conditions\": [\n {\n \"userCondition\"\ - : {\n \"comparisonAttribute\": \"Email\",\n \ - \ \"comparator\": \"sensitiveTextEquals\",\n \ - \ \"comparisonValue\": {\n \"stringValue\"\ - : \"test@example.com\",\n }\n },\n\ - \ }\n ],\n \"percentageOptions\": [],\n\ - \ \"value\": {\n \"boolValue\": false,\n \ - \ }\n }\n ],\n}\n```" - operationId: update-setting-value-v2 + - Products + put: + description: This endpoint updates a Product identified by the `productId` parameter. + operationId: update-product parameters: - - description: The identifier of the Environment. + - description: The identifier of the Product. explode: false in: path - name: environmentId + name: productId required: true schema: format: uuid type: string style: simple - - description: The id of the Setting. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateProductRequest' + text/json: + schema: + $ref: '#/components/schemas/UpdateProductRequest' + application/*+json: + schema: + $ref: '#/components/schemas/UpdateProductRequest' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/ProductModel' + application/hal+json: + schema: + $ref: '#/components/schemas/ProductModel-haljson' + description: "" + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Update Product + tags: + - Products + /v1/products/{productId}/members: + get: + description: "This endpoint returns the list of Members that belongs \nto the\ + \ given Product, identified by the `productId` parameter." + operationId: get-product-members + parameters: + - description: The identifier of the Product. explode: false in: path - name: settingId + name: productId required: true schema: - format: int32 - type: integer - style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false - schema: + format: uuid type: string - style: form - requestBody: - content: - application/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /defaultValue/boolValue - value: true - add targeting rules: - description: This example adds an evaluation rule with two conditions - to the Flag's targeting rules. - value: - - op: replace - path: /targetingRules/- - value: - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - modify targeting rule: - description: This example modifies a targeting rule's value. - value: - - op: replace - path: /targetingRules/0/value/boolValue - value: "true" - modify targeting rule's condition: - description: This example modifies a condition's comparison attribute - within a targeting rule. - value: - - op: replace - path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute - value: Role - add segment condition: - description: This example adds a segment condition to a targeting - rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - segmentCondition: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - add prerequisite flag condition: - description: This example adds a prerequisite flag condition to a - targeting rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - prerequisiteFlagCondition: - prerequisiteSettingId: isIn - comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - prerequisiteComparisonValue: - boolValue: true - reorder targeting rules: - description: This example swaps the first and the second targeting - rule. - value: - - op: move - path: /targetingRules/1 - from: /targetingRules/0 - reorder targeting rule conditions: - description: This example swaps the first and the second condition - of a targeting rule. - value: - - op: move - path: /targetingRules/0/conditions/1 - from: /targetingRules/0/conditions/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - text/json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /defaultValue/boolValue - value: true - add targeting rules: - description: This example adds an evaluation rule with two conditions - to the Flag's targeting rules. - value: - - op: replace - path: /targetingRules/- - value: - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - modify targeting rule: - description: This example modifies a targeting rule's value. - value: - - op: replace - path: /targetingRules/0/value/boolValue - value: "true" - modify targeting rule's condition: - description: This example modifies a condition's comparison attribute - within a targeting rule. - value: - - op: replace - path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute - value: Role - add segment condition: - description: This example adds a segment condition to a targeting - rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - segmentCondition: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - add prerequisite flag condition: - description: This example adds a prerequisite flag condition to a - targeting rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - prerequisiteFlagCondition: - prerequisiteSettingId: isIn - comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - prerequisiteComparisonValue: - boolValue: true - reorder targeting rules: - description: This example swaps the first and the second targeting - rule. - value: - - op: move - path: /targetingRules/1 - from: /targetingRules/0 - reorder targeting rule conditions: - description: This example swaps the first and the second condition - of a targeting rule. - value: - - op: move - path: /targetingRules/0/conditions/1 - from: /targetingRules/0/conditions/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - application/*+json: - examples: - turn on a feature flag: - description: This example turns on a feature flag. - value: - - op: replace - path: /defaultValue/boolValue - value: true - add targeting rules: - description: This example adds an evaluation rule with two conditions - to the Flag's targeting rules. - value: - - op: replace - path: /targetingRules/- - value: - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - modify targeting rule: - description: This example modifies a targeting rule's value. - value: - - op: replace - path: /targetingRules/0/value/boolValue - value: "true" - modify targeting rule's condition: - description: This example modifies a condition's comparison attribute - within a targeting rule. - value: - - op: replace - path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute - value: Role - add segment condition: - description: This example adds a segment condition to a targeting - rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - segmentCondition: - segmentComparator: isIn - segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - add prerequisite flag condition: - description: This example adds a prerequisite flag condition to a - targeting rule. - value: - - op: add - path: /targetingRules/0/conditions/- - value: - prerequisiteFlagCondition: - prerequisiteSettingId: isIn - comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff - prerequisiteComparisonValue: - boolValue: true - reorder targeting rules: - description: This example swaps the first and the second targeting - rule. - value: - - op: move - path: /targetingRules/1 - from: /targetingRules/0 - reorder targeting rule conditions: - description: This example swaps the first and the second condition - of a targeting rule. - value: - - op: move - path: /targetingRules/0/conditions/1 - from: /targetingRules/0/conditions/0 - schema: - items: - $ref: '#/components/schemas/JsonPatchOperation' - type: array - required: true + style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SettingFormulaModel' + items: + $ref: '#/components/schemas/MemberModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/SettingFormulaModel-haljson' - description: When the patch was successful. - "204": - description: When no change applied on the resource. + items: + $ref: '#/components/schemas/MemberModel' + type: array + description: "" "400": description: Bad request. "404": @@ -2970,162 +1790,26 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update value + summary: List Product Members tags: - - Feature Flag & Setting values V2 - put: - description: "This endpoint replaces the value and the Targeting Rules of a\ - \ Feature Flag or Setting\nin a specified Environment identified by the SDK key passed in the `X-CONFIGCAT-SDKKEY` header.\n\nOnly the `defaultValue`,\ - \ `targetingRules`, and `percentageEvaluationAttribute` fields are modifiable\ - \ by this endpoint.\n\n**Important:** As this endpoint is doing a complete\ - \ replace, it's important to set every other field that you don't\nwant to\ - \ change to its original state. Not listing one means that it will reset.\n\ - \nFor example: We have the following resource of a Feature Flag.\n```\n{\n\ - \t\"defaultValue\": {\n \"boolValue\": false,\n },\n\t\"targetingRules\"\ - : [\n {\n \"conditions\": [\n {\n \ - \ \"userCondition\": {\n \"comparisonAttribute\"\ - : \"Email\",\n \"comparator\": \"sensitiveTextEquals\"\ - ,\n \"comparisonValue\": {\n \ - \ \"stringValue\": \"test@example.com\",\n }\n\ - \ },\n }\n ],\n \"\ - percentageOptions\": [],\n \"value\": {\n \"boolValue\"\ - : true,\n }\n }\n ],\n}\n```\nIf we send a replace request\ - \ body as below:\n```\n{\n\t\"defaultValue\": {\n \"boolValue\": true,\n\ - \ },\n}\n```\nThen besides that the default served value is set to `true`,\ - \ all the Targeting Rules are deleted.\nSo we get a response like this:\n\ - ```\n{\n \"defaultValue\": {\n \"boolValue\": true,\n },\n \ - \ \"targetingRules\": [],\n}\n```" - operationId: replace-setting-value-v2 + - Members + /v1/segments/{segmentId}: + delete: + description: This endpoint removes a Segment identified by the `segmentId` parameter. + operationId: delete-segment parameters: - - description: The identifier of the Environment. + - description: The identifier of the Segment. explode: false in: path - name: environmentId + name: segmentId required: true schema: format: uuid type: string style: simple - - description: The id of the Setting. - explode: false - in: path - name: settingId - required: true - schema: - format: int32 - type: integer - style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false - schema: - type: string - style: form - requestBody: - content: - application/json: - examples: - simple: - description: This example turns on a feature flag. - value: - defaultValue: - boolValue: true - advanced: - description: This example turns on a feature flag and adds an evaluation - rule with two conditions to its targeting rules. - value: - defaultValue: - boolValue: true - targetingRules: - - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - schema: - $ref: '#/components/schemas/UpdateEvaluationFormulaModel' - text/json: - examples: - simple: - description: This example turns on a feature flag. - value: - defaultValue: - boolValue: true - advanced: - description: This example turns on a feature flag and adds an evaluation - rule with two conditions to its targeting rules. - value: - defaultValue: - boolValue: true - targetingRules: - - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - schema: - $ref: '#/components/schemas/UpdateEvaluationFormulaModel' - application/*+json: - examples: - simple: - description: This example turns on a feature flag. - value: - defaultValue: - boolValue: true - advanced: - description: This example turns on a feature flag and adds an evaluation - rule with two conditions to its targeting rules. - value: - defaultValue: - boolValue: true - targetingRules: - - conditions: - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Email - comparisonValue: - stringValue: example@test.com - - userCondition: - comparator: sensitiveTextEquals - comparisonAttribute: Role - comparisonValue: - stringValue: Developer - value: - boolValue: false - schema: - $ref: '#/components/schemas/UpdateEvaluationFormulaModel' - required: true responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SettingFormulaModel' - application/hal+json: - schema: - $ref: '#/components/schemas/SettingFormulaModel-haljson' - description: "" + "204": + description: When the delete was successful. "400": description: Bad request. "404": @@ -3136,40 +1820,19 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Replace value + summary: Delete Segment tags: - - Feature Flag & Setting values V2 - /v2/configs/{configId}/environments/{environmentId}/values: + - Segments get: description: |- - This endpoint returns all Feature Flag and Setting values of a Config identified by the `configId` parameter - in a specified Environment identified by the `environmentId` parameter. - - The most important fields in the response are the `defaultValue`, `targetingRules`. - The `defaultValue` represents what the clients will get when the evaluation requests of our SDKs - are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate. - - The `targetingRules` represents the current - Targeting Rule configuration of the actual Feature Flag or Setting - in an **ordered** collection, which means the order of the returned rules is matching to the - evaluation order. You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/). - - The `percentageEvaluationAttribute` represents the custom [User Object](https://configcat.com/docs/advanced/user-object/) attribute that must be used for [percentage evaluation](https://configcat.com/docs/advanced/targeting/#anatomy-of-the-percentage-based-targeting) of the Feature Flag or Setting. - operationId: get-setting-values-v2 + This endpoint returns the metadata of a Segment + identified by the `segmentId`. + operationId: get-segment parameters: - - description: The identifier of the Config. - explode: false - in: path - name: configId - required: true - schema: - format: uuid - type: string - style: simple - - description: The identifier of the Environment. + - description: The identifier of the Segment. explode: false in: path - name: environmentId + name: segmentId required: true schema: format: uuid @@ -3180,11 +1843,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ConfigSettingFormulasModel' + $ref: '#/components/schemas/SegmentModel' application/hal+json: schema: - $ref: '#/components/schemas/ConfigSettingFormulasModel-haljson' - description: "When everything is ok, the setting values returned." + $ref: '#/components/schemas/SegmentModel-haljson' + description: "When everything is ok, the config data returned." "400": description: Bad request. "404": @@ -3195,131 +1858,43 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get values + summary: Get Segment tags: - - Feature Flag & Setting values V2 - post: - description: "This endpoint batch updates the Feature Flags and Settings of\ - \ a Config identified by the `configId` parameter\nin a specified Environment\ - \ identified by the `environmentId` parameter.\n\nOnly those Feature Flags\ - \ and Settings are updated which are part of the request, all the others are\ - \ left untouched.\n\n**Important:** As this endpoint is doing a complete replace\ - \ on those Feature Flags and Settings, which are set in the request. \nIt's\ - \ important to set every other field that you don't want to change in its\ - \ original state. Not listing a field means that it will reset.\n\nFor example:\ - \ We have the following resource of a Feature Flag.\n```\n{\n \"settingValues\"\ - : [\n\t\t{\n\t\t\t\"defaultValue\": {\n \"boolValue\": false,\n\ - \ },\n \"targetingRules\": [\n {\n \ - \ \"conditions\": [\n {\n \ - \ \"userCondition\": {\n \ - \ \"comparisonAttribute\": \"Email\",\n \"\ - comparator\": \"sensitiveTextEquals\",\n \"\ - comparisonValue\": {\n \"stringValue\"\ - : \"test@example.com\",\n }\n \ - \ },\n }\n ],\n \ - \ \"percentageOptions\": [],\n \"value\"\ - : {\n \"boolValue\": true,\n }\n\ - \ }\n ],\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n\ - ```\nIf we send a batch replace request body as below:\n```\n{ \n\t\"settingValues\"\ - : [\n\t\t{\n\t\t\t\"defaultValue\": {\n \"boolValue\": false,\n\ - \ },\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n```\nThen besides\ - \ that the default value is set to `true`, all Targeting Rules of the related\ - \ Feature Flag are deleted.\nSo we get a response like this:\n```\n{\n\t\"\ - settingValues\": [\n\t\t{\n\t\t\t\"defaultValue\": {\n \"boolValue\"\ - : false,\n },\n \"targetingRules\": [],\n\t\t\t\"setting\"\ - : \n\t\t\t{\n\t\t\t\t\"settingId\": 1\n\t\t\t}\n\t\t}\n\t]\n}\n```" - operationId: post-setting-values-v2 + - Segments + put: + description: This endpoint updates a Segment identified by the `segmentId` parameter. + operationId: update-segment parameters: - - description: The identifier of the Config. - explode: false - in: path - name: configId - required: true - schema: - format: uuid - type: string - style: simple - - description: The identifier of the Environment. + - description: The identifier of the Segment. explode: false in: path - name: environmentId + name: segmentId required: true schema: format: uuid type: string style: simple - - description: The reason note for the Audit Log if the Product's "Config changes - require a reason" preference is turned on. - explode: true - in: query - name: reason - required: false - schema: - type: string - style: form requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateEvaluationFormulasModel' + $ref: '#/components/schemas/UpdateSegmentModel' text/json: schema: - $ref: '#/components/schemas/UpdateEvaluationFormulasModel' + $ref: '#/components/schemas/UpdateSegmentModel' application/*+json: schema: - $ref: '#/components/schemas/UpdateEvaluationFormulasModel' + $ref: '#/components/schemas/UpdateSegmentModel' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ConfigSettingFormulasModel' + $ref: '#/components/schemas/SegmentModel' application/hal+json: schema: - $ref: '#/components/schemas/ConfigSettingFormulasModel-haljson' - description: "When everything is ok, the updated setting values returned." - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Post values - tags: - - Feature Flag & Setting values V2 - /v1/configs/{configId}/settings: - get: - description: "This endpoint returns the list of the Feature Flags and Settings\ - \ defined in a \nspecified Config, identified by the `configId` parameter." - operationId: get-settings - parameters: - - description: The identifier of the Config. - explode: false - in: path - name: configId - required: true - schema: - format: uuid - type: string - style: simple - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/SettingModel' - type: array - application/hal+json: - schema: - items: - $ref: '#/components/schemas/SettingModel-haljson' - type: array + $ref: '#/components/schemas/SegmentModel-haljson' description: "" "400": description: Bad request. @@ -3331,61 +1906,9 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Flags - tags: - - Feature Flags & Settings - post: - description: |- - This endpoint creates a new Feature Flag or Setting in a specified Config - identified by the `configId` parameter. - - **Important:** The `key` attribute must be unique within the given Config. - operationId: create-setting - parameters: - - description: The identifier of the Config. - explode: false - in: path - name: configId - required: true - schema: - format: uuid - type: string - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateSettingInitialValues' - text/json: - schema: - $ref: '#/components/schemas/CreateSettingInitialValues' - application/*+json: - schema: - $ref: '#/components/schemas/CreateSettingInitialValues' - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/SettingModel' - application/hal+json: - schema: - $ref: '#/components/schemas/SettingModel-haljson' - description: When the creation was successful. - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Create Flag + summary: Update Segment tags: - - Feature Flags & Settings + - Segments /v1/settings/{settingId}: delete: description: "This endpoint removes a Feature Flag or Setting from a specified\ @@ -3532,38 +2055,35 @@ paths: summary: Update Flag tags: - Feature Flags & Settings - /v1/integrationLink/{integrationLinkType}/{key}/details: + /v1/tags/{tagId}/settings: get: - description: "" - operationId: get-integration-link-details + description: "This endpoint returns the list of the Settings that \nhas the\ + \ specified Tag, identified by the `tagId` parameter." + operationId: get-settings-by-tag parameters: - - description: The integration link's type. - explode: false - in: path - name: integrationLinkType - required: true - schema: - $ref: '#/components/schemas/IntegrationLinkType' - style: simple - - description: The key of the integration link. + - description: The identifier of the Tag. explode: false in: path - name: key + name: tagId required: true schema: - type: string + format: int64 + type: integer style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/IntegrationLinkDetailsModel' + items: + $ref: '#/components/schemas/SettingModel' + type: array application/hal+json: schema: - $ref: '#/components/schemas/IntegrationLinkDetailsModel' - description: "When everything is ok, the details for the integration link\ - \ returned." + items: + $ref: '#/components/schemas/SettingModel-haljson' + type: array + description: "When everything is ok, the settings data returned." "400": description: Bad request. "404": @@ -3574,45 +2094,39 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Integration link + summary: List Settings by Tag tags: - - Integration links - /v1/environments/{environmentId}/settings/{settingId}/integrationLinks/{integrationLinkType}/{key}: - delete: - description: "" - operationId: delete-integration-link + - Tags + /v1/settings/{settingKeyOrId}/value: + get: + description: "This endpoint returns the value of a Feature Flag or Setting \n\ + in a specified Environment identified by the SDK key passed\ + \ in the `X-CONFIGCAT-SDKKEY` header.\n\nThe most important attributes in\ + \ the response are the `value`, `rolloutRules` and `percentageRules`.\nThe\ + \ `value` represents what the clients will get when the evaluation requests\ + \ of our SDKs \nare not matching to any of the defined Targeting or Percentage\ + \ Rules, or when there are no additional rules to evaluate.\n\nThe `rolloutRules`\ + \ and `percentageRules` attributes are representing the current \nTargeting\ + \ and Percentage Rules configuration of the actual Feature Flag or Setting\ + \ \nin an **ordered** collection, which means the order of the returned rules\ + \ is matching to the\nevaluation order. You can read more about these rules\ + \ [here](https://configcat.com/docs/advanced/targeting/)." + operationId: get-setting-value-by-sdkkey parameters: - - description: The identifier of the Environment. + - description: The key or id of the Setting. explode: false in: path - name: environmentId + name: settingKeyOrId required: true schema: - format: uuid type: string style: simple - - description: The id of the Setting. - explode: false - in: path - name: settingId - required: true - schema: - format: int32 - type: integer - style: simple - - description: The integration's type. - explode: false - in: path - name: integrationLinkType - required: true - schema: - $ref: '#/components/schemas/IntegrationLinkType' - style: simple - - description: The key of the integration link. + - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) explode: false - in: path - name: key - required: true + in: header + name: X-CONFIGCAT-SDKKEY + required: false schema: type: string style: simple @@ -3621,11 +2135,11 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/DeleteIntegrationLinkModel' + $ref: '#/components/schemas/SettingValueModel' application/hal+json: schema: - $ref: '#/components/schemas/DeleteIntegrationLinkModel' - description: When everything is ok. + $ref: '#/components/schemas/SettingValueModel-haljson' + description: "" "400": description: Bad request. "404": @@ -3636,68 +2150,279 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Delete Integration link + summary: Get value tags: - - Integration links - post: - description: "" - operationId: add-or-update-integration-link + - Feature Flag & Setting values using SDK Key + patch: + description: "This endpoint updates the value of a Feature Flag or Setting \n\ + with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ + \ Environment\nidentified by the SDK key passed in the `X-CONFIGCAT-SDKKEY`\ + \ header.\n\nOnly the `value`, `rolloutRules` and `percentageRules` attributes\ + \ are modifiable by this endpoint.\n\nThe advantage of using JSON Patch is\ + \ that you can describe individual update operations on a resource\nwithout\ + \ touching attributes that you don't want to change. It supports collection\ + \ reordering, so it also \ncan be used for reordering the targeting rules\ + \ of a Feature Flag or Setting.\n\nFor example: We have the following resource.\n\ + ```\n{\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\ + \t\t\t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"\ + value\": false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n\ + }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ + : \"replace\",\n\t\t\"path\": \"/value\",\n\t\t\"value\": true\n\t}\n]\n```\n\ + Only the default served value is going to be set to `true` and all the Percentage\ + \ Rules are remaining unchanged.\nSo we get a response like this:\n```\n{\n\ + \t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\t\t\t\"\ + value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"value\":\ + \ false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": true\n}\n```" + operationId: update-setting-value-by-sdkkey parameters: - - description: The identifier of the Environment. + - description: The key or id of the Setting. explode: false in: path - name: environmentId + name: settingKeyOrId required: true schema: - format: uuid type: string style: simple - - description: The id of the Setting. - explode: false - in: path - name: settingId - required: true + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false schema: - format: int32 - type: integer - style: simple - - description: The integration link's type. + type: string + style: form + - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) explode: false - in: path - name: integrationLinkType - required: true + in: header + name: X-CONFIGCAT-SDKKEY + required: false schema: - $ref: '#/components/schemas/IntegrationLinkType' - style: simple - - description: The key of the integration link. - explode: false - in: path - name: key - required: true - schema: - type: string + type: string style: simple requestBody: content: application/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /value + value: true + add percentage rules: + description: This example adds two items to the percentage evaluation + rules. + value: + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 30 + value: true + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 70 + value: false + add targeting rules: + description: This example adds two items to the targeting evaluation + rules. + value: + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: contains + comparisonValue: '@example.com' + value: true + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: isOneOf + comparisonValue: '@blacklist.com' + value: false + modify targeting rule: + description: This example modifies the first targeting rule's comparison + value and the second's value. + value: + - op: replace + path: /rolloutRules/0/comparisonValue + value: '@example2.com' + - op: replace + path: /rolloutRules/1/value + value: true + add segment rules: + description: This example adds a segment to the evaluation rules. + value: + - op: add + path: /rolloutRules/- + value: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + reorder targeting rules: + description: This example swaps the first and the second targeting + evaluation rule. + value: + - op: move + path: /rolloutRules/1 + from: /rolloutRules/0 schema: - $ref: '#/components/schemas/AddOrUpdateIntegrationLinkModel' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array text/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /value + value: true + add percentage rules: + description: This example adds two items to the percentage evaluation + rules. + value: + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 30 + value: true + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 70 + value: false + add targeting rules: + description: This example adds two items to the targeting evaluation + rules. + value: + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: contains + comparisonValue: '@example.com' + value: true + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: isOneOf + comparisonValue: '@blacklist.com' + value: false + modify targeting rule: + description: This example modifies the first targeting rule's comparison + value and the second's value. + value: + - op: replace + path: /rolloutRules/0/comparisonValue + value: '@example2.com' + - op: replace + path: /rolloutRules/1/value + value: true + add segment rules: + description: This example adds a segment to the evaluation rules. + value: + - op: add + path: /rolloutRules/- + value: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + reorder targeting rules: + description: This example swaps the first and the second targeting + evaluation rule. + value: + - op: move + path: /rolloutRules/1 + from: /rolloutRules/0 schema: - $ref: '#/components/schemas/AddOrUpdateIntegrationLinkModel' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array application/*+json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /value + value: true + add percentage rules: + description: This example adds two items to the percentage evaluation + rules. + value: + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 30 + value: true + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 70 + value: false + add targeting rules: + description: This example adds two items to the targeting evaluation + rules. + value: + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: contains + comparisonValue: '@example.com' + value: true + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: isOneOf + comparisonValue: '@blacklist.com' + value: false + modify targeting rule: + description: This example modifies the first targeting rule's comparison + value and the second's value. + value: + - op: replace + path: /rolloutRules/0/comparisonValue + value: '@example2.com' + - op: replace + path: /rolloutRules/1/value + value: true + add segment rules: + description: This example adds a segment to the evaluation rules. + value: + - op: add + path: /rolloutRules/- + value: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + reorder targeting rules: + description: This example swaps the first and the second targeting + evaluation rule. + value: + - op: move + path: /rolloutRules/1 + from: /rolloutRules/0 schema: - $ref: '#/components/schemas/AddOrUpdateIntegrationLinkModel' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/IntegrationLinkModel' + $ref: '#/components/schemas/SettingValueModel' application/hal+json: schema: - $ref: '#/components/schemas/IntegrationLinkModel' - description: "When everything is ok, the integration link data returned." + $ref: '#/components/schemas/SettingValueModel-haljson' + description: "" + "204": + description: When no change applied on the resource. "400": description: Bad request. "404": @@ -3708,84 +2433,120 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Add or update Integration link - tags: - - Integration links - /v1/jira/Connect: - post: - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ConnectRequest' - text/json: - schema: - $ref: '#/components/schemas/ConnectRequest' - application/*+json: - schema: - $ref: '#/components/schemas/ConnectRequest' - responses: - "200": - description: Success - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. + summary: Update value tags: - - Integration links - /v1/jira/environments/{environmentId}/settings/{settingId}/integrationLinks/{key}: - post: - operationId: jira-add-or-update-integration-link - parameters: - - description: The identifier of the Environment. - explode: false - in: path - name: environmentId - required: true - schema: - format: uuid - type: string - style: simple - - description: The id of the Setting. + - Feature Flag & Setting values using SDK Key + put: + description: "This endpoint replaces the value of a Feature Flag or Setting\ + \ \nin a specified Environment identified by the SDK key\ + \ passed in the `X-CONFIGCAT-SDKKEY` header.\n\nOnly the `value`, `rolloutRules`\ + \ and `percentageRules` attributes are modifiable by this endpoint.\n\n**Important:**\ + \ As this endpoint is doing a complete replace, it's important to set every\ + \ other attribute that you don't \nwant to change to its original state. Not\ + \ listing one means that it will reset.\n\nFor example: We have the following\ + \ resource.\n```\n{\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\"\ + : 30,\n\t\t\t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\ + \t\t\"value\": false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n\ + }\n```\nIf we send a replace request body as below:\n```\n{\n\t\"value\":\ + \ true\n}\n```\nThen besides that the default served value is set to `true`,\ + \ all the Percentage Rules are deleted. \nSo we get a response like this:\n\ + ```\n{\n\t\"rolloutPercentageItems\": [],\n\t\"rolloutRules\": [],\n\t\"value\"\ + : true\n}\n```" + operationId: replace-setting-value-by-sdkkey + parameters: + - description: The key or id of the Setting. explode: false in: path - name: settingId + name: settingKeyOrId required: true schema: - format: int32 - type: integer + type: string style: simple - - description: The key of the integration link. + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form + - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) explode: false - in: path - name: key - required: true + in: header + name: X-CONFIGCAT-SDKKEY + required: false schema: type: string style: simple requestBody: content: application/json: + examples: + simple: + description: This example turns on a feature flag. + value: + value: true + advanced: + description: This example turns on a feature flag and adds two items + to its percentage evaluation rules. + value: + value: true + rolloutPercentageItems: + - percentage: 30 + value: true + - percentage: 70 + value: false schema: - $ref: '#/components/schemas/AddOrUpdateJiraIntegrationLinkModel' + $ref: '#/components/schemas/UpdateSettingValueModel' text/json: + examples: + simple: + description: This example turns on a feature flag. + value: + value: true + advanced: + description: This example turns on a feature flag and adds two items + to its percentage evaluation rules. + value: + value: true + rolloutPercentageItems: + - percentage: 30 + value: true + - percentage: 70 + value: false schema: - $ref: '#/components/schemas/AddOrUpdateJiraIntegrationLinkModel' + $ref: '#/components/schemas/UpdateSettingValueModel' application/*+json: + examples: + simple: + description: This example turns on a feature flag. + value: + value: true + advanced: + description: This example turns on a feature flag and adds two items + to its percentage evaluation rules. + value: + value: true + rolloutPercentageItems: + - percentage: 30 + value: true + - percentage: 70 + value: false schema: - $ref: '#/components/schemas/AddOrUpdateJiraIntegrationLinkModel' + $ref: '#/components/schemas/UpdateSettingValueModel' + required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/IntegrationLinkModel' + $ref: '#/components/schemas/SettingValueModel' application/hal+json: schema: - $ref: '#/components/schemas/IntegrationLinkModel' - description: "When everything is ok, the integration link data returned." + $ref: '#/components/schemas/SettingValueModel-haljson' + description: "" "400": description: Bad request. "404": @@ -3796,108 +2557,52 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. + summary: Replace value tags: - - Integration links - /v1/me: - get: - description: "" - operationId: get-me - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/MeModel' - application/hal+json: - schema: - $ref: '#/components/schemas/MeModel' - description: "" - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Get authenticated user details - tags: - - Me - /v1/organizations/{organizationId}/members: + - Feature Flag & Setting values using SDK Key + /v1/environments/{environmentId}/settings/{settingId}/value: get: - description: "This endpoint returns the list of Members that belongs \nto the\ - \ given Organization, identified by the `organizationId` parameter.\n\nThe\ - \ results may vary based on the access level of the user who calls the endpoint:\ - \ \n- When it's called with Organization Admin privileges, the result will\ - \ contain each member in the Organization.\n- When it's called without Organization\ - \ Admin privileges, the result will contain each Organization Admin along\ - \ with members \n of those products where the caller has `Team members and\ - \ permission groups` (`canManageMembers`) permission." - operationId: get-organization-members + description: "This endpoint returns the value of a Feature Flag or Setting \n\ + in a specified Environment identified by the `environmentId` parameter.\n\n\ + The most important attributes in the response are the `value`, `rolloutRules`\ + \ and `percentageRules`.\nThe `value` represents what the clients will get\ + \ when the evaluation requests of our SDKs \nare not matching to any of the\ + \ defined Targeting or Percentage Rules, or when there are no additional rules\ + \ to evaluate.\n\nThe `rolloutRules` and `percentageRules` attributes are\ + \ representing the current \nTargeting and Percentage Rules configuration\ + \ of the actual Feature Flag or Setting \nin an **ordered** collection, which\ + \ means the order of the returned rules is matching to the\nevaluation order.\ + \ You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/)." + operationId: get-setting-value parameters: - - description: The identifier of the Organization. + - description: The identifier of the Environment. explode: false in: path - name: organizationId + name: environmentId required: true schema: format: uuid type: string style: simple - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/UserModel' - type: array - application/hal+json: - schema: - items: - $ref: '#/components/schemas/UserModel' - type: array - description: "" - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: List Organization Members - tags: - - Members - /v1/products/{productId}/members: - get: - description: "This endpoint returns the list of Members that belongs \nto the\ - \ given Product, identified by the `productId` parameter." - operationId: get-product-members - parameters: - - description: The identifier of the Product. + - description: The id of the Setting. explode: false in: path - name: productId + name: settingId required: true schema: - format: uuid - type: string + format: int32 + type: integer style: simple responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/MemberModel' - type: array + $ref: '#/components/schemas/SettingValueModel' application/hal+json: schema: - items: - $ref: '#/components/schemas/MemberModel' - type: array - description: "" + $ref: '#/components/schemas/SettingValueModel-haljson' + description: "When everything is ok, the setting value data returned." "400": description: Bad request. "404": @@ -3908,130 +2613,413 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Product Members + summary: Get value tags: - - Members - /v1/organizations/{organizationId}/members/{userId}: - delete: - description: "This endpoint removes a Member identified by the `userId` from\ - \ the \ngiven Organization identified by the `organizationId` parameter." - operationId: delete-organization-member + - Feature Flag & Setting values + patch: + description: "This endpoint updates the value of a Feature Flag or Setting \n\ + with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ + \ Environment.\n\nOnly the `value`, `rolloutRules` and `percentageRules` attributes\ + \ are modifiable by this endpoint.\n\nThe advantage of using JSON Patch is\ + \ that you can describe individual update operations on a resource\nwithout\ + \ touching attributes that you don't want to change. It supports collection\ + \ reordering, so it also \ncan be used for reordering the targeting rules\ + \ of a Feature Flag or Setting.\n\nFor example: We have the following resource.\n\ + ```\n{\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\ + \t\t\t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"\ + value\": false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n\ + }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ + : \"replace\",\n\t\t\"path\": \"/value\",\n\t\t\"value\": true\n\t}\n]\n```\n\ + Only the default value is going to be set to `true` and all the Percentage\ + \ Rules are remaining unchanged.\nSo we get a response like this:\n```\n{\n\ + \t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\t\t\t\"\ + value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"value\":\ + \ false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": true\n}\n```\n\ + \nThe `rolloutRules` property describes two types of rules:\n\n- **Targeting\ + \ rules**: When you want to add or update a targeting rule, the `comparator`,\ + \ `comparisonAttribute`, and `comparisonValue` members are required.\n- **Segment\ + \ rules**: When you want to add add or update a segment rule, the `segmentId`\ + \ which identifies the desired segment and the `segmentComparator` members\ + \ are required." + operationId: update-setting-value parameters: - - description: The identifier of the Organization. + - description: The identifier of the Environment. explode: false in: path - name: organizationId + name: environmentId required: true schema: format: uuid type: string style: simple - - description: The identifier of the Member. + - description: The id of the Setting. explode: false in: path - name: userId + name: settingId required: true schema: - type: string + format: int32 + type: integer style: simple - responses: - "204": - description: When the delete was successful. - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Delete Member from Organization - tags: - - Members - post: - description: "This endpoint adds a Member identified by the `userId` to one\ - \ or more Permission Groups. \nThis endpoint can also be used to move a Member\ - \ between Permission Groups within a Product.\nOnly a single Permission Group\ - \ can be set per Product." - operationId: add-member-to-group - parameters: - - description: The identifier of the Organization. - explode: false - in: path - name: organizationId - required: true - schema: - format: uuid - type: string - style: simple - - description: The identifier of the Member. - explode: false - in: path - name: userId - required: true + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false schema: type: string - style: simple + style: form requestBody: content: application/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /value + value: true + add percentage rules: + description: This example adds two items to the percentage evaluation + rules. + value: + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 30 + value: true + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 70 + value: false + add targeting rules: + description: This example adds two items to the targeting evaluation + rules. + value: + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: contains + comparisonValue: '@example.com' + value: true + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: isOneOf + comparisonValue: '@blacklist.com' + value: false + modify targeting rule: + description: This example modifies the first targeting rule's comparison + value and the second's value. + value: + - op: replace + path: /rolloutRules/0/comparisonValue + value: '@example2.com' + - op: replace + path: /rolloutRules/1/value + value: true + add segment rules: + description: This example adds a segment to the evaluation rules. + value: + - op: add + path: /rolloutRules/- + value: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + reorder targeting rules: + description: This example swaps the first and the second targeting + evaluation rule. + value: + - op: move + path: /rolloutRules/1 + from: /rolloutRules/0 schema: - $ref: '#/components/schemas/AddUserToGroupRequest' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array text/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /value + value: true + add percentage rules: + description: This example adds two items to the percentage evaluation + rules. + value: + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 30 + value: true + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 70 + value: false + add targeting rules: + description: This example adds two items to the targeting evaluation + rules. + value: + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: contains + comparisonValue: '@example.com' + value: true + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: isOneOf + comparisonValue: '@blacklist.com' + value: false + modify targeting rule: + description: This example modifies the first targeting rule's comparison + value and the second's value. + value: + - op: replace + path: /rolloutRules/0/comparisonValue + value: '@example2.com' + - op: replace + path: /rolloutRules/1/value + value: true + add segment rules: + description: This example adds a segment to the evaluation rules. + value: + - op: add + path: /rolloutRules/- + value: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + reorder targeting rules: + description: This example swaps the first and the second targeting + evaluation rule. + value: + - op: move + path: /rolloutRules/1 + from: /rolloutRules/0 schema: - $ref: '#/components/schemas/AddUserToGroupRequest' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array application/*+json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /value + value: true + add percentage rules: + description: This example adds two items to the percentage evaluation + rules. + value: + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 30 + value: true + - op: add + path: /rolloutPercentageItems/- + value: + percentage: 70 + value: false + add targeting rules: + description: This example adds two items to the targeting evaluation + rules. + value: + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: contains + comparisonValue: '@example.com' + value: true + - op: add + path: /rolloutRules/- + value: + comparisonAttribute: Identifier + comparator: isOneOf + comparisonValue: '@blacklist.com' + value: false + modify targeting rule: + description: This example modifies the first targeting rule's comparison + value and the second's value. + value: + - op: replace + path: /rolloutRules/0/comparisonValue + value: '@example2.com' + - op: replace + path: /rolloutRules/1/value + value: true + add segment rules: + description: This example adds a segment to the evaluation rules. + value: + - op: add + path: /rolloutRules/- + value: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + reorder targeting rules: + description: This example swaps the first and the second targeting + evaluation rule. + value: + - op: move + path: /rolloutRules/1 + from: /rolloutRules/0 schema: - $ref: '#/components/schemas/AddUserToGroupRequest' + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array required: true responses: "200": - description: When the addition was successful. - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": + content: + application/json: + schema: + $ref: '#/components/schemas/SettingValueModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingValueModel-haljson' + description: When the patch was successful. + "204": + description: When no change applied on the resource. + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Member Permissions + summary: Update value tags: - - Members - /v1/products/{productId}/members/invite: - post: - description: This endpoint invites a Member into the given Product identified - by the `productId` parameter. - operationId: invite-member + - Feature Flag & Setting values + put: + description: "This endpoint replaces the whole value of a Feature Flag or Setting\ + \ in a specified Environment.\n\nOnly the `value`, `rolloutRules` and `percentageRules`\ + \ attributes are modifiable by this endpoint.\n\n**Important:** As this endpoint\ + \ is doing a complete replace, it's important to set every other attribute\ + \ that you don't \nwant to change in its original state. Not listing one means\ + \ that it will reset.\n\nFor example: We have the following resource.\n```\n\ + {\n\t\"rolloutPercentageItems\": [\n\t\t{\n\t\t\t\"percentage\": 30,\n\t\t\ + \t\"value\": true\n\t\t},\n\t\t{\n\t\t\t\"percentage\": 70,\n\t\t\t\"value\"\ + : false\n\t\t}\n\t],\n\t\"rolloutRules\": [],\n\t\"value\": false\n}\n```\n\ + If we send a replace request body as below:\n```\n{\n\t\"value\": true\n}\n\ + ```\nThen besides that the default value is set to `true`, all the Percentage\ + \ Rules are deleted. \nSo we get a response like this:\n```\n{\n\t\"rolloutPercentageItems\"\ + : [],\n\t\"rolloutRules\": [],\n\t\"value\": true\n}\n```\n\nThe `rolloutRules`\ + \ property describes two types of rules:\n\n- **Targeting rules**: When you\ + \ want to add or update a targeting rule, the `comparator`, `comparisonAttribute`,\ + \ and `comparisonValue` members are required.\n- **Segment rules**: When you\ + \ want to add add or update a segment rule, the `segmentId` which identifies\ + \ the desired segment and the `segmentComparator` members are required." + operationId: replace-setting-value parameters: - - description: The identifier of the Product. + - description: The identifier of the Environment. explode: false in: path - name: productId + name: environmentId required: true schema: format: uuid type: string style: simple + - description: The id of the Setting. + explode: false + in: path + name: settingId + required: true + schema: + format: int32 + type: integer + style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form requestBody: content: application/json: + examples: + simple: + description: This example turns on a feature flag. + value: + value: true + advanced: + description: This example turns on a feature flag and adds two items + to its percentage evaluation rules. + value: + value: true + rolloutPercentageItems: + - percentage: 30 + value: true + - percentage: 70 + value: false schema: - $ref: '#/components/schemas/InviteMembersRequest' + $ref: '#/components/schemas/UpdateSettingValueModel' text/json: + examples: + simple: + description: This example turns on a feature flag. + value: + value: true + advanced: + description: This example turns on a feature flag and adds two items + to its percentage evaluation rules. + value: + value: true + rolloutPercentageItems: + - percentage: 30 + value: true + - percentage: 70 + value: false schema: - $ref: '#/components/schemas/InviteMembersRequest' + $ref: '#/components/schemas/UpdateSettingValueModel' application/*+json: + examples: + simple: + description: This example turns on a feature flag. + value: + value: true + advanced: + description: This example turns on a feature flag and adds two items + to its percentage evaluation rules. + value: + value: true + rolloutPercentageItems: + - percentage: 30 + value: true + - percentage: 70 + value: false schema: - $ref: '#/components/schemas/InviteMembersRequest' + $ref: '#/components/schemas/UpdateSettingValueModel' required: true responses: "200": - description: When the invite was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/SettingValueModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingValueModel-haljson' + description: "" "400": description: Bad request. "404": @@ -4042,187 +3030,1104 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Invite Member + summary: Replace value tags: - - Members - /v1/products/{productId}/members/{userId}: - delete: - description: "This endpoint removes a Member identified by the `userId` from\ - \ the \ngiven Product identified by the `productId` parameter." - operationId: delete-product-member + - Feature Flag & Setting values + /v2/settings/{settingKeyOrId}/value: + get: + description: |- + This endpoint returns the value of a Feature Flag or Setting + in a specified Environment identified by the SDK key passed in the `X-CONFIGCAT-SDKKEY` header. + + The most important fields in the response are the `defaultValue`, `targetingRules`. + The `defaultValue` represents what the clients will get when the evaluation requests of our SDKs + are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate. + + The `targetingRules` represents the current + Targeting Rule configuration of the actual Feature Flag or Setting + in an **ordered** collection, which means the order of the returned rules is matching to the + evaluation order. You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/). + + The `percentageEvaluationAttribute` represents the custom [User Object](https://configcat.com/docs/advanced/user-object/) attribute that must be used at the [percentage evaluation](https://configcat.com/docs/advanced/targeting/#anatomy-of-the-percentage-based-targeting) of the Feature Flag or Setting. + operationId: get-setting-value-by-sdkkey-v2 parameters: - - description: The identifier of the Product. + - description: The key or id of the Setting. explode: false in: path - name: productId + name: settingKeyOrId required: true schema: - format: uuid type: string style: simple - - description: The identifier of the Member. + - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) + explode: false + in: header + name: X-CONFIGCAT-SDKKEY + required: false + schema: + type: string + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SettingFormulaModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingFormulaModel-haljson' + description: "" + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Get value + tags: + - Feature Flag & Setting values using SDK Key V2 + patch: + description: "This endpoint updates the value of a Feature Flag or Setting\n\ + with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ + \ Environment.\n\nOnly the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute`\ + \ fields are modifiable by this endpoint.\n\nThe advantage of using JSON Patch\ + \ is that you can describe individual update operations on a resource\nwithout\ + \ touching attributes that you don't want to change. It supports collection\ + \ reordering, so it also\ncan be used for reordering the targeting rules of\ + \ a Feature Flag or Setting.\n\nFor example: We have the following resource\ + \ of a Feature Flag.\n```\n{\n\t\"defaultValue\": {\n \"boolValue\"\ + : false,\n },\n\t\"targetingRules\": [\n {\n \"conditions\"\ + : [\n {\n \"userCondition\": {\n \ + \ \"comparisonAttribute\": \"Email\",\n \ + \ \"comparator\": \"sensitiveTextEquals\",\n \"\ + comparisonValue\": {\n \"stringValue\": \"test@example.com\"\ + ,\n }\n },\n }\n\ + \ ],\n \"percentageOptions\": [],\n \"value\"\ + : {\n \"boolValue\": true,\n }\n }\n ],\n\ + }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ + : \"replace\",\n\t\t\"path\": \"/targetingRules/0/value/boolValue\",\n\t\t\ + \"value\": true\n\t}\n]\n```\nOnly the first Targeting Rule's `value` is going\ + \ to be set to `false` and all the other fields are remaining unchanged.\n\ + \nSo we get a response like this:\n```\n{\n\t\"defaultValue\": {\n \ + \ \"boolValue\": false,\n },\n\t\"targetingRules\": [\n {\n \ + \ \"conditions\": [\n {\n \"userCondition\"\ + : {\n \"comparisonAttribute\": \"Email\",\n \ + \ \"comparator\": \"sensitiveTextEquals\",\n \ + \ \"comparisonValue\": {\n \"stringValue\"\ + : \"test@example.com\",\n }\n },\n\ + \ }\n ],\n \"percentageOptions\": [],\n\ + \ \"value\": {\n \"boolValue\": false,\n \ + \ }\n }\n ],\n}\n```" + operationId: update-setting-value-by-sdkkey-v2 + parameters: + - description: The key or id of the Setting. explode: false in: path - name: userId + name: settingKeyOrId + required: true + schema: + type: string + style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form + - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) + explode: false + in: header + name: X-CONFIGCAT-SDKKEY + required: false + schema: + type: string + style: simple + requestBody: + content: + application/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /defaultValue/boolValue + value: true + add targeting rules: + description: This example adds an evaluation rule with two conditions + to the Flag's targeting rules. + value: + - op: replace + path: /targetingRules/- + value: + conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + modify targeting rule: + description: This example modifies a targeting rule's value. + value: + - op: replace + path: /targetingRules/0/value/boolValue + value: "true" + modify targeting rule's condition: + description: This example modifies a condition's comparison attribute + within a targeting rule. + value: + - op: replace + path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute + value: Role + add segment condition: + description: This example adds a segment condition to a targeting + rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + segmentCondition: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + add prerequisite flag condition: + description: This example adds a prerequisite flag condition to a + targeting rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + prerequisiteFlagCondition: + prerequisiteSettingId: isIn + comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + prerequisiteComparisonValue: + boolValue: true + reorder targeting rules: + description: This example swaps the first and the second targeting + rule. + value: + - op: move + path: /targetingRules/1 + from: /targetingRules/0 + reorder targeting rule conditions: + description: This example swaps the first and the second condition + of a targeting rule. + value: + - op: move + path: /targetingRules/0/conditions/1 + from: /targetingRules/0/conditions/0 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + text/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /defaultValue/boolValue + value: true + add targeting rules: + description: This example adds an evaluation rule with two conditions + to the Flag's targeting rules. + value: + - op: replace + path: /targetingRules/- + value: + conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + modify targeting rule: + description: This example modifies a targeting rule's value. + value: + - op: replace + path: /targetingRules/0/value/boolValue + value: "true" + modify targeting rule's condition: + description: This example modifies a condition's comparison attribute + within a targeting rule. + value: + - op: replace + path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute + value: Role + add segment condition: + description: This example adds a segment condition to a targeting + rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + segmentCondition: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + add prerequisite flag condition: + description: This example adds a prerequisite flag condition to a + targeting rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + prerequisiteFlagCondition: + prerequisiteSettingId: isIn + comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + prerequisiteComparisonValue: + boolValue: true + reorder targeting rules: + description: This example swaps the first and the second targeting + rule. + value: + - op: move + path: /targetingRules/1 + from: /targetingRules/0 + reorder targeting rule conditions: + description: This example swaps the first and the second condition + of a targeting rule. + value: + - op: move + path: /targetingRules/0/conditions/1 + from: /targetingRules/0/conditions/0 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + application/*+json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /defaultValue/boolValue + value: true + add targeting rules: + description: This example adds an evaluation rule with two conditions + to the Flag's targeting rules. + value: + - op: replace + path: /targetingRules/- + value: + conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + modify targeting rule: + description: This example modifies a targeting rule's value. + value: + - op: replace + path: /targetingRules/0/value/boolValue + value: "true" + modify targeting rule's condition: + description: This example modifies a condition's comparison attribute + within a targeting rule. + value: + - op: replace + path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute + value: Role + add segment condition: + description: This example adds a segment condition to a targeting + rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + segmentCondition: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + add prerequisite flag condition: + description: This example adds a prerequisite flag condition to a + targeting rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + prerequisiteFlagCondition: + prerequisiteSettingId: isIn + comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + prerequisiteComparisonValue: + boolValue: true + reorder targeting rules: + description: This example swaps the first and the second targeting + rule. + value: + - op: move + path: /targetingRules/1 + from: /targetingRules/0 + reorder targeting rule conditions: + description: This example swaps the first and the second condition + of a targeting rule. + value: + - op: move + path: /targetingRules/0/conditions/1 + from: /targetingRules/0/conditions/0 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SettingFormulaModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingFormulaModel-haljson' + description: "" + "204": + description: When no change applied on the resource. + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Update value + tags: + - Feature Flag & Setting values using SDK Key V2 + put: + description: "This endpoint replaces the value and the Targeting Rules of a\ + \ Feature Flag or Setting\nin a specified Environment identified by the SDK key passed in the `X-CONFIGCAT-SDKKEY` header.\n\nOnly the `defaultValue`,\ + \ `targetingRules`, and `percentageEvaluationAttribute` fields are modifiable\ + \ by this endpoint.\n\n**Important:** As this endpoint is doing a complete\ + \ replace, it's important to set every other field that you don't\nwant to\ + \ change to its original state. Not listing one means that it will reset.\n\ + \nFor example: We have the following resource of a Feature Flag.\n```\n{\n\ + \t\"defaultValue\": {\n \"boolValue\": false,\n },\n\t\"targetingRules\"\ + : [\n {\n \"conditions\": [\n {\n \ + \ \"userCondition\": {\n \"comparisonAttribute\"\ + : \"Email\",\n \"comparator\": \"sensitiveTextEquals\"\ + ,\n \"comparisonValue\": {\n \ + \ \"stringValue\": \"test@example.com\",\n }\n\ + \ },\n }\n ],\n \"\ + percentageOptions\": [],\n \"value\": {\n \"boolValue\"\ + : true,\n }\n }\n ],\n}\n```\nIf we send a replace request\ + \ body as below:\n```\n{\n\t\"defaultValue\": {\n \"boolValue\": true,\n\ + \ },\n}\n```\nThen besides that the default served value is set to `true`,\ + \ all the Targeting Rules are deleted.\nSo we get a response like this:\n\ + ```\n{\n \"defaultValue\": {\n \"boolValue\": true,\n },\n \ + \ \"targetingRules\": [],\n}\n```" + operationId: replace-setting-value-by-sdkkey-v2 + parameters: + - description: The key or id of the Setting. + explode: false + in: path + name: settingKeyOrId + required: true + schema: + type: string + style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form + - description: The ConfigCat SDK Key. (https://app.configcat.com/sdkkey) + explode: false + in: header + name: X-CONFIGCAT-SDKKEY + required: false + schema: + type: string + style: simple + requestBody: + content: + application/json: + examples: + simple: + description: This example turns on a feature flag. + value: + defaultValue: + boolValue: true + advanced: + description: This example turns on a feature flag and adds an evaluation + rule with two conditions to its targeting rules. + value: + defaultValue: + boolValue: true + targetingRules: + - conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + schema: + $ref: '#/components/schemas/UpdateEvaluationFormulaModel' + text/json: + examples: + simple: + description: This example turns on a feature flag. + value: + defaultValue: + boolValue: true + advanced: + description: This example turns on a feature flag and adds an evaluation + rule with two conditions to its targeting rules. + value: + defaultValue: + boolValue: true + targetingRules: + - conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + schema: + $ref: '#/components/schemas/UpdateEvaluationFormulaModel' + application/*+json: + examples: + simple: + description: This example turns on a feature flag. + value: + defaultValue: + boolValue: true + advanced: + description: This example turns on a feature flag and adds an evaluation + rule with two conditions to its targeting rules. + value: + defaultValue: + boolValue: true + targetingRules: + - conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + schema: + $ref: '#/components/schemas/UpdateEvaluationFormulaModel' + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SettingFormulaModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingFormulaModel-haljson' + description: "" + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Replace value + tags: + - Feature Flag & Setting values using SDK Key V2 + /v2/environments/{environmentId}/settings/{settingId}/value: + get: + description: |- + This endpoint returns the value of a Feature Flag or Setting + in a specified Environment identified by the `environmentId` parameter. + + The most important fields in the response are the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute`. + The `defaultValue` represents what the clients will get when the evaluation requests of our SDKs + are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate. + + The `targetingRules` represents the current + Targeting Rule configuration of the actual Feature Flag or Setting + in an **ordered** collection, which means the order of the returned rules is matching to the + evaluation order. You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/). + + The `percentageEvaluationAttribute` represents the custom [User Object](https://configcat.com/docs/advanced/user-object/) attribute that must be used for [percentage evaluation](https://configcat.com/docs/advanced/targeting/#anatomy-of-the-percentage-based-targeting) of the Feature Flag or Setting. + operationId: get-setting-value-v2 + parameters: + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string + style: simple + - description: The id of the Setting. + explode: false + in: path + name: settingId + required: true + schema: + format: int32 + type: integer + style: simple + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/SettingFormulaModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingFormulaModel-haljson' + description: "When everything is ok, the setting value data returned." + "400": + description: Bad request. + "404": + description: Not found. + "401": + description: Unauthorized. In case of the Public Management API credentials + are invalid. + "429": + description: Too many requests. In case of the request rate exceeds the + rate limits. + summary: Get value + tags: + - Feature Flag & Setting values V2 + patch: + description: "This endpoint updates the value of a Feature Flag or Setting\n\ + with a collection of [JSON Patch](http://jsonpatch.com) operations in a specified\ + \ Environment.\n\nOnly the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute`\ + \ fields are modifiable by this endpoint.\n\nThe advantage of using JSON Patch\ + \ is that you can describe individual update operations on a resource\nwithout\ + \ touching attributes that you don't want to change. It supports collection\ + \ reordering, so it also\ncan be used for reordering the targeting rules of\ + \ a Feature Flag or Setting.\n\nFor example: We have the following resource\ + \ of a Feature Flag.\n```\n{\n\t\"defaultValue\": {\n \"boolValue\"\ + : false,\n },\n\t\"targetingRules\": [\n {\n \"conditions\"\ + : [\n {\n \"userCondition\": {\n \ + \ \"comparisonAttribute\": \"Email\",\n \ + \ \"comparator\": \"sensitiveTextEquals\",\n \"\ + comparisonValue\": {\n \"stringValue\": \"test@example.com\"\ + ,\n }\n },\n }\n\ + \ ],\n \"percentageOptions\": [],\n \"value\"\ + : {\n \"boolValue\": true,\n }\n }\n ],\n\ + }\n```\nIf we send an update request body as below:\n```\n[\n\t{\n\t\t\"op\"\ + : \"replace\",\n\t\t\"path\": \"/targetingRules/0/value/boolValue\",\n\t\t\ + \"value\": true\n\t}\n]\n```\nOnly the first Targeting Rule's `value` is going\ + \ to be set to `false` and all the other fields are remaining unchanged.\n\ + \nSo we get a response like this:\n```\n{\n\t\"defaultValue\": {\n \ + \ \"boolValue\": false,\n },\n\t\"targetingRules\": [\n {\n \ + \ \"conditions\": [\n {\n \"userCondition\"\ + : {\n \"comparisonAttribute\": \"Email\",\n \ + \ \"comparator\": \"sensitiveTextEquals\",\n \ + \ \"comparisonValue\": {\n \"stringValue\"\ + : \"test@example.com\",\n }\n },\n\ + \ }\n ],\n \"percentageOptions\": [],\n\ + \ \"value\": {\n \"boolValue\": false,\n \ + \ }\n }\n ],\n}\n```" + operationId: update-setting-value-v2 + parameters: + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string + style: simple + - description: The id of the Setting. + explode: false + in: path + name: settingId + required: true + schema: + format: int32 + type: integer + style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form + requestBody: + content: + application/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /defaultValue/boolValue + value: true + add targeting rules: + description: This example adds an evaluation rule with two conditions + to the Flag's targeting rules. + value: + - op: replace + path: /targetingRules/- + value: + conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + modify targeting rule: + description: This example modifies a targeting rule's value. + value: + - op: replace + path: /targetingRules/0/value/boolValue + value: "true" + modify targeting rule's condition: + description: This example modifies a condition's comparison attribute + within a targeting rule. + value: + - op: replace + path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute + value: Role + add segment condition: + description: This example adds a segment condition to a targeting + rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + segmentCondition: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + add prerequisite flag condition: + description: This example adds a prerequisite flag condition to a + targeting rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + prerequisiteFlagCondition: + prerequisiteSettingId: isIn + comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + prerequisiteComparisonValue: + boolValue: true + reorder targeting rules: + description: This example swaps the first and the second targeting + rule. + value: + - op: move + path: /targetingRules/1 + from: /targetingRules/0 + reorder targeting rule conditions: + description: This example swaps the first and the second condition + of a targeting rule. + value: + - op: move + path: /targetingRules/0/conditions/1 + from: /targetingRules/0/conditions/0 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + text/json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /defaultValue/boolValue + value: true + add targeting rules: + description: This example adds an evaluation rule with two conditions + to the Flag's targeting rules. + value: + - op: replace + path: /targetingRules/- + value: + conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + modify targeting rule: + description: This example modifies a targeting rule's value. + value: + - op: replace + path: /targetingRules/0/value/boolValue + value: "true" + modify targeting rule's condition: + description: This example modifies a condition's comparison attribute + within a targeting rule. + value: + - op: replace + path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute + value: Role + add segment condition: + description: This example adds a segment condition to a targeting + rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + segmentCondition: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + add prerequisite flag condition: + description: This example adds a prerequisite flag condition to a + targeting rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + prerequisiteFlagCondition: + prerequisiteSettingId: isIn + comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + prerequisiteComparisonValue: + boolValue: true + reorder targeting rules: + description: This example swaps the first and the second targeting + rule. + value: + - op: move + path: /targetingRules/1 + from: /targetingRules/0 + reorder targeting rule conditions: + description: This example swaps the first and the second condition + of a targeting rule. + value: + - op: move + path: /targetingRules/0/conditions/1 + from: /targetingRules/0/conditions/0 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + application/*+json: + examples: + turn on a feature flag: + description: This example turns on a feature flag. + value: + - op: replace + path: /defaultValue/boolValue + value: true + add targeting rules: + description: This example adds an evaluation rule with two conditions + to the Flag's targeting rules. + value: + - op: replace + path: /targetingRules/- + value: + conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false + modify targeting rule: + description: This example modifies a targeting rule's value. + value: + - op: replace + path: /targetingRules/0/value/boolValue + value: "true" + modify targeting rule's condition: + description: This example modifies a condition's comparison attribute + within a targeting rule. + value: + - op: replace + path: /targetingRules/0/conditions/0/userCondition/comparisonAttribute + value: Role + add segment condition: + description: This example adds a segment condition to a targeting + rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + segmentCondition: + segmentComparator: isIn + segmentId: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + add prerequisite flag condition: + description: This example adds a prerequisite flag condition to a + targeting rule. + value: + - op: add + path: /targetingRules/0/conditions/- + value: + prerequisiteFlagCondition: + prerequisiteSettingId: isIn + comparator: 008a1fd6-8245-4ea8-90dc-a1dc36c1b4ff + prerequisiteComparisonValue: + boolValue: true + reorder targeting rules: + description: This example swaps the first and the second targeting + rule. + value: + - op: move + path: /targetingRules/1 + from: /targetingRules/0 + reorder targeting rule conditions: + description: This example swaps the first and the second condition + of a targeting rule. + value: + - op: move + path: /targetingRules/0/conditions/1 + from: /targetingRules/0/conditions/0 + schema: + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array required: true - schema: - type: string - style: simple - responses: - "204": - description: When the delete was successful. - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Delete Member from Product - tags: - - Members - /v1/organizations: - get: - description: This endpoint returns the list of the Organizations that belongs - to the user. - operationId: get-organizations responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/OrganizationModel' - type: array + $ref: '#/components/schemas/SettingFormulaModel' application/hal+json: schema: - items: - $ref: '#/components/schemas/OrganizationModel-haljson' - type: array - description: "" + $ref: '#/components/schemas/SettingFormulaModel-haljson' + description: When the patch was successful. + "204": + description: When no change applied on the resource. + "400": + description: Bad request. + "404": + description: Not found. "401": description: Unauthorized. In case of the Public Management API credentials are invalid. "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Organizations + summary: Update value tags: - - Organizations - /v1/products/{productId}/permissions: - get: - description: |- - This endpoint returns the list of the Permission Groups that belongs to the given Product identified by the - `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint. - operationId: get-permission-groups + - Feature Flag & Setting values V2 + put: + description: "This endpoint replaces the value and the Targeting Rules of a\ + \ Feature Flag or Setting\nin a specified Environment identified by the SDK key passed in the `X-CONFIGCAT-SDKKEY` header.\n\nOnly the `defaultValue`,\ + \ `targetingRules`, and `percentageEvaluationAttribute` fields are modifiable\ + \ by this endpoint.\n\n**Important:** As this endpoint is doing a complete\ + \ replace, it's important to set every other field that you don't\nwant to\ + \ change to its original state. Not listing one means that it will reset.\n\ + \nFor example: We have the following resource of a Feature Flag.\n```\n{\n\ + \t\"defaultValue\": {\n \"boolValue\": false,\n },\n\t\"targetingRules\"\ + : [\n {\n \"conditions\": [\n {\n \ + \ \"userCondition\": {\n \"comparisonAttribute\"\ + : \"Email\",\n \"comparator\": \"sensitiveTextEquals\"\ + ,\n \"comparisonValue\": {\n \ + \ \"stringValue\": \"test@example.com\",\n }\n\ + \ },\n }\n ],\n \"\ + percentageOptions\": [],\n \"value\": {\n \"boolValue\"\ + : true,\n }\n }\n ],\n}\n```\nIf we send a replace request\ + \ body as below:\n```\n{\n\t\"defaultValue\": {\n \"boolValue\": true,\n\ + \ },\n}\n```\nThen besides that the default served value is set to `true`,\ + \ all the Targeting Rules are deleted.\nSo we get a response like this:\n\ + ```\n{\n \"defaultValue\": {\n \"boolValue\": true,\n },\n \ + \ \"targetingRules\": [],\n}\n```" + operationId: replace-setting-value-v2 parameters: - - description: The identifier of the Product. + - description: The identifier of the Environment. explode: false in: path - name: productId + name: environmentId required: true schema: format: uuid type: string style: simple - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/PermissionGroupModel' - type: array - application/hal+json: - schema: - items: - $ref: '#/components/schemas/PermissionGroupModel-haljson' - type: array - description: "" - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: List Permission Groups - tags: - - Permission Groups - post: - description: "This endpoint creates a new Permission Group in a specified Product\ - \ \nidentified by the `productId` parameter, which can be obtained from the\ - \ [List Products](#operation/get-products) endpoint." - operationId: create-permission-group - parameters: - - description: The identifier of the Product. + - description: The id of the Setting. explode: false in: path - name: productId + name: settingId required: true schema: - format: uuid - type: string + format: int32 + type: integer style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form requestBody: content: application/json: + examples: + simple: + description: This example turns on a feature flag. + value: + defaultValue: + boolValue: true + advanced: + description: This example turns on a feature flag and adds an evaluation + rule with two conditions to its targeting rules. + value: + defaultValue: + boolValue: true + targetingRules: + - conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false schema: - $ref: '#/components/schemas/CreatePermissionGroupRequest' + $ref: '#/components/schemas/UpdateEvaluationFormulaModel' text/json: + examples: + simple: + description: This example turns on a feature flag. + value: + defaultValue: + boolValue: true + advanced: + description: This example turns on a feature flag and adds an evaluation + rule with two conditions to its targeting rules. + value: + defaultValue: + boolValue: true + targetingRules: + - conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false schema: - $ref: '#/components/schemas/CreatePermissionGroupRequest' + $ref: '#/components/schemas/UpdateEvaluationFormulaModel' application/*+json: + examples: + simple: + description: This example turns on a feature flag. + value: + defaultValue: + boolValue: true + advanced: + description: This example turns on a feature flag and adds an evaluation + rule with two conditions to its targeting rules. + value: + defaultValue: + boolValue: true + targetingRules: + - conditions: + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Email + comparisonValue: + stringValue: example@test.com + - userCondition: + comparator: sensitiveTextEquals + comparisonAttribute: Role + comparisonValue: + stringValue: Developer + value: + boolValue: false schema: - $ref: '#/components/schemas/CreatePermissionGroupRequest' + $ref: '#/components/schemas/UpdateEvaluationFormulaModel' required: true responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/PermissionGroupModel' - application/hal+json: - schema: - $ref: '#/components/schemas/PermissionGroupModel-haljson' - description: When the creation was successful. - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: Create Permission Group - tags: - - Permission Groups - /v1/permissions/{permissionGroupId}: - delete: - description: This endpoint removes a Permission Group identified by the `permissionGroupId` - parameter. - operationId: delete-permission-group - parameters: - - description: The identifier of the Permission Group. - explode: false - in: path - name: permissionGroupId - required: true - schema: - format: int64 - type: integer - style: simple - responses: - "204": - description: When the delete was successful. + $ref: '#/components/schemas/SettingFormulaModel' + application/hal+json: + schema: + $ref: '#/components/schemas/SettingFormulaModel-haljson' + description: "" "400": description: Bad request. "404": @@ -4233,33 +4138,53 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Delete Permission Group + summary: Replace value tags: - - Permission Groups + - Feature Flag & Setting values V2 + /v1/configs/{configId}/environments/{environmentId}/values: get: - description: "This endpoint returns the metadata of a Permission Group \nidentified\ - \ by the `permissionGroupId`." - operationId: get-permission-group + description: "This endpoint returns the value of a specified Config's Feature\ + \ Flags or Settings identified by the `configId` parameter\nin a specified\ + \ Environment identified by the `environmentId` parameter.\n\nThe most important\ + \ attributes in the response are the `value`, `rolloutRules` and `percentageRules`.\n\ + The `value` represents what the clients will get when the evaluation requests\ + \ of our SDKs \nare not matching to any of the defined Targeting or Percentage\ + \ Rules, or when there are no additional rules to evaluate.\n\nThe `rolloutRules`\ + \ and `percentageRules` attributes are representing the current \nTargeting\ + \ and Percentage Rules configuration of the actual Feature Flag or Setting\ + \ \nin an **ordered** collection, which means the order of the returned rules\ + \ is matching to the\nevaluation order. You can read more about these rules\ + \ [here](https://configcat.com/docs/advanced/targeting/)." + operationId: get-setting-values parameters: - - description: The identifier of the Permission Group. + - description: The identifier of the Config. explode: false in: path - name: permissionGroupId + name: configId required: true schema: - format: int64 - type: integer + format: uuid + type: string + style: simple + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/PermissionGroupModel' + $ref: '#/components/schemas/ConfigSettingValuesModel' application/hal+json: schema: - $ref: '#/components/schemas/PermissionGroupModel-haljson' - description: "When everything is ok, the permission group data returned." + $ref: '#/components/schemas/ConfigSettingValuesModel-haljson' + description: "When everything is ok, the setting values returned." "400": description: Bad request. "404": @@ -4270,45 +4195,85 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Permission Group + summary: Get values tags: - - Permission Groups - put: - description: This endpoint updates a Permission Group identified by the `permissionGroupId` - parameter. - operationId: update-permission-group + - Feature Flag & Setting values + post: + description: "This endpoint replaces the values of a specified Config's Feature\ + \ Flags or Settings identified by the `configId` parameter\nin a specified\ + \ Environment identified by the `environmentId` parameter.\n\nOnly the `value`,\ + \ `rolloutRules` and `percentageRules` attributes are modifiable by this endpoint.\n\ + \n**Important:** As this endpoint is doing a complete replace, it's important\ + \ to set every other attribute that you don't \nwant to change in its original\ + \ state. Not listing one means that it will reset.\n\nFor example: We have\ + \ the following resource.\n```\n{\n \"settingValues\": [\n\t\t{\n\t\t\t\ + \"rolloutPercentageItems\": [\n\t\t\t\t{\n\t\t\t\t\t\"percentage\": 30,\n\t\ + \t\t\t\t\"value\": true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"percentage\":\ + \ 70,\n\t\t\t\t\t\"value\": false\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"rolloutRules\"\ + : [],\n\t\t\t\"value\": false,\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n```\n\ + If we send a replace request body as below:\n```\n{ \n\t\"settingValues\"\ + : [\n\t\t{\n\t\t\t\"value\": true,\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n\ + ```\nThen besides that the default value is set to `true`, all the Percentage\ + \ Rules are deleted. \nSo we get a response like this:\n```\n{\n\t\"settingValues\"\ + : [\n\t\t{\n\t\t\t\"rolloutPercentageItems\": [],\n\t\t\t\"rolloutRules\"\ + : [],\n\t\t\t\"value\": true,\n\t\t\t\"setting\": \n\t\t\t{\n\t\t\t\t\"settingId\"\ + : 1\n\t\t\t}\n\t\t}\n\t]\n}\n```\n\nThe `rolloutRules` property describes\ + \ two types of rules:\n\n- **Targeting rules**: When you want to add or update\ + \ a targeting rule, the `comparator`, `comparisonAttribute`, and `comparisonValue`\ + \ members are required.\n- **Segment rules**: When you want to add add or\ + \ update a segment rule, the `segmentId` which identifies the desired segment\ + \ and the `segmentComparator` members are required." + operationId: post-setting-values parameters: - - description: The identifier of the Permission Group. + - description: The identifier of the Config. explode: false in: path - name: permissionGroupId + name: configId required: true schema: - format: int64 - type: integer + format: uuid + type: string + style: simple + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdatePermissionGroupRequest' + $ref: '#/components/schemas/UpdateSettingValuesWithIdModel' text/json: schema: - $ref: '#/components/schemas/UpdatePermissionGroupRequest' + $ref: '#/components/schemas/UpdateSettingValuesWithIdModel' application/*+json: schema: - $ref: '#/components/schemas/UpdatePermissionGroupRequest' + $ref: '#/components/schemas/UpdateSettingValuesWithIdModel' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/PermissionGroupModel' + $ref: '#/components/schemas/ConfigSettingValuesModel' application/hal+json: schema: - $ref: '#/components/schemas/PermissionGroupModel-haljson' - description: "" + $ref: '#/components/schemas/ConfigSettingValuesModel-haljson' + description: "When everything is ok, the updated setting values returned." "400": description: Bad request. "404": @@ -4319,75 +4284,149 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Permission Group + summary: Post values tags: - - Permission Groups - /v1/products: + - Feature Flag & Setting values + /v2/configs/{configId}/environments/{environmentId}/values: get: - description: This endpoint returns the list of the Products that belongs to - the user. - operationId: get-products + description: |- + This endpoint returns all Feature Flag and Setting values of a Config identified by the `configId` parameter + in a specified Environment identified by the `environmentId` parameter. + + The most important fields in the response are the `defaultValue`, `targetingRules`. + The `defaultValue` represents what the clients will get when the evaluation requests of our SDKs + are not matching to any of the defined Targeting Rules, or when there are no additional rules to evaluate. + + The `targetingRules` represents the current + Targeting Rule configuration of the actual Feature Flag or Setting + in an **ordered** collection, which means the order of the returned rules is matching to the + evaluation order. You can read more about these rules [here](https://configcat.com/docs/advanced/targeting/). + + The `percentageEvaluationAttribute` represents the custom [User Object](https://configcat.com/docs/advanced/user-object/) attribute that must be used for [percentage evaluation](https://configcat.com/docs/advanced/targeting/#anatomy-of-the-percentage-based-targeting) of the Feature Flag or Setting. + operationId: get-setting-values-v2 + parameters: + - description: The identifier of the Config. + explode: false + in: path + name: configId + required: true + schema: + format: uuid + type: string + style: simple + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string + style: simple responses: "200": content: application/json: schema: - items: - $ref: '#/components/schemas/ProductModel' - type: array + $ref: '#/components/schemas/ConfigSettingFormulasModel' application/hal+json: schema: - items: - $ref: '#/components/schemas/ProductModel-haljson' - type: array - description: "" + $ref: '#/components/schemas/ConfigSettingFormulasModel-haljson' + description: "When everything is ok, the setting values returned." + "400": + description: Bad request. + "404": + description: Not found. "401": description: Unauthorized. In case of the Public Management API credentials are invalid. "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Products + summary: Get values tags: - - Products - /v1/organizations/{organizationId}/products: + - Feature Flag & Setting values V2 post: - description: "This endpoint creates a new Product in a specified Organization\ - \ \nidentified by the `organizationId` parameter, which can be obtained from\ - \ the [List Organizations](#operation/get-organizations) endpoint." - operationId: create-product + description: "This endpoint batch updates the Feature Flags and Settings of\ + \ a Config identified by the `configId` parameter\nin a specified Environment\ + \ identified by the `environmentId` parameter.\n\nOnly those Feature Flags\ + \ and Settings are updated which are part of the request, all the others are\ + \ left untouched.\n\n**Important:** As this endpoint is doing a complete replace\ + \ on those Feature Flags and Settings, which are set in the request. \nIt's\ + \ important to set every other field that you don't want to change in its\ + \ original state. Not listing a field means that it will reset.\n\nFor example:\ + \ We have the following resource of a Feature Flag.\n```\n{\n \"settingValues\"\ + : [\n\t\t{\n\t\t\t\"defaultValue\": {\n \"boolValue\": false,\n\ + \ },\n \"targetingRules\": [\n {\n \ + \ \"conditions\": [\n {\n \ + \ \"userCondition\": {\n \ + \ \"comparisonAttribute\": \"Email\",\n \"\ + comparator\": \"sensitiveTextEquals\",\n \"\ + comparisonValue\": {\n \"stringValue\"\ + : \"test@example.com\",\n }\n \ + \ },\n }\n ],\n \ + \ \"percentageOptions\": [],\n \"value\"\ + : {\n \"boolValue\": true,\n }\n\ + \ }\n ],\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n\ + ```\nIf we send a batch replace request body as below:\n```\n{ \n\t\"settingValues\"\ + : [\n\t\t{\n\t\t\t\"defaultValue\": {\n \"boolValue\": false,\n\ + \ },\n\t\t\t\"settingId\": 1\n\t\t}\n\t]\n}\n```\nThen besides\ + \ that the default value is set to `true`, all Targeting Rules of the related\ + \ Feature Flag are deleted.\nSo we get a response like this:\n```\n{\n\t\"\ + settingValues\": [\n\t\t{\n\t\t\t\"defaultValue\": {\n \"boolValue\"\ + : false,\n },\n \"targetingRules\": [],\n\t\t\t\"setting\"\ + : \n\t\t\t{\n\t\t\t\t\"settingId\": 1\n\t\t\t}\n\t\t}\n\t]\n}\n```" + operationId: post-setting-values-v2 parameters: - - description: The identifier of the Organization. + - description: The identifier of the Config. explode: false in: path - name: organizationId + name: configId + required: true + schema: + format: uuid + type: string + style: simple + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId required: true schema: format: uuid type: string style: simple + - description: The reason note for the Audit Log if the Product's "Config changes + require a reason" preference is turned on. + explode: true + in: query + name: reason + required: false + schema: + type: string + style: form requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateProductRequest' + $ref: '#/components/schemas/UpdateEvaluationFormulasModel' text/json: schema: - $ref: '#/components/schemas/CreateProductRequest' + $ref: '#/components/schemas/UpdateEvaluationFormulasModel' application/*+json: schema: - $ref: '#/components/schemas/CreateProductRequest' + $ref: '#/components/schemas/UpdateEvaluationFormulasModel' required: true responses: - "201": + "200": content: application/json: schema: - $ref: '#/components/schemas/ProductModel' + $ref: '#/components/schemas/ConfigSettingFormulasModel' application/hal+json: schema: - $ref: '#/components/schemas/ProductModel-haljson' - description: When the creation was successful. + $ref: '#/components/schemas/ConfigSettingFormulasModel-haljson' + description: "When everything is ok, the updated setting values returned." "400": description: Bad request. "404": @@ -4398,22 +4437,24 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Create Product + summary: Post values tags: - - Products - /v1/products/{productId}: + - Feature Flag & Setting values V2 + /v1/tags/{tagId}: delete: - description: This endpoint removes a Product identified by the `productId` parameter. - operationId: delete-product + description: "This endpoint deletes a Tag identified by the `tagId` parameter.\ + \ To remove a Tag from a Feature Flag or Setting use the [Update Flag](#operation/update-setting)\ + \ endpoint." + operationId: delete-tag parameters: - - description: The identifier of the Product. + - description: The identifier of the Tag. explode: false in: path - name: productId + name: tagId required: true schema: - format: uuid - type: string + format: int64 + type: integer style: simple responses: "204": @@ -4428,33 +4469,33 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Delete Product + summary: Delete Tag tags: - - Products + - Tags get: - description: "This endpoint returns the metadata of a Product \nidentified by\ - \ the `productId`." - operationId: get-product + description: "This endpoint returns the metadata of a Tag \nidentified by the\ + \ `tagId`." + operationId: get-tag parameters: - - description: The identifier of the Product. + - description: The identifier of the Tag. explode: false in: path - name: productId + name: tagId required: true schema: - format: uuid - type: string + format: int64 + type: integer style: simple responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ProductModel' + $ref: '#/components/schemas/TagModel' application/hal+json: schema: - $ref: '#/components/schemas/ProductModel-haljson' - description: "When everything is ok, the product data returned." + $ref: '#/components/schemas/TagModel-haljson' + description: "When everything is ok, the tag data returned." "400": description: Bad request. "404": @@ -4465,43 +4506,43 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Product + summary: Get Tag tags: - - Products + - Tags put: - description: This endpoint updates a Product identified by the `productId` parameter. - operationId: update-product + description: This endpoint updates a Tag identified by the `tagId` parameter. + operationId: update-tag parameters: - - description: The identifier of the Product. + - description: The identifier of the Tag. explode: false in: path - name: productId + name: tagId required: true schema: - format: uuid - type: string + format: int64 + type: integer style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateProductRequest' + $ref: '#/components/schemas/UpdateTagModel' text/json: schema: - $ref: '#/components/schemas/UpdateProductRequest' + $ref: '#/components/schemas/UpdateTagModel' application/*+json: schema: - $ref: '#/components/schemas/UpdateProductRequest' + $ref: '#/components/schemas/UpdateTagModel' required: true responses: "200": content: application/json: schema: - $ref: '#/components/schemas/ProductModel' + $ref: '#/components/schemas/TagModel' application/hal+json: schema: - $ref: '#/components/schemas/ProductModel-haljson' + $ref: '#/components/schemas/TagModel-haljson' description: "" "400": description: Bad request. @@ -4513,43 +4554,35 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Product + summary: Update Tag tags: - - Products - /v1/configs/{configId}/environments/{environmentId}: - get: - description: This endpoint returns the SDK Key for your Config in a specified - Environment. - operationId: get-sdk-keys + - Tags + /v1/organizations/{organizationId}/members/{userId}: + delete: + description: "This endpoint removes a Member identified by the `userId` from\ + \ the \ngiven Organization identified by the `organizationId` parameter." + operationId: delete-organization-member parameters: - - description: The identifier of the Config. + - description: The identifier of the Organization. explode: false in: path - name: configId + name: organizationId required: true schema: format: uuid type: string style: simple - - description: The identifier of the Environment. + - description: The identifier of the Member. explode: false in: path - name: environmentId + name: userId required: true schema: - format: uuid type: string style: simple responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/SdkKeysModel' - application/hal+json: - schema: - $ref: '#/components/schemas/SdkKeysModel' - description: "" + "204": + description: When the delete was successful. "400": description: Bad request. "404": @@ -4560,89 +4593,48 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get SDK Key + summary: Delete Member from Organization tags: - - SDK Keys - /v1/products/{productId}/segments: - get: - description: |- - This endpoint returns the list of the Segments that belongs to the given Product identified by the - `productId` parameter, which can be obtained from the [List Products](#operation/get-products) endpoint. - operationId: get-segments + - Members + post: + description: "This endpoint adds a Member identified by the `userId` to one\ + \ or more Permission Groups. \nThis endpoint can also be used to move a Member\ + \ between Permission Groups within a Product.\nOnly a single Permission Group\ + \ can be set per Product." + operationId: add-member-to-group parameters: - - description: The identifier of the Product. + - description: The identifier of the Organization. explode: false in: path - name: productId + name: organizationId required: true schema: format: uuid type: string style: simple - responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/SegmentListModel' - type: array - application/hal+json: - schema: - items: - $ref: '#/components/schemas/SegmentListModel-haljson' - type: array - description: "" - "400": - description: Bad request. - "404": - description: Not found. - "401": - description: Unauthorized. In case of the Public Management API credentials - are invalid. - "429": - description: Too many requests. In case of the request rate exceeds the - rate limits. - summary: List Segments - tags: - - Segments - post: - description: "This endpoint creates a new Segment in a specified Product \n\ - identified by the `productId` parameter, which can be obtained from the [List\ - \ Products](#operation/get-products) endpoint." - operationId: create-segment - parameters: - - description: The identifier of the Product. + - description: The identifier of the Member. explode: false in: path - name: productId + name: userId required: true schema: - format: uuid type: string style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/CreateSegmentModel' + $ref: '#/components/schemas/AddUserToGroupRequest' text/json: schema: - $ref: '#/components/schemas/CreateSegmentModel' + $ref: '#/components/schemas/AddUserToGroupRequest' application/*+json: schema: - $ref: '#/components/schemas/CreateSegmentModel' + $ref: '#/components/schemas/AddUserToGroupRequest' required: true responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/SegmentModel' - application/hal+json: - schema: - $ref: '#/components/schemas/SegmentModel-haljson' - description: When the creation was successful. + "200": + description: When the addition was successful. "400": description: Bad request. "404": @@ -4653,26 +4645,58 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Create Segment + summary: Update Member Permissions tags: - - Segments - /v1/segments/{segmentId}: + - Members + /v1/environments/{environmentId}/settings/{settingId}/integrationLinks/{integrationLinkType}/{key}: delete: - description: This endpoint removes a Segment identified by the `segmentId` parameter. - operationId: delete-segment + description: "" + operationId: delete-integration-link parameters: - - description: The identifier of the Segment. + - description: The identifier of the Environment. explode: false in: path - name: segmentId + name: environmentId required: true schema: format: uuid type: string style: simple + - description: The id of the Setting. + explode: false + in: path + name: settingId + required: true + schema: + format: int32 + type: integer + style: simple + - description: The integration's type. + explode: false + in: path + name: integrationLinkType + required: true + schema: + $ref: '#/components/schemas/IntegrationLinkType' + style: simple + - description: The key of the integration link. + explode: false + in: path + name: key + required: true + schema: + type: string + style: simple responses: - "204": - description: When the delete was successful. + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteIntegrationLinkModel' + application/hal+json: + schema: + $ref: '#/components/schemas/DeleteIntegrationLinkModel' + description: When everything is ok. "400": description: Bad request. "404": @@ -4683,34 +4707,68 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Delete Segment + summary: Delete Integration link tags: - - Segments - get: - description: |- - This endpoint returns the metadata of a Segment - identified by the `segmentId`. - operationId: get-segment + - Integration links + post: + description: "" + operationId: add-or-update-integration-link parameters: - - description: The identifier of the Segment. + - description: The identifier of the Environment. + explode: false + in: path + name: environmentId + required: true + schema: + format: uuid + type: string + style: simple + - description: The id of the Setting. + explode: false + in: path + name: settingId + required: true + schema: + format: int32 + type: integer + style: simple + - description: The integration link's type. explode: false in: path - name: segmentId + name: integrationLinkType + required: true + schema: + $ref: '#/components/schemas/IntegrationLinkType' + style: simple + - description: The key of the integration link. + explode: false + in: path + name: key required: true schema: - format: uuid type: string style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddOrUpdateIntegrationLinkModel' + text/json: + schema: + $ref: '#/components/schemas/AddOrUpdateIntegrationLinkModel' + application/*+json: + schema: + $ref: '#/components/schemas/AddOrUpdateIntegrationLinkModel' responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SegmentModel' + $ref: '#/components/schemas/IntegrationLinkModel' application/hal+json: schema: - $ref: '#/components/schemas/SegmentModel-haljson' - description: "When everything is ok, the config data returned." + $ref: '#/components/schemas/IntegrationLinkModel' + description: "When everything is ok, the integration link data returned." "400": description: Bad request. "404": @@ -4721,44 +4779,60 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Segment + summary: Add or update Integration link tags: - - Segments - put: - description: This endpoint updates a Segment identified by the `segmentId` parameter. - operationId: update-segment + - Integration links + /v1/jira/environments/{environmentId}/settings/{settingId}/integrationLinks/{key}: + post: + operationId: jira-add-or-update-integration-link parameters: - - description: The identifier of the Segment. + - description: The identifier of the Environment. explode: false in: path - name: segmentId + name: environmentId required: true schema: format: uuid type: string style: simple + - description: The id of the Setting. + explode: false + in: path + name: settingId + required: true + schema: + format: int32 + type: integer + style: simple + - description: The key of the integration link. + explode: false + in: path + name: key + required: true + schema: + type: string + style: simple requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateSegmentModel' + $ref: '#/components/schemas/AddOrUpdateJiraIntegrationLinkModel' text/json: schema: - $ref: '#/components/schemas/UpdateSegmentModel' + $ref: '#/components/schemas/AddOrUpdateJiraIntegrationLinkModel' application/*+json: schema: - $ref: '#/components/schemas/UpdateSegmentModel' - required: true + $ref: '#/components/schemas/AddOrUpdateJiraIntegrationLinkModel' responses: "200": content: application/json: schema: - $ref: '#/components/schemas/SegmentModel' + $ref: '#/components/schemas/IntegrationLinkModel' application/hal+json: schema: - $ref: '#/components/schemas/SegmentModel-haljson' - description: "" + $ref: '#/components/schemas/IntegrationLinkModel' + description: "When everything is ok, the integration link data returned." "400": description: Bad request. "404": @@ -4769,57 +4843,43 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Segment tags: - - Segments - /v1/products/{productId}/tags: - get: - description: "This endpoint returns the list of the Tags in a \nspecified Product,\ - \ identified by the `productId` parameter." - operationId: get-tags - parameters: - - description: The identifier of the Product. - explode: false - in: path - name: productId - required: true - schema: - format: uuid - type: string - style: simple + - Integration links + /v1/jira/Connect: + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectRequest' + text/json: + schema: + $ref: '#/components/schemas/ConnectRequest' + application/*+json: + schema: + $ref: '#/components/schemas/ConnectRequest' responses: "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/TagModel' - type: array - application/hal+json: - schema: - items: - $ref: '#/components/schemas/TagModel-haljson' - type: array - description: "" + description: Success "401": description: Unauthorized. In case of the Public Management API credentials are invalid. "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Tags tags: - - Tags + - Integration links + /v1/organizations/{organizationId}/products: post: - description: "This endpoint creates a new Tag in a specified Product \nidentified\ - \ by the `productId` parameter, which can be obtained from the [List Products](#operation/get-products)\ - \ endpoint." - operationId: create-tag + description: "This endpoint creates a new Product in a specified Organization\ + \ \nidentified by the `organizationId` parameter, which can be obtained from\ + \ the [List Organizations](#operation/get-organizations) endpoint." + operationId: create-product parameters: - description: The identifier of the Organization. explode: false in: path - name: productId + name: organizationId required: true schema: format: uuid @@ -4829,23 +4889,23 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateTagModel' + $ref: '#/components/schemas/CreateProductRequest' text/json: schema: - $ref: '#/components/schemas/CreateTagModel' + $ref: '#/components/schemas/CreateProductRequest' application/*+json: schema: - $ref: '#/components/schemas/CreateTagModel' + $ref: '#/components/schemas/CreateProductRequest' required: true responses: "201": content: application/json: schema: - $ref: '#/components/schemas/TagModel' + $ref: '#/components/schemas/ProductModel' application/hal+json: schema: - $ref: '#/components/schemas/TagModel-haljson' + $ref: '#/components/schemas/ProductModel-haljson' description: When the creation was successful. "400": description: Bad request. @@ -4857,28 +4917,27 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Create Tag + summary: Create Product tags: - - Tags - /v1/tags/{tagId}: - delete: - description: "This endpoint deletes a Tag identified by the `tagId` parameter.\ - \ To remove a Tag from a Feature Flag or Setting use the [Update Flag](#operation/update-setting)\ - \ endpoint." - operationId: delete-tag - parameters: - - description: The identifier of the Tag. - explode: false - in: path - name: tagId + - Products + /v1/code-references/delete-reports: + post: + description: "" + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteRepositoryReportsRequest' + text/json: + schema: + $ref: '#/components/schemas/DeleteRepositoryReportsRequest' + application/*+json: + schema: + $ref: '#/components/schemas/DeleteRepositoryReportsRequest' required: true - schema: - format: int64 - type: integer - style: simple responses: - "204": - description: When the delete was successful. + "200": + description: Success "400": description: Bad request. "404": @@ -4889,33 +4948,39 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Delete Tag + summary: Delete Reference reports tags: - - Tags - get: - description: "This endpoint returns the metadata of a Tag \nidentified by the\ - \ `tagId`." - operationId: get-tag + - Code References + /v1/products/{productId}/members/invite: + post: + description: This endpoint invites a Member into the given Product identified + by the `productId` parameter. + operationId: invite-member parameters: - - description: The identifier of the Tag. + - description: The identifier of the Product. explode: false in: path - name: tagId + name: productId required: true schema: - format: int64 - type: integer + format: uuid + type: string style: simple + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InviteMembersRequest' + text/json: + schema: + $ref: '#/components/schemas/InviteMembersRequest' + application/*+json: + schema: + $ref: '#/components/schemas/InviteMembersRequest' + required: true responses: "200": - content: - application/json: - schema: - $ref: '#/components/schemas/TagModel' - application/hal+json: - schema: - $ref: '#/components/schemas/TagModel-haljson' - description: "When everything is ok, the tag data returned." + description: When the invite was successful. "400": description: Bad request. "404": @@ -4926,44 +4991,27 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Get Tag + summary: Invite Member tags: - - Tags - put: - description: This endpoint updates a Tag identified by the `tagId` parameter. - operationId: update-tag - parameters: - - description: The identifier of the Tag. - explode: false - in: path - name: tagId - required: true - schema: - format: int64 - type: integer - style: simple + - Members + /v1/code-references: + post: + description: "" requestBody: content: application/json: schema: - $ref: '#/components/schemas/UpdateTagModel' + $ref: '#/components/schemas/CodeReferenceRequest' text/json: schema: - $ref: '#/components/schemas/UpdateTagModel' + $ref: '#/components/schemas/CodeReferenceRequest' application/*+json: schema: - $ref: '#/components/schemas/UpdateTagModel' + $ref: '#/components/schemas/CodeReferenceRequest' required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/TagModel' - application/hal+json: - schema: - $ref: '#/components/schemas/TagModel-haljson' - description: "" + responses: + "200": + description: Success "400": description: Bad request. "404": @@ -4974,38 +5022,35 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: Update Tag + summary: Upload References tags: - - Tags - /v1/tags/{tagId}/settings: - get: - description: "This endpoint returns the list of the Settings that \nhas the\ - \ specified Tag, identified by the `tagId` parameter." - operationId: get-settings-by-tag + - Code References + /v1/products/{productId}/members/{userId}: + delete: + description: "This endpoint removes a Member identified by the `userId` from\ + \ the \ngiven Product identified by the `productId` parameter." + operationId: delete-product-member parameters: - - description: The identifier of the Tag. + - description: The identifier of the Product. explode: false in: path - name: tagId + name: productId required: true schema: - format: int64 - type: integer + format: uuid + type: string + style: simple + - description: The identifier of the Member. + explode: false + in: path + name: userId + required: true + schema: + type: string style: simple responses: - "200": - content: - application/json: - schema: - items: - $ref: '#/components/schemas/SettingModel' - type: array - application/hal+json: - schema: - items: - $ref: '#/components/schemas/SettingModel-haljson' - type: array - description: "When everything is ok, the settings data returned." + "204": + description: When the delete was successful. "400": description: Bad request. "404": @@ -5016,9 +5061,9 @@ paths: "429": description: Too many requests. In case of the request rate exceeds the rate limits. - summary: List Settings by Tag + summary: Delete Member from Product tags: - - Tags + - Members components: schemas: AccessType: @@ -5097,12 +5142,14 @@ components: auditLogDateTime: 2000-01-23T04:56:07.000+00:00 auditLogType: auditLogType auditLogId: 0 + truncated: true why: why userEmail: userEmail where: where details: details actionTarget: actionTarget userName: userName + changeSetId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 properties: auditLogId: format: int64 @@ -5112,6 +5159,12 @@ components: type: string auditLogTypeEnum: $ref: '#/components/schemas/AuditLogType' + changeSetId: + format: uuid + nullable: true + type: string + truncated: + type: boolean auditLogType: nullable: true type: string @@ -5222,33 +5275,33 @@ components: - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 commitUrl: commitUrl uploader: uploader repository: repository @@ -5300,65 +5353,65 @@ components: - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 settingId: 0 - references: - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 settingId: 0 configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 commitUrl: commitUrl @@ -5432,33 +5485,33 @@ components: - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 commitUrl: commitUrl uploader: uploader repository: repository @@ -5470,33 +5523,33 @@ components: - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 commitUrl: commitUrl uploader: uploader repository: repository @@ -5520,10 +5573,10 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true color: color - tagId: 5 + tagId: 0 name: name - product: productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -5532,10 +5585,10 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true color: color - tagId: 5 + tagId: 0 name: name properties: setting: @@ -5569,7 +5622,7 @@ components: type: object ComparisonValueModel: additionalProperties: false - description: The value to compare with the given user attribute's value. + description: The value that the user object's attribute is compared to. example: listValue: - hint: hint @@ -5639,7 +5692,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -5839,6 +5892,9 @@ components: intValue: 0 boolValue: true doubleValue: 6.027456183070403 + settingIdsWherePrerequisite: + - 0 + - 0 lastUpdaterUserEmail: lastUpdaterUserEmail integrationLinks: - integrationLinkType: null @@ -5851,13 +5907,13 @@ components: url: url settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 setting: createdAt: 2000-01-23T04:56:07.000+00:00 creatorEmail: creatorEmail @@ -5867,8 +5923,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName properties: @@ -5916,6 +5972,14 @@ components: $ref: '#/components/schemas/SettingTagModel' nullable: true type: array + settingIdsWherePrerequisite: + description: List of Feature Flag and Setting IDs where the actual Feature + Flag or Setting is prerequisite. + items: + format: int32 + type: integer + nullable: true + type: array type: object ConfigSettingFormulasModel: additionalProperties: false @@ -5928,7 +5992,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -5937,13 +6001,13 @@ components: order: 0 reasonRequired: true featureFlagLimitations: - maxComparisonValueListItemLength: 2 - maxComparisonValueListLength: 3 - maxPercentageOptionCount: 2 - maxConditionPerTargetingRuleCount: 7 - maxComparisonValueLength: 9 - maxStringFlagValueLength: 4 - maxTargetingRuleCount: 7 + maxComparisonValueListItemLength: 9 + maxComparisonValueListLength: 7 + maxPercentageOptionCount: 5 + maxConditionPerTargetingRuleCount: 2 + maxComparisonValueLength: 2 + maxStringFlagValueLength: 3 + maxTargetingRuleCount: 5 settingFormulas: - lastVersionId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 targetingRules: @@ -6079,6 +6143,9 @@ components: intValue: 0 boolValue: true doubleValue: 6.027456183070403 + settingIdsWherePrerequisite: + - 0 + - 0 lastUpdaterUserEmail: lastUpdaterUserEmail integrationLinks: - integrationLinkType: null @@ -6091,13 +6158,13 @@ components: url: url settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 setting: createdAt: 2000-01-23T04:56:07.000+00:00 creatorEmail: creatorEmail @@ -6107,8 +6174,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName - lastVersionId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -6245,6 +6312,9 @@ components: intValue: 0 boolValue: true doubleValue: 6.027456183070403 + settingIdsWherePrerequisite: + - 0 + - 0 lastUpdaterUserEmail: lastUpdaterUserEmail integrationLinks: - integrationLinkType: null @@ -6257,13 +6327,13 @@ components: url: url settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 setting: createdAt: 2000-01-23T04:56:07.000+00:00 creatorEmail: creatorEmail @@ -6273,8 +6343,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName readOnly: true @@ -6286,7 +6356,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -6361,13 +6431,13 @@ components: url: url settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 setting: createdAt: 2000-01-23T04:56:07.000+00:00 creatorEmail: creatorEmail @@ -6377,8 +6447,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName properties: @@ -6437,7 +6507,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -6446,13 +6516,13 @@ components: order: 0 reasonRequired: true featureFlagLimitations: - maxComparisonValueListItemLength: 2 - maxComparisonValueListLength: 3 - maxPercentageOptionCount: 2 - maxConditionPerTargetingRuleCount: 7 - maxComparisonValueLength: 9 - maxStringFlagValueLength: 4 - maxTargetingRuleCount: 7 + maxComparisonValueListItemLength: 9 + maxComparisonValueListLength: 7 + maxPercentageOptionCount: 5 + maxConditionPerTargetingRuleCount: 2 + maxComparisonValueLength: 2 + maxStringFlagValueLength: 3 + maxTargetingRuleCount: 5 readOnly: true settingValues: - rolloutRules: @@ -6486,13 +6556,13 @@ components: url: url settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 setting: createdAt: 2000-01-23T04:56:07.000+00:00 creatorEmail: creatorEmail @@ -6502,8 +6572,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName - rolloutRules: @@ -6537,13 +6607,13 @@ components: url: url settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 setting: createdAt: 2000-01-23T04:56:07.000+00:00 creatorEmail: creatorEmail @@ -6553,8 +6623,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName config: @@ -6565,7 +6635,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -6628,16 +6698,25 @@ components: name: name description: description evaluationVersion: null + order: 0 properties: name: + description: The name of the Config. maxLength: 255 minLength: 0 type: string description: + description: The description of the Config. maxLength: 1000 minLength: 0 nullable: true type: string + order: + description: "The order of the Config represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer evaluationVersion: $ref: '#/components/schemas/EvaluationVersion' required: @@ -6649,21 +6728,31 @@ components: color: color name: name description: description + order: 0 properties: name: + description: The name of the Environment. maxLength: 255 minLength: 0 type: string color: + description: The color of the Environment. RGB or HTML color codes are allowed. maxLength: 255 minLength: 0 nullable: true type: string description: + description: The description of the Environment. maxLength: 1000 minLength: 0 nullable: true type: string + order: + description: "The order of the Environment represented on the ConfigCat\ + \ Dashboard.\r\nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer required: - name type: object @@ -6795,16 +6884,25 @@ components: example: name: name description: description + order: 0 properties: name: + description: The name of the Product. maxLength: 1000 minLength: 0 type: string description: + description: The description of the Product. maxLength: 1000 minLength: 0 nullable: true type: string + order: + description: "The order of the Product represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer required: - name type: object @@ -6861,6 +6959,7 @@ components: tags: - 0 - 0 + order: 6 properties: hint: description: "A short description for the setting, shown on the Dashboard\ @@ -6876,11 +6975,17 @@ components: type: integer nullable: true type: array + order: + description: "The order of the Setting represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer key: description: The key of the Feature Flag or Setting. maxLength: 255 minLength: 0 - pattern: "^[a-zA-Z]+[a-zA-Z0-9_]*" + pattern: "^[a-zA-Z]+[a-zA-Z0-9_-]*$" type: string name: description: The name of the Feature Flag or Setting. @@ -7019,7 +7124,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -7096,13 +7201,13 @@ components: description: Subscription limitations regarding Feature flag or Setting values and targeting. example: - maxComparisonValueListItemLength: 2 - maxComparisonValueListLength: 3 - maxPercentageOptionCount: 2 - maxConditionPerTargetingRuleCount: 7 - maxComparisonValueLength: 9 - maxStringFlagValueLength: 4 - maxTargetingRuleCount: 7 + maxComparisonValueListItemLength: 9 + maxComparisonValueListLength: 7 + maxPercentageOptionCount: 5 + maxConditionPerTargetingRuleCount: 2 + maxComparisonValueLength: 2 + maxStringFlagValueLength: 3 + maxTargetingRuleCount: 5 properties: maxPercentageOptionCount: description: Maximum number of percentage options a Feature Flag or Setting @@ -7150,33 +7255,33 @@ components: - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 - file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 settingId: 0 properties: settingId: @@ -7218,7 +7323,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environment: product: @@ -7228,7 +7333,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -7245,7 +7350,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -7262,8 +7367,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 status: status properties: product: @@ -7283,7 +7388,7 @@ components: IntegrationLinkDetailsModel: additionalProperties: false example: - allIntegrationLinkCount: 0 + allIntegrationLinkCount: 1 details: - product: productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -7292,7 +7397,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environment: product: @@ -7302,7 +7407,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -7319,7 +7424,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -7336,8 +7441,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 status: status - product: productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -7346,7 +7451,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environment: product: @@ -7356,7 +7461,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -7373,7 +7478,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -7390,8 +7495,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 status: status properties: details: @@ -7532,6 +7637,136 @@ components: - copy - test type: string + OrganizationAdminModel: + additionalProperties: false + description: Describes an Organization Admin. + example: + twoFactorEnabled: true + fullName: fullName + userId: userId + email: email + properties: + userId: + description: Identifier of the Organization Admin. + nullable: true + type: string + fullName: + description: Name of the Organization Admin. + nullable: true + type: string + email: + description: Email of the OrganizationAdmin. + nullable: true + type: string + twoFactorEnabled: + description: Determines whether 2FA is enabled for the Organization Admin. + type: boolean + type: object + OrganizationMemberModel: + additionalProperties: false + description: Describes an Organization Member. + example: + twoFactorEnabled: true + permissions: + - product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + - product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + fullName: fullName + userId: userId + email: email + properties: + userId: + description: Identifier of the Organization Admin. + nullable: true + type: string + fullName: + description: Name of the Organization Admin. + nullable: true + type: string + email: + description: Email of the OrganizationAdmin. + nullable: true + type: string + twoFactorEnabled: + description: Determines whether 2FA is enabled for the Organization Admin. + type: boolean + permissions: + description: The permissions of the Member. + items: + $ref: '#/components/schemas/OrganizationPermissionModel' + nullable: true + type: array + type: object + OrganizationMembersModel: + additionalProperties: false + example: + members: + - twoFactorEnabled: true + permissions: + - product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + - product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + fullName: fullName + userId: userId + email: email + - twoFactorEnabled: true + permissions: + - product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + - product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + fullName: fullName + userId: userId + email: email + admins: + - twoFactorEnabled: true + fullName: fullName + userId: userId + email: email + - twoFactorEnabled: true + fullName: fullName + userId: userId + email: email + properties: + admins: + description: List of Organization Admins. + items: + $ref: '#/components/schemas/OrganizationAdminModel' + nullable: true + type: array + members: + description: List of Organization Members. + items: + $ref: '#/components/schemas/OrganizationMemberModel' + nullable: true + type: array + type: object OrganizationModel: additionalProperties: false description: Details of the Organization. @@ -7561,6 +7796,54 @@ components: _links: $ref: '#/components/schemas/ConfigModel_haljson__embedded_product__embedded_organization__links' type: object + OrganizationPermissionGroupModel: + additionalProperties: false + description: Describes the Member's Permission Group within a Product. + example: + permissionGroupId: 0 + name: name + properties: + permissionGroupId: + description: Identifier of the Member's Permission Group. + format: int64 + type: integer + name: + description: Name of the Member's Permission Group. + nullable: true + type: string + type: object + OrganizationPermissionModel: + additionalProperties: false + description: Describes the Member's permission. + example: + product: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + permissionGroup: + permissionGroupId: 0 + name: name + properties: + product: + $ref: '#/components/schemas/OrganizationProductModel' + permissionGroup: + $ref: '#/components/schemas/OrganizationPermissionGroupModel' + type: object + OrganizationProductModel: + additionalProperties: false + description: Describes the Member's Product. + example: + productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + name: name + properties: + productId: + description: Identifier of the Member's Product. + format: uuid + type: string + name: + description: Name of the Member's Product. + nullable: true + type: string + type: object PercentageOptionModel: additionalProperties: false example: @@ -7572,7 +7855,8 @@ components: doubleValue: 6.027456183070403 properties: percentage: - description: The percentage. + description: A number between 0 and 100 that represents a randomly allocated + fraction of the users. format: int32 type: integer value: @@ -7621,7 +7905,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true canDeleteConfig: true canDeleteEnvironment: true @@ -7800,7 +8084,8 @@ components: $ref: '#/components/schemas/ConfigSettingFormulasModel_haljson__embedded_environment__links' type: object PrerequisiteComparator: - description: The comparison operator used during the evaluation process. + description: Prerequisite flag comparison operator used during the evaluation + process. enum: - equals - doesNotEqual @@ -7840,7 +8125,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true properties: organization: @@ -7858,7 +8143,8 @@ components: nullable: true type: string order: - description: The order of the Product represented on the ConfigCat Dashboard. + description: "The order of the Product represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." format: int32 type: integer reasonRequired: @@ -7883,7 +8169,8 @@ components: nullable: true type: string order: - description: The order of the Product represented on the ConfigCat Dashboard. + description: "The order of the Product represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." format: int32 type: integer reasonRequired: @@ -7898,7 +8185,7 @@ components: description: Determines a code reference line. example: lineText: lineText - lineNumber: 6 + lineNumber: 0 properties: lineText: description: The content of the reference line. @@ -7919,18 +8206,18 @@ components: file: file referenceLine: lineText: lineText - lineNumber: 6 + lineNumber: 0 fileUrl: fileUrl postLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 preLines: - lineText: lineText - lineNumber: 6 + lineNumber: 0 - lineText: lineText - lineNumber: 6 + lineNumber: 0 properties: file: description: The file's name in where the code reference has been found. @@ -8086,7 +8373,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true lastUpdaterEmail: lastUpdaterEmail creatorEmail: creatorEmail @@ -8200,7 +8487,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true comparisonValue: comparisonValue creatorEmail: creatorEmail @@ -8331,8 +8618,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 properties: settingId: description: Identifier of the Feature Flag or Setting. @@ -8520,8 +8807,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 lastVersionId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 environment: product: @@ -8531,7 +8818,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -8540,13 +8827,16 @@ components: order: 0 reasonRequired: true featureFlagLimitations: - maxComparisonValueListItemLength: 2 - maxComparisonValueListLength: 3 - maxPercentageOptionCount: 2 - maxConditionPerTargetingRuleCount: 7 - maxComparisonValueLength: 9 - maxStringFlagValueLength: 4 - maxTargetingRuleCount: 7 + maxComparisonValueListItemLength: 9 + maxComparisonValueListLength: 7 + maxPercentageOptionCount: 5 + maxConditionPerTargetingRuleCount: 2 + maxComparisonValueLength: 2 + maxStringFlagValueLength: 3 + maxTargetingRuleCount: 5 + settingIdsWherePrerequisite: + - 2 + - 2 integrationLinks: - integrationLinkType: null description: description @@ -8564,7 +8854,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -8574,13 +8864,13 @@ components: order: 0 settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName properties: @@ -8628,6 +8918,14 @@ components: $ref: '#/components/schemas/SettingTagModel' nullable: true type: array + settingIdsWherePrerequisite: + description: List of Feature Flag and Setting IDs where the actual Feature + Flag or Setting is prerequisite. + items: + format: int32 + type: integer + nullable: true + type: array config: $ref: '#/components/schemas/ConfigModel' environment: @@ -8671,6 +8969,14 @@ components: type: string _embedded: $ref: '#/components/schemas/SettingFormulaModel_haljson__embedded' + settingIdsWherePrerequisite: + description: List of Feature Flag and Setting IDs where the actual Feature + Flag or Setting is prerequisite. + items: + format: int32 + type: integer + nullable: true + type: array readOnly: type: boolean featureFlagLimitations: @@ -8698,10 +9004,10 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true color: color - tagId: 5 + tagId: 0 name: name - product: productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -8710,10 +9016,10 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true color: color - tagId: 5 + tagId: 0 name: name properties: settingId: @@ -8796,9 +9102,9 @@ components: additionalProperties: false example: color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 properties: settingTagId: format: int64 @@ -8853,8 +9159,8 @@ components: isWatching: true settingType: null key: key - settingId: 6 - order: 1 + settingId: 0 + order: 6 environment: product: productId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -8863,7 +9169,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true environmentId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 color: color @@ -8872,13 +9178,13 @@ components: order: 0 reasonRequired: true featureFlagLimitations: - maxComparisonValueListItemLength: 2 - maxComparisonValueListLength: 3 - maxPercentageOptionCount: 2 - maxConditionPerTargetingRuleCount: 7 - maxComparisonValueLength: 9 - maxStringFlagValueLength: 4 - maxTargetingRuleCount: 7 + maxComparisonValueListItemLength: 9 + maxComparisonValueListLength: 7 + maxPercentageOptionCount: 5 + maxConditionPerTargetingRuleCount: 2 + maxComparisonValueLength: 2 + maxStringFlagValueLength: 3 + maxTargetingRuleCount: 5 value: "" integrationLinks: - integrationLinkType: null @@ -8897,7 +9203,7 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true configId: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 name: name @@ -8907,13 +9213,13 @@ components: order: 0 settingTags: - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 - color: color - tagId: 5 + tagId: 1 name: name - settingTagId: 5 + settingTagId: 6 updatedAt: 2000-01-23T04:56:07.000+00:00 lastUpdaterUserFullName: lastUpdaterUserFullName properties: @@ -9019,10 +9325,10 @@ components: name: name name: name description: description - order: 1 + order: 0 reasonRequired: true color: color - tagId: 5 + tagId: 0 name: name properties: product: @@ -9149,17 +9455,26 @@ components: example: name: name description: description + order: 0 properties: name: + description: The name of the Config. maxLength: 255 minLength: 0 nullable: true type: string description: + description: The description of the Config. maxLength: 1000 minLength: 0 nullable: true type: string + order: + description: "The order of the Config represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer type: object UpdateEnvironmentModel: additionalProperties: false @@ -9167,22 +9482,32 @@ components: color: color name: name description: description + order: 0 properties: name: + description: The name of the Environment. maxLength: 255 minLength: 0 nullable: true type: string color: + description: The color of the Environment. RGB or HTML color codes are allowed. maxLength: 255 minLength: 0 nullable: true type: string description: + description: The description of the Environment. maxLength: 1000 minLength: 0 nullable: true type: string + order: + description: "The order of the Environment represented on the ConfigCat\ + \ Dashboard.\r\nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer type: object UpdateEvaluationFormulaModel: additionalProperties: false @@ -9911,17 +10236,26 @@ components: example: name: name description: description + order: 0 properties: name: + description: The name of the Product. maxLength: 1000 minLength: 0 nullable: true type: string description: + description: The description of the Product. maxLength: 1000 minLength: 0 nullable: true type: string + order: + description: "The order of the Product represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." + format: int32 + nullable: true + type: integer type: object UpdateSegmentModel: additionalProperties: false @@ -10108,9 +10442,11 @@ components: type: string type: object UserComparator: - description: The comparison operator the evaluation process must use when it - compares the given user attribute's value with the comparison value. + description: The comparison operator which defines the relation between the + comparison attribute and the comparison value. enum: + - isOneOf + - isNotOneOf - containsAnyOf - doesNotContainAnyOf - semVerIsOneOf @@ -10135,8 +10471,16 @@ components: - sensitiveTextNotStartsWithAnyOf - sensitiveTextEndsWithAnyOf - sensitiveTextNotEndsWithAnyOf - - arrayContains - - arrayDoesNotContain + - sensitiveArrayContainsAnyOf + - sensitiveArrayDoesNotContainAnyOf + - textEquals + - textDoesNotEqual + - textStartsWithAnyOf + - textNotStartsWithAnyOf + - textEndsWithAnyOf + - textNotEndsWithAnyOf + - arrayContainsAnyOf + - arrayDoesNotContainAnyOf type: string UserConditionModel: additionalProperties: false @@ -10154,8 +10498,8 @@ components: comparisonAttribute: comparisonAttribute properties: comparisonAttribute: - description: The user's attribute the evaluation process must take into - account. + description: "The User Object attribute that the condition is based on.\ + \ Can be \"User ID\", \"Email\", \"Country\" or any custom attribute." maxLength: 1000 minLength: 0 type: string @@ -10279,7 +10623,8 @@ components: nullable: true type: string order: - description: The order of the Product represented on the ConfigCat Dashboard. + description: "The order of the Product represented on the ConfigCat Dashboard.\r\ + \nDetermined from an ascending sequence of integers." format: int32 type: integer reasonRequired: diff --git a/api_members.go b/api_members.go index dd57052..f24cf54 100644 --- a/api_members.go +++ b/api_members.go @@ -351,6 +351,8 @@ The results may vary based on the access level of the user who calls the endpoin @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param organizationId The identifier of the Organization. @return MembersApiGetOrganizationMembersRequest + +Deprecated */ func (a *MembersApiService) GetOrganizationMembers(ctx context.Context, organizationId string) MembersApiGetOrganizationMembersRequest { return MembersApiGetOrganizationMembersRequest{ @@ -362,6 +364,7 @@ func (a *MembersApiService) GetOrganizationMembers(ctx context.Context, organiza // Execute executes the request // @return []UserModel +// Deprecated func (a *MembersApiService) GetOrganizationMembersExecute(r MembersApiGetOrganizationMembersRequest) ([]UserModel, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet @@ -436,6 +439,115 @@ func (a *MembersApiService) GetOrganizationMembersExecute(r MembersApiGetOrganiz return localVarReturnValue, localVarHTTPResponse, nil } +type MembersApiGetOrganizationMembersV2Request struct { + ctx context.Context + ApiService *MembersApiService + organizationId string +} + +func (r MembersApiGetOrganizationMembersV2Request) Execute() (*OrganizationMembersModel, *http.Response, error) { + return r.ApiService.GetOrganizationMembersV2Execute(r) +} + +/* +GetOrganizationMembersV2 List Organization Members + +This endpoint returns the list of Members that belongs +to the given Organization, identified by the `organizationId` parameter. + +The results may vary based on the access level of the user who calls the endpoint: +- When it's called with Organization Admin privileges, the result will contain each member in the Organization. +- When it's called without Organization Admin privileges, the result will contain each Organization Admin along with members + of those products where the caller has `Team members and permission groups` (`canManageMembers`) permission. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param organizationId The identifier of the Organization. + @return MembersApiGetOrganizationMembersV2Request +*/ +func (a *MembersApiService) GetOrganizationMembersV2(ctx context.Context, organizationId string) MembersApiGetOrganizationMembersV2Request { + return MembersApiGetOrganizationMembersV2Request{ + ApiService: a, + ctx: ctx, + organizationId: organizationId, + } +} + +// Execute executes the request +// @return OrganizationMembersModel +func (a *MembersApiService) GetOrganizationMembersV2Execute(r MembersApiGetOrganizationMembersV2Request) (*OrganizationMembersModel, *http.Response, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *OrganizationMembersModel + ) + + localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "MembersApiService.GetOrganizationMembersV2") + if err != nil { + return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} + } + + localVarPath := localBasePath + "/v2/organizations/{organizationId}/members" + localVarPath = strings.Replace(localVarPath, "{"+"organizationId"+"}", url.PathEscape(parameterValueToString(r.organizationId, "organizationId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json", "application/hal+json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(req) + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, localVarHTTPResponse, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: localVarHTTPResponse.Status, + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &GenericOpenAPIError{ + body: localVarBody, + error: err.Error(), + } + return localVarReturnValue, localVarHTTPResponse, newErr + } + + return localVarReturnValue, localVarHTTPResponse, nil +} + type MembersApiGetProductMembersRequest struct { ctx context.Context ApiService *MembersApiService diff --git a/docs/AuditLogItemModel.md b/docs/AuditLogItemModel.md index 45bcc7d..f2faa93 100644 --- a/docs/AuditLogItemModel.md +++ b/docs/AuditLogItemModel.md @@ -7,6 +7,8 @@ Name | Type | Description | Notes **AuditLogId** | Pointer to **int64** | | [optional] **AuditLogDateTime** | Pointer to **time.Time** | | [optional] **AuditLogTypeEnum** | Pointer to [**AuditLogType**](AuditLogType.md) | | [optional] +**ChangeSetId** | Pointer to **NullableString** | | [optional] +**Truncated** | Pointer to **bool** | | [optional] **AuditLogType** | Pointer to **NullableString** | | [optional] **UserEmail** | Pointer to **NullableString** | | [optional] **UserName** | Pointer to **NullableString** | | [optional] @@ -109,6 +111,66 @@ SetAuditLogTypeEnum sets AuditLogTypeEnum field to given value. HasAuditLogTypeEnum returns a boolean if a field has been set. +### GetChangeSetId + +`func (o *AuditLogItemModel) GetChangeSetId() string` + +GetChangeSetId returns the ChangeSetId field if non-nil, zero value otherwise. + +### GetChangeSetIdOk + +`func (o *AuditLogItemModel) GetChangeSetIdOk() (*string, bool)` + +GetChangeSetIdOk returns a tuple with the ChangeSetId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetChangeSetId + +`func (o *AuditLogItemModel) SetChangeSetId(v string)` + +SetChangeSetId sets ChangeSetId field to given value. + +### HasChangeSetId + +`func (o *AuditLogItemModel) HasChangeSetId() bool` + +HasChangeSetId returns a boolean if a field has been set. + +### SetChangeSetIdNil + +`func (o *AuditLogItemModel) SetChangeSetIdNil(b bool)` + + SetChangeSetIdNil sets the value for ChangeSetId to be an explicit nil + +### UnsetChangeSetId +`func (o *AuditLogItemModel) UnsetChangeSetId()` + +UnsetChangeSetId ensures that no value is present for ChangeSetId, not even an explicit nil +### GetTruncated + +`func (o *AuditLogItemModel) GetTruncated() bool` + +GetTruncated returns the Truncated field if non-nil, zero value otherwise. + +### GetTruncatedOk + +`func (o *AuditLogItemModel) GetTruncatedOk() (*bool, bool)` + +GetTruncatedOk returns a tuple with the Truncated field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTruncated + +`func (o *AuditLogItemModel) SetTruncated(v bool)` + +SetTruncated sets Truncated field to given value. + +### HasTruncated + +`func (o *AuditLogItemModel) HasTruncated() bool` + +HasTruncated returns a boolean if a field has been set. + ### GetAuditLogType `func (o *AuditLogItemModel) GetAuditLogType() string` diff --git a/docs/ConfigModelHaljsonEmbeddedProduct.md b/docs/ConfigModelHaljsonEmbeddedProduct.md index 8e4b060..ce75c6a 100644 --- a/docs/ConfigModelHaljsonEmbeddedProduct.md +++ b/docs/ConfigModelHaljsonEmbeddedProduct.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **ProductId** | Pointer to **string** | Identifier of the Product. | [optional] **Name** | Pointer to **NullableString** | Name of the Product. | [optional] **Description** | Pointer to **NullableString** | Description of the Product. | [optional] -**Order** | Pointer to **int32** | The order of the Product represented on the ConfigCat Dashboard. | [optional] +**Order** | Pointer to **int32** | The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] **ReasonRequired** | Pointer to **bool** | Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved. | [optional] **Links** | Pointer to [**ConfigModelHaljsonEmbeddedProductLinks**](ConfigModelHaljsonEmbeddedProductLinks.md) | | [optional] diff --git a/docs/ConfigSettingFormulaModel.md b/docs/ConfigSettingFormulaModel.md index f2b0691..59191a6 100644 --- a/docs/ConfigSettingFormulaModel.md +++ b/docs/ConfigSettingFormulaModel.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **LastUpdaterUserFullName** | Pointer to **NullableString** | The name of the user who last updated the Feature Flag or Setting. | [optional] **IntegrationLinks** | Pointer to [**[]IntegrationLinkModel**](IntegrationLinkModel.md) | The integration links attached to the Feature Flag or Setting. | [optional] **SettingTags** | Pointer to [**[]SettingTagModel**](SettingTagModel.md) | The tags attached to the Feature Flag or Setting. | [optional] +**SettingIdsWherePrerequisite** | Pointer to **[]int32** | List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite. | [optional] ## Methods @@ -354,6 +355,41 @@ HasSettingTags returns a boolean if a field has been set. `func (o *ConfigSettingFormulaModel) UnsetSettingTags()` UnsetSettingTags ensures that no value is present for SettingTags, not even an explicit nil +### GetSettingIdsWherePrerequisite + +`func (o *ConfigSettingFormulaModel) GetSettingIdsWherePrerequisite() []int32` + +GetSettingIdsWherePrerequisite returns the SettingIdsWherePrerequisite field if non-nil, zero value otherwise. + +### GetSettingIdsWherePrerequisiteOk + +`func (o *ConfigSettingFormulaModel) GetSettingIdsWherePrerequisiteOk() (*[]int32, bool)` + +GetSettingIdsWherePrerequisiteOk returns a tuple with the SettingIdsWherePrerequisite field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSettingIdsWherePrerequisite + +`func (o *ConfigSettingFormulaModel) SetSettingIdsWherePrerequisite(v []int32)` + +SetSettingIdsWherePrerequisite sets SettingIdsWherePrerequisite field to given value. + +### HasSettingIdsWherePrerequisite + +`func (o *ConfigSettingFormulaModel) HasSettingIdsWherePrerequisite() bool` + +HasSettingIdsWherePrerequisite returns a boolean if a field has been set. + +### SetSettingIdsWherePrerequisiteNil + +`func (o *ConfigSettingFormulaModel) SetSettingIdsWherePrerequisiteNil(b bool)` + + SetSettingIdsWherePrerequisiteNil sets the value for SettingIdsWherePrerequisite to be an explicit nil + +### UnsetSettingIdsWherePrerequisite +`func (o *ConfigSettingFormulaModel) UnsetSettingIdsWherePrerequisite()` + +UnsetSettingIdsWherePrerequisite ensures that no value is present for SettingIdsWherePrerequisite, not even an explicit nil [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CreateConfigRequest.md b/docs/CreateConfigRequest.md index 7caf667..84b31f3 100644 --- a/docs/CreateConfigRequest.md +++ b/docs/CreateConfigRequest.md @@ -4,8 +4,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | | -**Description** | Pointer to **NullableString** | | [optional] +**Name** | **string** | The name of the Config. | +**Description** | Pointer to **NullableString** | The description of the Config. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Config represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] **EvaluationVersion** | Pointer to [**EvaluationVersion**](EvaluationVersion.md) | | [optional] ## Methods @@ -82,6 +83,41 @@ HasDescription returns a boolean if a field has been set. `func (o *CreateConfigRequest) UnsetDescription()` UnsetDescription ensures that no value is present for Description, not even an explicit nil +### GetOrder + +`func (o *CreateConfigRequest) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *CreateConfigRequest) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *CreateConfigRequest) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *CreateConfigRequest) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *CreateConfigRequest) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *CreateConfigRequest) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil ### GetEvaluationVersion `func (o *CreateConfigRequest) GetEvaluationVersion() EvaluationVersion` diff --git a/docs/CreateEnvironmentModel.md b/docs/CreateEnvironmentModel.md index 4e7900b..dbf3639 100644 --- a/docs/CreateEnvironmentModel.md +++ b/docs/CreateEnvironmentModel.md @@ -4,9 +4,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | | -**Color** | Pointer to **NullableString** | | [optional] -**Description** | Pointer to **NullableString** | | [optional] +**Name** | **string** | The name of the Environment. | +**Color** | Pointer to **NullableString** | The color of the Environment. RGB or HTML color codes are allowed. | [optional] +**Description** | Pointer to **NullableString** | The description of the Environment. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Environment represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] ## Methods @@ -117,6 +118,41 @@ HasDescription returns a boolean if a field has been set. `func (o *CreateEnvironmentModel) UnsetDescription()` UnsetDescription ensures that no value is present for Description, not even an explicit nil +### GetOrder + +`func (o *CreateEnvironmentModel) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *CreateEnvironmentModel) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *CreateEnvironmentModel) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *CreateEnvironmentModel) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *CreateEnvironmentModel) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *CreateEnvironmentModel) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CreateProductRequest.md b/docs/CreateProductRequest.md index d46845a..63fc665 100644 --- a/docs/CreateProductRequest.md +++ b/docs/CreateProductRequest.md @@ -4,8 +4,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | **string** | | -**Description** | Pointer to **NullableString** | | [optional] +**Name** | **string** | The name of the Product. | +**Description** | Pointer to **NullableString** | The description of the Product. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] ## Methods @@ -81,6 +82,41 @@ HasDescription returns a boolean if a field has been set. `func (o *CreateProductRequest) UnsetDescription()` UnsetDescription ensures that no value is present for Description, not even an explicit nil +### GetOrder + +`func (o *CreateProductRequest) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *CreateProductRequest) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *CreateProductRequest) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *CreateProductRequest) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *CreateProductRequest) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *CreateProductRequest) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CreateSettingInitialValues.md b/docs/CreateSettingInitialValues.md index abbe718..34f19ef 100644 --- a/docs/CreateSettingInitialValues.md +++ b/docs/CreateSettingInitialValues.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **Hint** | Pointer to **NullableString** | A short description for the setting, shown on the Dashboard UI. | [optional] **Tags** | Pointer to **[]int64** | The IDs of the tags which are attached to the setting. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Setting represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] **Key** | **string** | The key of the Feature Flag or Setting. | **Name** | **string** | The name of the Feature Flag or Setting. | **SettingType** | [**SettingType**](SettingType.md) | | @@ -100,6 +101,41 @@ HasTags returns a boolean if a field has been set. `func (o *CreateSettingInitialValues) UnsetTags()` UnsetTags ensures that no value is present for Tags, not even an explicit nil +### GetOrder + +`func (o *CreateSettingInitialValues) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *CreateSettingInitialValues) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *CreateSettingInitialValues) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *CreateSettingInitialValues) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *CreateSettingInitialValues) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *CreateSettingInitialValues) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil ### GetKey `func (o *CreateSettingInitialValues) GetKey() string` diff --git a/docs/MembersApi.md b/docs/MembersApi.md index 385d621..fd50199 100644 --- a/docs/MembersApi.md +++ b/docs/MembersApi.md @@ -8,6 +8,7 @@ Method | HTTP request | Description [**DeleteOrganizationMember**](MembersApi.md#DeleteOrganizationMember) | **Delete** /v1/organizations/{organizationId}/members/{userId} | Delete Member from Organization [**DeleteProductMember**](MembersApi.md#DeleteProductMember) | **Delete** /v1/products/{productId}/members/{userId} | Delete Member from Product [**GetOrganizationMembers**](MembersApi.md#GetOrganizationMembers) | **Get** /v1/organizations/{organizationId}/members | List Organization Members +[**GetOrganizationMembersV2**](MembersApi.md#GetOrganizationMembersV2) | **Get** /v2/organizations/{organizationId}/members | List Organization Members [**GetProductMembers**](MembersApi.md#GetProductMembers) | **Get** /v1/products/{productId}/members | List Product Members [**InviteMember**](MembersApi.md#InviteMember) | **Post** /v1/products/{productId}/members/invite | Invite Member @@ -298,6 +299,76 @@ Name | Type | Description | Notes [[Back to README]](../README.md) +## GetOrganizationMembersV2 + +> OrganizationMembersModel GetOrganizationMembersV2(ctx, organizationId).Execute() + +List Organization Members + + + +### Example + +```go +package main + +import ( + "context" + "fmt" + "os" + openapiclient "github.com/configcat/configcat-publicapi-go-client" +) + +func main() { + organizationId := "38400000-8cf0-11bd-b23e-10b96e4ef00d" // string | The identifier of the Organization. + + configuration := openapiclient.NewConfiguration() + apiClient := openapiclient.NewAPIClient(configuration) + resp, r, err := apiClient.MembersApi.GetOrganizationMembersV2(context.Background(), organizationId).Execute() + if err != nil { + fmt.Fprintf(os.Stderr, "Error when calling `MembersApi.GetOrganizationMembersV2``: %v\n", err) + fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) + } + // response from `GetOrganizationMembersV2`: OrganizationMembersModel + fmt.Fprintf(os.Stdout, "Response from `MembersApi.GetOrganizationMembersV2`: %v\n", resp) +} +``` + +### Path Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- +**ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. +**organizationId** | **string** | The identifier of the Organization. | + +### Other Parameters + +Other parameters are passed through a pointer to a apiGetOrganizationMembersV2Request struct via the builder pattern + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + +### Return type + +[**OrganizationMembersModel**](OrganizationMembersModel.md) + +### Authorization + +[Basic](../README.md#Basic) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, application/hal+json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) +[[Back to Model list]](../README.md#documentation-for-models) +[[Back to README]](../README.md) + + ## GetProductMembers > []MemberModel GetProductMembers(ctx, productId).Execute() diff --git a/docs/OrganizationAdminModel.md b/docs/OrganizationAdminModel.md new file mode 100644 index 0000000..b99c2fb --- /dev/null +++ b/docs/OrganizationAdminModel.md @@ -0,0 +1,164 @@ +# OrganizationAdminModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**UserId** | Pointer to **NullableString** | Identifier of the Organization Admin. | [optional] +**FullName** | Pointer to **NullableString** | Name of the Organization Admin. | [optional] +**Email** | Pointer to **NullableString** | Email of the OrganizationAdmin. | [optional] +**TwoFactorEnabled** | Pointer to **bool** | Determines whether 2FA is enabled for the Organization Admin. | [optional] + +## Methods + +### NewOrganizationAdminModel + +`func NewOrganizationAdminModel() *OrganizationAdminModel` + +NewOrganizationAdminModel instantiates a new OrganizationAdminModel object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewOrganizationAdminModelWithDefaults + +`func NewOrganizationAdminModelWithDefaults() *OrganizationAdminModel` + +NewOrganizationAdminModelWithDefaults instantiates a new OrganizationAdminModel object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetUserId + +`func (o *OrganizationAdminModel) GetUserId() string` + +GetUserId returns the UserId field if non-nil, zero value otherwise. + +### GetUserIdOk + +`func (o *OrganizationAdminModel) GetUserIdOk() (*string, bool)` + +GetUserIdOk returns a tuple with the UserId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetUserId + +`func (o *OrganizationAdminModel) SetUserId(v string)` + +SetUserId sets UserId field to given value. + +### HasUserId + +`func (o *OrganizationAdminModel) HasUserId() bool` + +HasUserId returns a boolean if a field has been set. + +### SetUserIdNil + +`func (o *OrganizationAdminModel) SetUserIdNil(b bool)` + + SetUserIdNil sets the value for UserId to be an explicit nil + +### UnsetUserId +`func (o *OrganizationAdminModel) UnsetUserId()` + +UnsetUserId ensures that no value is present for UserId, not even an explicit nil +### GetFullName + +`func (o *OrganizationAdminModel) GetFullName() string` + +GetFullName returns the FullName field if non-nil, zero value otherwise. + +### GetFullNameOk + +`func (o *OrganizationAdminModel) GetFullNameOk() (*string, bool)` + +GetFullNameOk returns a tuple with the FullName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetFullName + +`func (o *OrganizationAdminModel) SetFullName(v string)` + +SetFullName sets FullName field to given value. + +### HasFullName + +`func (o *OrganizationAdminModel) HasFullName() bool` + +HasFullName returns a boolean if a field has been set. + +### SetFullNameNil + +`func (o *OrganizationAdminModel) SetFullNameNil(b bool)` + + SetFullNameNil sets the value for FullName to be an explicit nil + +### UnsetFullName +`func (o *OrganizationAdminModel) UnsetFullName()` + +UnsetFullName ensures that no value is present for FullName, not even an explicit nil +### GetEmail + +`func (o *OrganizationAdminModel) GetEmail() string` + +GetEmail returns the Email field if non-nil, zero value otherwise. + +### GetEmailOk + +`func (o *OrganizationAdminModel) GetEmailOk() (*string, bool)` + +GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetEmail + +`func (o *OrganizationAdminModel) SetEmail(v string)` + +SetEmail sets Email field to given value. + +### HasEmail + +`func (o *OrganizationAdminModel) HasEmail() bool` + +HasEmail returns a boolean if a field has been set. + +### SetEmailNil + +`func (o *OrganizationAdminModel) SetEmailNil(b bool)` + + SetEmailNil sets the value for Email to be an explicit nil + +### UnsetEmail +`func (o *OrganizationAdminModel) UnsetEmail()` + +UnsetEmail ensures that no value is present for Email, not even an explicit nil +### GetTwoFactorEnabled + +`func (o *OrganizationAdminModel) GetTwoFactorEnabled() bool` + +GetTwoFactorEnabled returns the TwoFactorEnabled field if non-nil, zero value otherwise. + +### GetTwoFactorEnabledOk + +`func (o *OrganizationAdminModel) GetTwoFactorEnabledOk() (*bool, bool)` + +GetTwoFactorEnabledOk returns a tuple with the TwoFactorEnabled field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTwoFactorEnabled + +`func (o *OrganizationAdminModel) SetTwoFactorEnabled(v bool)` + +SetTwoFactorEnabled sets TwoFactorEnabled field to given value. + +### HasTwoFactorEnabled + +`func (o *OrganizationAdminModel) HasTwoFactorEnabled() bool` + +HasTwoFactorEnabled returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationMemberModel.md b/docs/OrganizationMemberModel.md new file mode 100644 index 0000000..9179410 --- /dev/null +++ b/docs/OrganizationMemberModel.md @@ -0,0 +1,200 @@ +# OrganizationMemberModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**UserId** | Pointer to **NullableString** | Identifier of the Organization Admin. | [optional] +**FullName** | Pointer to **NullableString** | Name of the Organization Admin. | [optional] +**Email** | Pointer to **NullableString** | Email of the OrganizationAdmin. | [optional] +**TwoFactorEnabled** | Pointer to **bool** | Determines whether 2FA is enabled for the Organization Admin. | [optional] +**Permissions** | Pointer to [**[]OrganizationPermissionModel**](OrganizationPermissionModel.md) | The permissions of the Member. | [optional] + +## Methods + +### NewOrganizationMemberModel + +`func NewOrganizationMemberModel() *OrganizationMemberModel` + +NewOrganizationMemberModel instantiates a new OrganizationMemberModel object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewOrganizationMemberModelWithDefaults + +`func NewOrganizationMemberModelWithDefaults() *OrganizationMemberModel` + +NewOrganizationMemberModelWithDefaults instantiates a new OrganizationMemberModel object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetUserId + +`func (o *OrganizationMemberModel) GetUserId() string` + +GetUserId returns the UserId field if non-nil, zero value otherwise. + +### GetUserIdOk + +`func (o *OrganizationMemberModel) GetUserIdOk() (*string, bool)` + +GetUserIdOk returns a tuple with the UserId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetUserId + +`func (o *OrganizationMemberModel) SetUserId(v string)` + +SetUserId sets UserId field to given value. + +### HasUserId + +`func (o *OrganizationMemberModel) HasUserId() bool` + +HasUserId returns a boolean if a field has been set. + +### SetUserIdNil + +`func (o *OrganizationMemberModel) SetUserIdNil(b bool)` + + SetUserIdNil sets the value for UserId to be an explicit nil + +### UnsetUserId +`func (o *OrganizationMemberModel) UnsetUserId()` + +UnsetUserId ensures that no value is present for UserId, not even an explicit nil +### GetFullName + +`func (o *OrganizationMemberModel) GetFullName() string` + +GetFullName returns the FullName field if non-nil, zero value otherwise. + +### GetFullNameOk + +`func (o *OrganizationMemberModel) GetFullNameOk() (*string, bool)` + +GetFullNameOk returns a tuple with the FullName field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetFullName + +`func (o *OrganizationMemberModel) SetFullName(v string)` + +SetFullName sets FullName field to given value. + +### HasFullName + +`func (o *OrganizationMemberModel) HasFullName() bool` + +HasFullName returns a boolean if a field has been set. + +### SetFullNameNil + +`func (o *OrganizationMemberModel) SetFullNameNil(b bool)` + + SetFullNameNil sets the value for FullName to be an explicit nil + +### UnsetFullName +`func (o *OrganizationMemberModel) UnsetFullName()` + +UnsetFullName ensures that no value is present for FullName, not even an explicit nil +### GetEmail + +`func (o *OrganizationMemberModel) GetEmail() string` + +GetEmail returns the Email field if non-nil, zero value otherwise. + +### GetEmailOk + +`func (o *OrganizationMemberModel) GetEmailOk() (*string, bool)` + +GetEmailOk returns a tuple with the Email field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetEmail + +`func (o *OrganizationMemberModel) SetEmail(v string)` + +SetEmail sets Email field to given value. + +### HasEmail + +`func (o *OrganizationMemberModel) HasEmail() bool` + +HasEmail returns a boolean if a field has been set. + +### SetEmailNil + +`func (o *OrganizationMemberModel) SetEmailNil(b bool)` + + SetEmailNil sets the value for Email to be an explicit nil + +### UnsetEmail +`func (o *OrganizationMemberModel) UnsetEmail()` + +UnsetEmail ensures that no value is present for Email, not even an explicit nil +### GetTwoFactorEnabled + +`func (o *OrganizationMemberModel) GetTwoFactorEnabled() bool` + +GetTwoFactorEnabled returns the TwoFactorEnabled field if non-nil, zero value otherwise. + +### GetTwoFactorEnabledOk + +`func (o *OrganizationMemberModel) GetTwoFactorEnabledOk() (*bool, bool)` + +GetTwoFactorEnabledOk returns a tuple with the TwoFactorEnabled field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTwoFactorEnabled + +`func (o *OrganizationMemberModel) SetTwoFactorEnabled(v bool)` + +SetTwoFactorEnabled sets TwoFactorEnabled field to given value. + +### HasTwoFactorEnabled + +`func (o *OrganizationMemberModel) HasTwoFactorEnabled() bool` + +HasTwoFactorEnabled returns a boolean if a field has been set. + +### GetPermissions + +`func (o *OrganizationMemberModel) GetPermissions() []OrganizationPermissionModel` + +GetPermissions returns the Permissions field if non-nil, zero value otherwise. + +### GetPermissionsOk + +`func (o *OrganizationMemberModel) GetPermissionsOk() (*[]OrganizationPermissionModel, bool)` + +GetPermissionsOk returns a tuple with the Permissions field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetPermissions + +`func (o *OrganizationMemberModel) SetPermissions(v []OrganizationPermissionModel)` + +SetPermissions sets Permissions field to given value. + +### HasPermissions + +`func (o *OrganizationMemberModel) HasPermissions() bool` + +HasPermissions returns a boolean if a field has been set. + +### SetPermissionsNil + +`func (o *OrganizationMemberModel) SetPermissionsNil(b bool)` + + SetPermissionsNil sets the value for Permissions to be an explicit nil + +### UnsetPermissions +`func (o *OrganizationMemberModel) UnsetPermissions()` + +UnsetPermissions ensures that no value is present for Permissions, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationMembersModel.md b/docs/OrganizationMembersModel.md new file mode 100644 index 0000000..327cde8 --- /dev/null +++ b/docs/OrganizationMembersModel.md @@ -0,0 +1,102 @@ +# OrganizationMembersModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Admins** | Pointer to [**[]OrganizationAdminModel**](OrganizationAdminModel.md) | List of Organization Admins. | [optional] +**Members** | Pointer to [**[]OrganizationMemberModel**](OrganizationMemberModel.md) | List of Organization Members. | [optional] + +## Methods + +### NewOrganizationMembersModel + +`func NewOrganizationMembersModel() *OrganizationMembersModel` + +NewOrganizationMembersModel instantiates a new OrganizationMembersModel object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewOrganizationMembersModelWithDefaults + +`func NewOrganizationMembersModelWithDefaults() *OrganizationMembersModel` + +NewOrganizationMembersModelWithDefaults instantiates a new OrganizationMembersModel object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetAdmins + +`func (o *OrganizationMembersModel) GetAdmins() []OrganizationAdminModel` + +GetAdmins returns the Admins field if non-nil, zero value otherwise. + +### GetAdminsOk + +`func (o *OrganizationMembersModel) GetAdminsOk() (*[]OrganizationAdminModel, bool)` + +GetAdminsOk returns a tuple with the Admins field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetAdmins + +`func (o *OrganizationMembersModel) SetAdmins(v []OrganizationAdminModel)` + +SetAdmins sets Admins field to given value. + +### HasAdmins + +`func (o *OrganizationMembersModel) HasAdmins() bool` + +HasAdmins returns a boolean if a field has been set. + +### SetAdminsNil + +`func (o *OrganizationMembersModel) SetAdminsNil(b bool)` + + SetAdminsNil sets the value for Admins to be an explicit nil + +### UnsetAdmins +`func (o *OrganizationMembersModel) UnsetAdmins()` + +UnsetAdmins ensures that no value is present for Admins, not even an explicit nil +### GetMembers + +`func (o *OrganizationMembersModel) GetMembers() []OrganizationMemberModel` + +GetMembers returns the Members field if non-nil, zero value otherwise. + +### GetMembersOk + +`func (o *OrganizationMembersModel) GetMembersOk() (*[]OrganizationMemberModel, bool)` + +GetMembersOk returns a tuple with the Members field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetMembers + +`func (o *OrganizationMembersModel) SetMembers(v []OrganizationMemberModel)` + +SetMembers sets Members field to given value. + +### HasMembers + +`func (o *OrganizationMembersModel) HasMembers() bool` + +HasMembers returns a boolean if a field has been set. + +### SetMembersNil + +`func (o *OrganizationMembersModel) SetMembersNil(b bool)` + + SetMembersNil sets the value for Members to be an explicit nil + +### UnsetMembers +`func (o *OrganizationMembersModel) UnsetMembers()` + +UnsetMembers ensures that no value is present for Members, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationPermissionGroupModel.md b/docs/OrganizationPermissionGroupModel.md new file mode 100644 index 0000000..d6c0fe6 --- /dev/null +++ b/docs/OrganizationPermissionGroupModel.md @@ -0,0 +1,92 @@ +# OrganizationPermissionGroupModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**PermissionGroupId** | Pointer to **int64** | Identifier of the Member's Permission Group. | [optional] +**Name** | Pointer to **NullableString** | Name of the Member's Permission Group. | [optional] + +## Methods + +### NewOrganizationPermissionGroupModel + +`func NewOrganizationPermissionGroupModel() *OrganizationPermissionGroupModel` + +NewOrganizationPermissionGroupModel instantiates a new OrganizationPermissionGroupModel object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewOrganizationPermissionGroupModelWithDefaults + +`func NewOrganizationPermissionGroupModelWithDefaults() *OrganizationPermissionGroupModel` + +NewOrganizationPermissionGroupModelWithDefaults instantiates a new OrganizationPermissionGroupModel object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetPermissionGroupId + +`func (o *OrganizationPermissionGroupModel) GetPermissionGroupId() int64` + +GetPermissionGroupId returns the PermissionGroupId field if non-nil, zero value otherwise. + +### GetPermissionGroupIdOk + +`func (o *OrganizationPermissionGroupModel) GetPermissionGroupIdOk() (*int64, bool)` + +GetPermissionGroupIdOk returns a tuple with the PermissionGroupId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetPermissionGroupId + +`func (o *OrganizationPermissionGroupModel) SetPermissionGroupId(v int64)` + +SetPermissionGroupId sets PermissionGroupId field to given value. + +### HasPermissionGroupId + +`func (o *OrganizationPermissionGroupModel) HasPermissionGroupId() bool` + +HasPermissionGroupId returns a boolean if a field has been set. + +### GetName + +`func (o *OrganizationPermissionGroupModel) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *OrganizationPermissionGroupModel) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *OrganizationPermissionGroupModel) SetName(v string)` + +SetName sets Name field to given value. + +### HasName + +`func (o *OrganizationPermissionGroupModel) HasName() bool` + +HasName returns a boolean if a field has been set. + +### SetNameNil + +`func (o *OrganizationPermissionGroupModel) SetNameNil(b bool)` + + SetNameNil sets the value for Name to be an explicit nil + +### UnsetName +`func (o *OrganizationPermissionGroupModel) UnsetName()` + +UnsetName ensures that no value is present for Name, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationPermissionModel.md b/docs/OrganizationPermissionModel.md new file mode 100644 index 0000000..9578823 --- /dev/null +++ b/docs/OrganizationPermissionModel.md @@ -0,0 +1,82 @@ +# OrganizationPermissionModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Product** | Pointer to [**OrganizationProductModel**](OrganizationProductModel.md) | | [optional] +**PermissionGroup** | Pointer to [**OrganizationPermissionGroupModel**](OrganizationPermissionGroupModel.md) | | [optional] + +## Methods + +### NewOrganizationPermissionModel + +`func NewOrganizationPermissionModel() *OrganizationPermissionModel` + +NewOrganizationPermissionModel instantiates a new OrganizationPermissionModel object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewOrganizationPermissionModelWithDefaults + +`func NewOrganizationPermissionModelWithDefaults() *OrganizationPermissionModel` + +NewOrganizationPermissionModelWithDefaults instantiates a new OrganizationPermissionModel object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetProduct + +`func (o *OrganizationPermissionModel) GetProduct() OrganizationProductModel` + +GetProduct returns the Product field if non-nil, zero value otherwise. + +### GetProductOk + +`func (o *OrganizationPermissionModel) GetProductOk() (*OrganizationProductModel, bool)` + +GetProductOk returns a tuple with the Product field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetProduct + +`func (o *OrganizationPermissionModel) SetProduct(v OrganizationProductModel)` + +SetProduct sets Product field to given value. + +### HasProduct + +`func (o *OrganizationPermissionModel) HasProduct() bool` + +HasProduct returns a boolean if a field has been set. + +### GetPermissionGroup + +`func (o *OrganizationPermissionModel) GetPermissionGroup() OrganizationPermissionGroupModel` + +GetPermissionGroup returns the PermissionGroup field if non-nil, zero value otherwise. + +### GetPermissionGroupOk + +`func (o *OrganizationPermissionModel) GetPermissionGroupOk() (*OrganizationPermissionGroupModel, bool)` + +GetPermissionGroupOk returns a tuple with the PermissionGroup field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetPermissionGroup + +`func (o *OrganizationPermissionModel) SetPermissionGroup(v OrganizationPermissionGroupModel)` + +SetPermissionGroup sets PermissionGroup field to given value. + +### HasPermissionGroup + +`func (o *OrganizationPermissionModel) HasPermissionGroup() bool` + +HasPermissionGroup returns a boolean if a field has been set. + + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationProductModel.md b/docs/OrganizationProductModel.md new file mode 100644 index 0000000..3026c6b --- /dev/null +++ b/docs/OrganizationProductModel.md @@ -0,0 +1,92 @@ +# OrganizationProductModel + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ProductId** | Pointer to **string** | Identifier of the Member's Product. | [optional] +**Name** | Pointer to **NullableString** | Name of the Member's Product. | [optional] + +## Methods + +### NewOrganizationProductModel + +`func NewOrganizationProductModel() *OrganizationProductModel` + +NewOrganizationProductModel instantiates a new OrganizationProductModel object +This constructor will assign default values to properties that have it defined, +and makes sure properties required by API are set, but the set of arguments +will change when the set of required properties is changed + +### NewOrganizationProductModelWithDefaults + +`func NewOrganizationProductModelWithDefaults() *OrganizationProductModel` + +NewOrganizationProductModelWithDefaults instantiates a new OrganizationProductModel object +This constructor will only assign default values to properties that have it defined, +but it doesn't guarantee that properties required by API are set + +### GetProductId + +`func (o *OrganizationProductModel) GetProductId() string` + +GetProductId returns the ProductId field if non-nil, zero value otherwise. + +### GetProductIdOk + +`func (o *OrganizationProductModel) GetProductIdOk() (*string, bool)` + +GetProductIdOk returns a tuple with the ProductId field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetProductId + +`func (o *OrganizationProductModel) SetProductId(v string)` + +SetProductId sets ProductId field to given value. + +### HasProductId + +`func (o *OrganizationProductModel) HasProductId() bool` + +HasProductId returns a boolean if a field has been set. + +### GetName + +`func (o *OrganizationProductModel) GetName() string` + +GetName returns the Name field if non-nil, zero value otherwise. + +### GetNameOk + +`func (o *OrganizationProductModel) GetNameOk() (*string, bool)` + +GetNameOk returns a tuple with the Name field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetName + +`func (o *OrganizationProductModel) SetName(v string)` + +SetName sets Name field to given value. + +### HasName + +`func (o *OrganizationProductModel) HasName() bool` + +HasName returns a boolean if a field has been set. + +### SetNameNil + +`func (o *OrganizationProductModel) SetNameNil(b bool)` + + SetNameNil sets the value for Name to be an explicit nil + +### UnsetName +`func (o *OrganizationProductModel) UnsetName()` + +UnsetName ensures that no value is present for Name, not even an explicit nil + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PercentageOptionModel.md b/docs/PercentageOptionModel.md index 1235ebb..f5b5d13 100644 --- a/docs/PercentageOptionModel.md +++ b/docs/PercentageOptionModel.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Percentage** | **int32** | The percentage. | +**Percentage** | **int32** | A number between 0 and 100 that represents a randomly allocated fraction of the users. | **Value** | [**ValueModel**](ValueModel.md) | | ## Methods diff --git a/docs/ProductModel.md b/docs/ProductModel.md index a643d47..1960fbb 100644 --- a/docs/ProductModel.md +++ b/docs/ProductModel.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **ProductId** | Pointer to **string** | Identifier of the Product. | [optional] **Name** | Pointer to **NullableString** | Name of the Product. | [optional] **Description** | Pointer to **NullableString** | Description of the Product. | [optional] -**Order** | Pointer to **int32** | The order of the Product represented on the ConfigCat Dashboard. | [optional] +**Order** | Pointer to **int32** | The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] **ReasonRequired** | Pointer to **bool** | Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved. | [optional] ## Methods diff --git a/docs/ProductModelHaljson.md b/docs/ProductModelHaljson.md index 7304740..8fd499f 100644 --- a/docs/ProductModelHaljson.md +++ b/docs/ProductModelHaljson.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **ProductId** | Pointer to **string** | Identifier of the Product. | [optional] **Name** | Pointer to **NullableString** | Name of the Product. | [optional] **Description** | Pointer to **NullableString** | Description of the Product. | [optional] -**Order** | Pointer to **int32** | The order of the Product represented on the ConfigCat Dashboard. | [optional] +**Order** | Pointer to **int32** | The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] **ReasonRequired** | Pointer to **bool** | Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved. | [optional] **Links** | Pointer to [**ConfigModelHaljsonEmbeddedProductLinks**](ConfigModelHaljsonEmbeddedProductLinks.md) | | [optional] diff --git a/docs/SettingFormulaModel.md b/docs/SettingFormulaModel.md index ddec2ec..2755afa 100644 --- a/docs/SettingFormulaModel.md +++ b/docs/SettingFormulaModel.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **LastUpdaterUserFullName** | Pointer to **NullableString** | The name of the user who last updated the Feature Flag or Setting. | [optional] **IntegrationLinks** | Pointer to [**[]IntegrationLinkModel**](IntegrationLinkModel.md) | The integration links attached to the Feature Flag or Setting. | [optional] **SettingTags** | Pointer to [**[]SettingTagModel**](SettingTagModel.md) | The tags attached to the Feature Flag or Setting. | [optional] +**SettingIdsWherePrerequisite** | Pointer to **[]int32** | List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite. | [optional] **Config** | Pointer to [**ConfigModel**](ConfigModel.md) | | [optional] **Environment** | Pointer to [**EnvironmentModel**](EnvironmentModel.md) | | [optional] **ReadOnly** | Pointer to **bool** | | [optional] @@ -358,6 +359,41 @@ HasSettingTags returns a boolean if a field has been set. `func (o *SettingFormulaModel) UnsetSettingTags()` UnsetSettingTags ensures that no value is present for SettingTags, not even an explicit nil +### GetSettingIdsWherePrerequisite + +`func (o *SettingFormulaModel) GetSettingIdsWherePrerequisite() []int32` + +GetSettingIdsWherePrerequisite returns the SettingIdsWherePrerequisite field if non-nil, zero value otherwise. + +### GetSettingIdsWherePrerequisiteOk + +`func (o *SettingFormulaModel) GetSettingIdsWherePrerequisiteOk() (*[]int32, bool)` + +GetSettingIdsWherePrerequisiteOk returns a tuple with the SettingIdsWherePrerequisite field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSettingIdsWherePrerequisite + +`func (o *SettingFormulaModel) SetSettingIdsWherePrerequisite(v []int32)` + +SetSettingIdsWherePrerequisite sets SettingIdsWherePrerequisite field to given value. + +### HasSettingIdsWherePrerequisite + +`func (o *SettingFormulaModel) HasSettingIdsWherePrerequisite() bool` + +HasSettingIdsWherePrerequisite returns a boolean if a field has been set. + +### SetSettingIdsWherePrerequisiteNil + +`func (o *SettingFormulaModel) SetSettingIdsWherePrerequisiteNil(b bool)` + + SetSettingIdsWherePrerequisiteNil sets the value for SettingIdsWherePrerequisite to be an explicit nil + +### UnsetSettingIdsWherePrerequisite +`func (o *SettingFormulaModel) UnsetSettingIdsWherePrerequisite()` + +UnsetSettingIdsWherePrerequisite ensures that no value is present for SettingIdsWherePrerequisite, not even an explicit nil ### GetConfig `func (o *SettingFormulaModel) GetConfig() ConfigModel` diff --git a/docs/SettingFormulaModelHaljson.md b/docs/SettingFormulaModelHaljson.md index f2ca096..96fe01f 100644 --- a/docs/SettingFormulaModelHaljson.md +++ b/docs/SettingFormulaModelHaljson.md @@ -12,6 +12,7 @@ Name | Type | Description | Notes **LastUpdaterUserEmail** | Pointer to **NullableString** | The email of the user who last updated the Feature Flag or Setting. | [optional] **LastUpdaterUserFullName** | Pointer to **NullableString** | The name of the user who last updated the Feature Flag or Setting. | [optional] **Embedded** | Pointer to [**SettingFormulaModelHaljsonEmbedded**](SettingFormulaModelHaljsonEmbedded.md) | | [optional] +**SettingIdsWherePrerequisite** | Pointer to **[]int32** | List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite. | [optional] **ReadOnly** | Pointer to **bool** | | [optional] **FeatureFlagLimitations** | Pointer to [**FeatureFlagLimitations**](FeatureFlagLimitations.md) | | [optional] **Links** | Pointer to [**ConfigSettingFormulasModelHaljsonEmbeddedEnvironmentLinks**](ConfigSettingFormulasModelHaljsonEmbeddedEnvironmentLinks.md) | | [optional] @@ -285,6 +286,41 @@ SetEmbedded sets Embedded field to given value. HasEmbedded returns a boolean if a field has been set. +### GetSettingIdsWherePrerequisite + +`func (o *SettingFormulaModelHaljson) GetSettingIdsWherePrerequisite() []int32` + +GetSettingIdsWherePrerequisite returns the SettingIdsWherePrerequisite field if non-nil, zero value otherwise. + +### GetSettingIdsWherePrerequisiteOk + +`func (o *SettingFormulaModelHaljson) GetSettingIdsWherePrerequisiteOk() (*[]int32, bool)` + +GetSettingIdsWherePrerequisiteOk returns a tuple with the SettingIdsWherePrerequisite field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetSettingIdsWherePrerequisite + +`func (o *SettingFormulaModelHaljson) SetSettingIdsWherePrerequisite(v []int32)` + +SetSettingIdsWherePrerequisite sets SettingIdsWherePrerequisite field to given value. + +### HasSettingIdsWherePrerequisite + +`func (o *SettingFormulaModelHaljson) HasSettingIdsWherePrerequisite() bool` + +HasSettingIdsWherePrerequisite returns a boolean if a field has been set. + +### SetSettingIdsWherePrerequisiteNil + +`func (o *SettingFormulaModelHaljson) SetSettingIdsWherePrerequisiteNil(b bool)` + + SetSettingIdsWherePrerequisiteNil sets the value for SettingIdsWherePrerequisite to be an explicit nil + +### UnsetSettingIdsWherePrerequisite +`func (o *SettingFormulaModelHaljson) UnsetSettingIdsWherePrerequisite()` + +UnsetSettingIdsWherePrerequisite ensures that no value is present for SettingIdsWherePrerequisite, not even an explicit nil ### GetReadOnly `func (o *SettingFormulaModelHaljson) GetReadOnly() bool` diff --git a/docs/UpdateConfigRequest.md b/docs/UpdateConfigRequest.md index 3ccd7dd..5acf8b3 100644 --- a/docs/UpdateConfigRequest.md +++ b/docs/UpdateConfigRequest.md @@ -4,8 +4,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | Pointer to **NullableString** | | [optional] -**Description** | Pointer to **NullableString** | | [optional] +**Name** | Pointer to **NullableString** | The name of the Config. | [optional] +**Description** | Pointer to **NullableString** | The description of the Config. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Config represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] ## Methods @@ -96,6 +97,41 @@ HasDescription returns a boolean if a field has been set. `func (o *UpdateConfigRequest) UnsetDescription()` UnsetDescription ensures that no value is present for Description, not even an explicit nil +### GetOrder + +`func (o *UpdateConfigRequest) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *UpdateConfigRequest) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *UpdateConfigRequest) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *UpdateConfigRequest) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *UpdateConfigRequest) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *UpdateConfigRequest) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateEnvironmentModel.md b/docs/UpdateEnvironmentModel.md index 9314b33..296cd95 100644 --- a/docs/UpdateEnvironmentModel.md +++ b/docs/UpdateEnvironmentModel.md @@ -4,9 +4,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | Pointer to **NullableString** | | [optional] -**Color** | Pointer to **NullableString** | | [optional] -**Description** | Pointer to **NullableString** | | [optional] +**Name** | Pointer to **NullableString** | The name of the Environment. | [optional] +**Color** | Pointer to **NullableString** | The color of the Environment. RGB or HTML color codes are allowed. | [optional] +**Description** | Pointer to **NullableString** | The description of the Environment. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Environment represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] ## Methods @@ -132,6 +133,41 @@ HasDescription returns a boolean if a field has been set. `func (o *UpdateEnvironmentModel) UnsetDescription()` UnsetDescription ensures that no value is present for Description, not even an explicit nil +### GetOrder + +`func (o *UpdateEnvironmentModel) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *UpdateEnvironmentModel) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *UpdateEnvironmentModel) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *UpdateEnvironmentModel) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *UpdateEnvironmentModel) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *UpdateEnvironmentModel) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UpdateProductRequest.md b/docs/UpdateProductRequest.md index 4e395d3..adce452 100644 --- a/docs/UpdateProductRequest.md +++ b/docs/UpdateProductRequest.md @@ -4,8 +4,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**Name** | Pointer to **NullableString** | | [optional] -**Description** | Pointer to **NullableString** | | [optional] +**Name** | Pointer to **NullableString** | The name of the Product. | [optional] +**Description** | Pointer to **NullableString** | The description of the Product. | [optional] +**Order** | Pointer to **NullableInt32** | The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. | [optional] ## Methods @@ -96,6 +97,41 @@ HasDescription returns a boolean if a field has been set. `func (o *UpdateProductRequest) UnsetDescription()` UnsetDescription ensures that no value is present for Description, not even an explicit nil +### GetOrder + +`func (o *UpdateProductRequest) GetOrder() int32` + +GetOrder returns the Order field if non-nil, zero value otherwise. + +### GetOrderOk + +`func (o *UpdateProductRequest) GetOrderOk() (*int32, bool)` + +GetOrderOk returns a tuple with the Order field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetOrder + +`func (o *UpdateProductRequest) SetOrder(v int32)` + +SetOrder sets Order field to given value. + +### HasOrder + +`func (o *UpdateProductRequest) HasOrder() bool` + +HasOrder returns a boolean if a field has been set. + +### SetOrderNil + +`func (o *UpdateProductRequest) SetOrderNil(b bool)` + + SetOrderNil sets the value for Order to be an explicit nil + +### UnsetOrder +`func (o *UpdateProductRequest) UnsetOrder()` + +UnsetOrder ensures that no value is present for Order, not even an explicit nil [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UserComparator.md b/docs/UserComparator.md index 174c1e2..706fe27 100644 --- a/docs/UserComparator.md +++ b/docs/UserComparator.md @@ -3,6 +3,10 @@ ## Enum +* `IS_ONE_OF` (value: `"isOneOf"`) + +* `IS_NOT_ONE_OF` (value: `"isNotOneOf"`) + * `CONTAINS_ANY_OF` (value: `"containsAnyOf"`) * `DOES_NOT_CONTAIN_ANY_OF` (value: `"doesNotContainAnyOf"`) @@ -51,9 +55,25 @@ * `SENSITIVE_TEXT_NOT_ENDS_WITH_ANY_OF` (value: `"sensitiveTextNotEndsWithAnyOf"`) -* `ARRAY_CONTAINS` (value: `"arrayContains"`) +* `SENSITIVE_ARRAY_CONTAINS_ANY_OF` (value: `"sensitiveArrayContainsAnyOf"`) + +* `SENSITIVE_ARRAY_DOES_NOT_CONTAIN_ANY_OF` (value: `"sensitiveArrayDoesNotContainAnyOf"`) + +* `TEXT_EQUALS` (value: `"textEquals"`) + +* `TEXT_DOES_NOT_EQUAL` (value: `"textDoesNotEqual"`) + +* `TEXT_STARTS_WITH_ANY_OF` (value: `"textStartsWithAnyOf"`) + +* `TEXT_NOT_STARTS_WITH_ANY_OF` (value: `"textNotStartsWithAnyOf"`) + +* `TEXT_ENDS_WITH_ANY_OF` (value: `"textEndsWithAnyOf"`) + +* `TEXT_NOT_ENDS_WITH_ANY_OF` (value: `"textNotEndsWithAnyOf"`) + +* `ARRAY_CONTAINS_ANY_OF` (value: `"arrayContainsAnyOf"`) -* `ARRAY_DOES_NOT_CONTAIN` (value: `"arrayDoesNotContain"`) +* `ARRAY_DOES_NOT_CONTAIN_ANY_OF` (value: `"arrayDoesNotContainAnyOf"`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/UserConditionModel.md b/docs/UserConditionModel.md index 0571c64..dd8d560 100644 --- a/docs/UserConditionModel.md +++ b/docs/UserConditionModel.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**ComparisonAttribute** | **string** | The user's attribute the evaluation process must take into account. | +**ComparisonAttribute** | **string** | The User Object attribute that the condition is based on. Can be \"User ID\", \"Email\", \"Country\" or any custom attribute. | **Comparator** | [**UserComparator**](UserComparator.md) | | **ComparisonValue** | [**ComparisonValueModel**](ComparisonValueModel.md) | | diff --git a/model_audit_log_item_model.go b/model_audit_log_item_model.go index dd648ad..07511b7 100644 --- a/model_audit_log_item_model.go +++ b/model_audit_log_item_model.go @@ -24,6 +24,8 @@ type AuditLogItemModel struct { AuditLogId *int64 `json:"auditLogId,omitempty"` AuditLogDateTime *time.Time `json:"auditLogDateTime,omitempty"` AuditLogTypeEnum *AuditLogType `json:"auditLogTypeEnum,omitempty"` + ChangeSetId NullableString `json:"changeSetId,omitempty"` + Truncated *bool `json:"truncated,omitempty"` AuditLogType NullableString `json:"auditLogType,omitempty"` UserEmail NullableString `json:"userEmail,omitempty"` UserName NullableString `json:"userName,omitempty"` @@ -146,6 +148,80 @@ func (o *AuditLogItemModel) SetAuditLogTypeEnum(v AuditLogType) { o.AuditLogTypeEnum = &v } +// GetChangeSetId returns the ChangeSetId field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *AuditLogItemModel) GetChangeSetId() string { + if o == nil || IsNil(o.ChangeSetId.Get()) { + var ret string + return ret + } + return *o.ChangeSetId.Get() +} + +// GetChangeSetIdOk returns a tuple with the ChangeSetId field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *AuditLogItemModel) GetChangeSetIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.ChangeSetId.Get(), o.ChangeSetId.IsSet() +} + +// HasChangeSetId returns a boolean if a field has been set. +func (o *AuditLogItemModel) HasChangeSetId() bool { + if o != nil && o.ChangeSetId.IsSet() { + return true + } + + return false +} + +// SetChangeSetId gets a reference to the given NullableString and assigns it to the ChangeSetId field. +func (o *AuditLogItemModel) SetChangeSetId(v string) { + o.ChangeSetId.Set(&v) +} +// SetChangeSetIdNil sets the value for ChangeSetId to be an explicit nil +func (o *AuditLogItemModel) SetChangeSetIdNil() { + o.ChangeSetId.Set(nil) +} + +// UnsetChangeSetId ensures that no value is present for ChangeSetId, not even an explicit nil +func (o *AuditLogItemModel) UnsetChangeSetId() { + o.ChangeSetId.Unset() +} + +// GetTruncated returns the Truncated field value if set, zero value otherwise. +func (o *AuditLogItemModel) GetTruncated() bool { + if o == nil || IsNil(o.Truncated) { + var ret bool + return ret + } + return *o.Truncated +} + +// GetTruncatedOk returns a tuple with the Truncated field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *AuditLogItemModel) GetTruncatedOk() (*bool, bool) { + if o == nil || IsNil(o.Truncated) { + return nil, false + } + return o.Truncated, true +} + +// HasTruncated returns a boolean if a field has been set. +func (o *AuditLogItemModel) HasTruncated() bool { + if o != nil && !IsNil(o.Truncated) { + return true + } + + return false +} + +// SetTruncated gets a reference to the given bool and assigns it to the Truncated field. +func (o *AuditLogItemModel) SetTruncated(v bool) { + o.Truncated = &v +} + // GetAuditLogType returns the AuditLogType field value if set, zero value otherwise (both if not set or set to explicit null). func (o *AuditLogItemModel) GetAuditLogType() string { if o == nil || IsNil(o.AuditLogType.Get()) { @@ -459,6 +535,12 @@ func (o AuditLogItemModel) ToMap() (map[string]interface{}, error) { if !IsNil(o.AuditLogTypeEnum) { toSerialize["auditLogTypeEnum"] = o.AuditLogTypeEnum } + if o.ChangeSetId.IsSet() { + toSerialize["changeSetId"] = o.ChangeSetId.Get() + } + if !IsNil(o.Truncated) { + toSerialize["truncated"] = o.Truncated + } if o.AuditLogType.IsSet() { toSerialize["auditLogType"] = o.AuditLogType.Get() } diff --git a/model_comparison_value_model.go b/model_comparison_value_model.go index 67546e3..d97f558 100644 --- a/model_comparison_value_model.go +++ b/model_comparison_value_model.go @@ -18,7 +18,7 @@ import ( // checks if the ComparisonValueModel type satisfies the MappedNullable interface at compile time var _ MappedNullable = &ComparisonValueModel{} -// ComparisonValueModel The value to compare with the given user attribute's value. +// ComparisonValueModel The value that the user object's attribute is compared to. type ComparisonValueModel struct { // The string representation of the comparison value. StringValue NullableString `json:"stringValue,omitempty"` diff --git a/model_config_model_haljson__embedded_product.go b/model_config_model_haljson__embedded_product.go index 51171ec..004b438 100644 --- a/model_config_model_haljson__embedded_product.go +++ b/model_config_model_haljson__embedded_product.go @@ -27,7 +27,7 @@ type ConfigModelHaljsonEmbeddedProduct struct { Name NullableString `json:"name,omitempty"` // Description of the Product. Description NullableString `json:"description,omitempty"` - // The order of the Product represented on the ConfigCat Dashboard. + // The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. Order *int32 `json:"order,omitempty"` // Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved. ReasonRequired *bool `json:"reasonRequired,omitempty"` diff --git a/model_config_setting_formula_model.go b/model_config_setting_formula_model.go index 15a1402..b319304 100644 --- a/model_config_setting_formula_model.go +++ b/model_config_setting_formula_model.go @@ -38,6 +38,8 @@ type ConfigSettingFormulaModel struct { IntegrationLinks []IntegrationLinkModel `json:"integrationLinks,omitempty"` // The tags attached to the Feature Flag or Setting. SettingTags []SettingTagModel `json:"settingTags,omitempty"` + // List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite. + SettingIdsWherePrerequisite []int32 `json:"settingIdsWherePrerequisite,omitempty"` } // NewConfigSettingFormulaModel instantiates a new ConfigSettingFormulaModel object @@ -420,6 +422,39 @@ func (o *ConfigSettingFormulaModel) SetSettingTags(v []SettingTagModel) { o.SettingTags = v } +// GetSettingIdsWherePrerequisite returns the SettingIdsWherePrerequisite field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *ConfigSettingFormulaModel) GetSettingIdsWherePrerequisite() []int32 { + if o == nil { + var ret []int32 + return ret + } + return o.SettingIdsWherePrerequisite +} + +// GetSettingIdsWherePrerequisiteOk returns a tuple with the SettingIdsWherePrerequisite field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *ConfigSettingFormulaModel) GetSettingIdsWherePrerequisiteOk() ([]int32, bool) { + if o == nil || IsNil(o.SettingIdsWherePrerequisite) { + return nil, false + } + return o.SettingIdsWherePrerequisite, true +} + +// HasSettingIdsWherePrerequisite returns a boolean if a field has been set. +func (o *ConfigSettingFormulaModel) HasSettingIdsWherePrerequisite() bool { + if o != nil && IsNil(o.SettingIdsWherePrerequisite) { + return true + } + + return false +} + +// SetSettingIdsWherePrerequisite gets a reference to the given []int32 and assigns it to the SettingIdsWherePrerequisite field. +func (o *ConfigSettingFormulaModel) SetSettingIdsWherePrerequisite(v []int32) { + o.SettingIdsWherePrerequisite = v +} + func (o ConfigSettingFormulaModel) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { @@ -460,6 +495,9 @@ func (o ConfigSettingFormulaModel) ToMap() (map[string]interface{}, error) { if o.SettingTags != nil { toSerialize["settingTags"] = o.SettingTags } + if o.SettingIdsWherePrerequisite != nil { + toSerialize["settingIdsWherePrerequisite"] = o.SettingIdsWherePrerequisite + } return toSerialize, nil } diff --git a/model_create_config_request.go b/model_create_config_request.go index 52e437d..7328203 100644 --- a/model_create_config_request.go +++ b/model_create_config_request.go @@ -20,8 +20,12 @@ var _ MappedNullable = &CreateConfigRequest{} // CreateConfigRequest struct for CreateConfigRequest type CreateConfigRequest struct { + // The name of the Config. Name string `json:"name"` + // The description of the Config. Description NullableString `json:"description,omitempty"` + // The order of the Config represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` EvaluationVersion *EvaluationVersion `json:"evaluationVersion,omitempty"` } @@ -109,6 +113,48 @@ func (o *CreateConfigRequest) UnsetDescription() { o.Description.Unset() } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *CreateConfigRequest) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *CreateConfigRequest) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *CreateConfigRequest) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *CreateConfigRequest) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *CreateConfigRequest) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *CreateConfigRequest) UnsetOrder() { + o.Order.Unset() +} + // GetEvaluationVersion returns the EvaluationVersion field value if set, zero value otherwise. func (o *CreateConfigRequest) GetEvaluationVersion() EvaluationVersion { if o == nil || IsNil(o.EvaluationVersion) { @@ -155,6 +201,9 @@ func (o CreateConfigRequest) ToMap() (map[string]interface{}, error) { if o.Description.IsSet() { toSerialize["description"] = o.Description.Get() } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } if !IsNil(o.EvaluationVersion) { toSerialize["evaluationVersion"] = o.EvaluationVersion } diff --git a/model_create_environment_model.go b/model_create_environment_model.go index e1b93f3..8a88195 100644 --- a/model_create_environment_model.go +++ b/model_create_environment_model.go @@ -20,9 +20,14 @@ var _ MappedNullable = &CreateEnvironmentModel{} // CreateEnvironmentModel struct for CreateEnvironmentModel type CreateEnvironmentModel struct { + // The name of the Environment. Name string `json:"name"` + // The color of the Environment. RGB or HTML color codes are allowed. Color NullableString `json:"color,omitempty"` + // The description of the Environment. Description NullableString `json:"description,omitempty"` + // The order of the Environment represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` } // NewCreateEnvironmentModel instantiates a new CreateEnvironmentModel object @@ -151,6 +156,48 @@ func (o *CreateEnvironmentModel) UnsetDescription() { o.Description.Unset() } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *CreateEnvironmentModel) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *CreateEnvironmentModel) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *CreateEnvironmentModel) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *CreateEnvironmentModel) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *CreateEnvironmentModel) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *CreateEnvironmentModel) UnsetOrder() { + o.Order.Unset() +} + func (o CreateEnvironmentModel) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { @@ -168,6 +215,9 @@ func (o CreateEnvironmentModel) ToMap() (map[string]interface{}, error) { if o.Description.IsSet() { toSerialize["description"] = o.Description.Get() } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } return toSerialize, nil } diff --git a/model_create_product_request.go b/model_create_product_request.go index 5ac980e..c379ca5 100644 --- a/model_create_product_request.go +++ b/model_create_product_request.go @@ -20,8 +20,12 @@ var _ MappedNullable = &CreateProductRequest{} // CreateProductRequest struct for CreateProductRequest type CreateProductRequest struct { + // The name of the Product. Name string `json:"name"` + // The description of the Product. Description NullableString `json:"description,omitempty"` + // The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` } // NewCreateProductRequest instantiates a new CreateProductRequest object @@ -108,6 +112,48 @@ func (o *CreateProductRequest) UnsetDescription() { o.Description.Unset() } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *CreateProductRequest) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *CreateProductRequest) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *CreateProductRequest) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *CreateProductRequest) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *CreateProductRequest) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *CreateProductRequest) UnsetOrder() { + o.Order.Unset() +} + func (o CreateProductRequest) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { @@ -122,6 +168,9 @@ func (o CreateProductRequest) ToMap() (map[string]interface{}, error) { if o.Description.IsSet() { toSerialize["description"] = o.Description.Get() } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } return toSerialize, nil } diff --git a/model_create_setting_initial_values.go b/model_create_setting_initial_values.go index 0fc7e39..92cb508 100644 --- a/model_create_setting_initial_values.go +++ b/model_create_setting_initial_values.go @@ -24,6 +24,8 @@ type CreateSettingInitialValues struct { Hint NullableString `json:"hint,omitempty"` // The IDs of the tags which are attached to the setting. Tags []int64 `json:"tags,omitempty"` + // The order of the Setting represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` // The key of the Feature Flag or Setting. Key string `json:"key"` // The name of the Feature Flag or Setting. @@ -128,6 +130,48 @@ func (o *CreateSettingInitialValues) SetTags(v []int64) { o.Tags = v } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *CreateSettingInitialValues) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *CreateSettingInitialValues) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *CreateSettingInitialValues) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *CreateSettingInitialValues) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *CreateSettingInitialValues) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *CreateSettingInitialValues) UnsetOrder() { + o.Order.Unset() +} + // GetKey returns the Key field value func (o *CreateSettingInitialValues) GetKey() string { if o == nil { @@ -249,6 +293,9 @@ func (o CreateSettingInitialValues) ToMap() (map[string]interface{}, error) { if o.Tags != nil { toSerialize["tags"] = o.Tags } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } toSerialize["key"] = o.Key toSerialize["name"] = o.Name toSerialize["settingType"] = o.SettingType diff --git a/model_organization_admin_model.go b/model_organization_admin_model.go new file mode 100644 index 0000000..c81ca29 --- /dev/null +++ b/model_organization_admin_model.go @@ -0,0 +1,269 @@ +/* +ConfigCat Public Management API + +**Base API URL**: https://test-api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://test-api.configcat.com/swagger). The purpose of this API is to access the ConfigCat platform programmatically. You can **Create**, **Read**, **Update** and **Delete** any entities like **Feature Flags, Configs, Environments** or **Products** within ConfigCat. The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available in the following formats: - [OpenAPI v3](https://test-api.configcat.com/docs/v1/swagger.json) - [Swagger v2](https://test-api.configcat.com/docs/v1/swagger.v2.json) You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The time when the current rate limit period resets. | When the rate limit is exceeded by a request, the API returns with a `HTTP 429 - Too many requests` status along with a `Retry-After` HTTP header. + +API version: v1 +Contact: support@configcat.com +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package configcatpublicapi + +import ( + "encoding/json" +) + +// checks if the OrganizationAdminModel type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &OrganizationAdminModel{} + +// OrganizationAdminModel Describes an Organization Admin. +type OrganizationAdminModel struct { + // Identifier of the Organization Admin. + UserId NullableString `json:"userId,omitempty"` + // Name of the Organization Admin. + FullName NullableString `json:"fullName,omitempty"` + // Email of the OrganizationAdmin. + Email NullableString `json:"email,omitempty"` + // Determines whether 2FA is enabled for the Organization Admin. + TwoFactorEnabled *bool `json:"twoFactorEnabled,omitempty"` +} + +// NewOrganizationAdminModel instantiates a new OrganizationAdminModel object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewOrganizationAdminModel() *OrganizationAdminModel { + this := OrganizationAdminModel{} + return &this +} + +// NewOrganizationAdminModelWithDefaults instantiates a new OrganizationAdminModel object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewOrganizationAdminModelWithDefaults() *OrganizationAdminModel { + this := OrganizationAdminModel{} + return &this +} + +// GetUserId returns the UserId field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationAdminModel) GetUserId() string { + if o == nil || IsNil(o.UserId.Get()) { + var ret string + return ret + } + return *o.UserId.Get() +} + +// GetUserIdOk returns a tuple with the UserId field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationAdminModel) GetUserIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.UserId.Get(), o.UserId.IsSet() +} + +// HasUserId returns a boolean if a field has been set. +func (o *OrganizationAdminModel) HasUserId() bool { + if o != nil && o.UserId.IsSet() { + return true + } + + return false +} + +// SetUserId gets a reference to the given NullableString and assigns it to the UserId field. +func (o *OrganizationAdminModel) SetUserId(v string) { + o.UserId.Set(&v) +} +// SetUserIdNil sets the value for UserId to be an explicit nil +func (o *OrganizationAdminModel) SetUserIdNil() { + o.UserId.Set(nil) +} + +// UnsetUserId ensures that no value is present for UserId, not even an explicit nil +func (o *OrganizationAdminModel) UnsetUserId() { + o.UserId.Unset() +} + +// GetFullName returns the FullName field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationAdminModel) GetFullName() string { + if o == nil || IsNil(o.FullName.Get()) { + var ret string + return ret + } + return *o.FullName.Get() +} + +// GetFullNameOk returns a tuple with the FullName field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationAdminModel) GetFullNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.FullName.Get(), o.FullName.IsSet() +} + +// HasFullName returns a boolean if a field has been set. +func (o *OrganizationAdminModel) HasFullName() bool { + if o != nil && o.FullName.IsSet() { + return true + } + + return false +} + +// SetFullName gets a reference to the given NullableString and assigns it to the FullName field. +func (o *OrganizationAdminModel) SetFullName(v string) { + o.FullName.Set(&v) +} +// SetFullNameNil sets the value for FullName to be an explicit nil +func (o *OrganizationAdminModel) SetFullNameNil() { + o.FullName.Set(nil) +} + +// UnsetFullName ensures that no value is present for FullName, not even an explicit nil +func (o *OrganizationAdminModel) UnsetFullName() { + o.FullName.Unset() +} + +// GetEmail returns the Email field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationAdminModel) GetEmail() string { + if o == nil || IsNil(o.Email.Get()) { + var ret string + return ret + } + return *o.Email.Get() +} + +// GetEmailOk returns a tuple with the Email field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationAdminModel) GetEmailOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Email.Get(), o.Email.IsSet() +} + +// HasEmail returns a boolean if a field has been set. +func (o *OrganizationAdminModel) HasEmail() bool { + if o != nil && o.Email.IsSet() { + return true + } + + return false +} + +// SetEmail gets a reference to the given NullableString and assigns it to the Email field. +func (o *OrganizationAdminModel) SetEmail(v string) { + o.Email.Set(&v) +} +// SetEmailNil sets the value for Email to be an explicit nil +func (o *OrganizationAdminModel) SetEmailNil() { + o.Email.Set(nil) +} + +// UnsetEmail ensures that no value is present for Email, not even an explicit nil +func (o *OrganizationAdminModel) UnsetEmail() { + o.Email.Unset() +} + +// GetTwoFactorEnabled returns the TwoFactorEnabled field value if set, zero value otherwise. +func (o *OrganizationAdminModel) GetTwoFactorEnabled() bool { + if o == nil || IsNil(o.TwoFactorEnabled) { + var ret bool + return ret + } + return *o.TwoFactorEnabled +} + +// GetTwoFactorEnabledOk returns a tuple with the TwoFactorEnabled field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OrganizationAdminModel) GetTwoFactorEnabledOk() (*bool, bool) { + if o == nil || IsNil(o.TwoFactorEnabled) { + return nil, false + } + return o.TwoFactorEnabled, true +} + +// HasTwoFactorEnabled returns a boolean if a field has been set. +func (o *OrganizationAdminModel) HasTwoFactorEnabled() bool { + if o != nil && !IsNil(o.TwoFactorEnabled) { + return true + } + + return false +} + +// SetTwoFactorEnabled gets a reference to the given bool and assigns it to the TwoFactorEnabled field. +func (o *OrganizationAdminModel) SetTwoFactorEnabled(v bool) { + o.TwoFactorEnabled = &v +} + +func (o OrganizationAdminModel) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o OrganizationAdminModel) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if o.UserId.IsSet() { + toSerialize["userId"] = o.UserId.Get() + } + if o.FullName.IsSet() { + toSerialize["fullName"] = o.FullName.Get() + } + if o.Email.IsSet() { + toSerialize["email"] = o.Email.Get() + } + if !IsNil(o.TwoFactorEnabled) { + toSerialize["twoFactorEnabled"] = o.TwoFactorEnabled + } + return toSerialize, nil +} + +type NullableOrganizationAdminModel struct { + value *OrganizationAdminModel + isSet bool +} + +func (v NullableOrganizationAdminModel) Get() *OrganizationAdminModel { + return v.value +} + +func (v *NullableOrganizationAdminModel) Set(val *OrganizationAdminModel) { + v.value = val + v.isSet = true +} + +func (v NullableOrganizationAdminModel) IsSet() bool { + return v.isSet +} + +func (v *NullableOrganizationAdminModel) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableOrganizationAdminModel(val *OrganizationAdminModel) *NullableOrganizationAdminModel { + return &NullableOrganizationAdminModel{value: val, isSet: true} +} + +func (v NullableOrganizationAdminModel) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableOrganizationAdminModel) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_organization_member_model.go b/model_organization_member_model.go new file mode 100644 index 0000000..28943b3 --- /dev/null +++ b/model_organization_member_model.go @@ -0,0 +1,307 @@ +/* +ConfigCat Public Management API + +**Base API URL**: https://test-api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://test-api.configcat.com/swagger). The purpose of this API is to access the ConfigCat platform programmatically. You can **Create**, **Read**, **Update** and **Delete** any entities like **Feature Flags, Configs, Environments** or **Products** within ConfigCat. The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available in the following formats: - [OpenAPI v3](https://test-api.configcat.com/docs/v1/swagger.json) - [Swagger v2](https://test-api.configcat.com/docs/v1/swagger.v2.json) You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The time when the current rate limit period resets. | When the rate limit is exceeded by a request, the API returns with a `HTTP 429 - Too many requests` status along with a `Retry-After` HTTP header. + +API version: v1 +Contact: support@configcat.com +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package configcatpublicapi + +import ( + "encoding/json" +) + +// checks if the OrganizationMemberModel type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &OrganizationMemberModel{} + +// OrganizationMemberModel Describes an Organization Member. +type OrganizationMemberModel struct { + // Identifier of the Organization Admin. + UserId NullableString `json:"userId,omitempty"` + // Name of the Organization Admin. + FullName NullableString `json:"fullName,omitempty"` + // Email of the OrganizationAdmin. + Email NullableString `json:"email,omitempty"` + // Determines whether 2FA is enabled for the Organization Admin. + TwoFactorEnabled *bool `json:"twoFactorEnabled,omitempty"` + // The permissions of the Member. + Permissions []OrganizationPermissionModel `json:"permissions,omitempty"` +} + +// NewOrganizationMemberModel instantiates a new OrganizationMemberModel object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewOrganizationMemberModel() *OrganizationMemberModel { + this := OrganizationMemberModel{} + return &this +} + +// NewOrganizationMemberModelWithDefaults instantiates a new OrganizationMemberModel object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewOrganizationMemberModelWithDefaults() *OrganizationMemberModel { + this := OrganizationMemberModel{} + return &this +} + +// GetUserId returns the UserId field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationMemberModel) GetUserId() string { + if o == nil || IsNil(o.UserId.Get()) { + var ret string + return ret + } + return *o.UserId.Get() +} + +// GetUserIdOk returns a tuple with the UserId field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationMemberModel) GetUserIdOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.UserId.Get(), o.UserId.IsSet() +} + +// HasUserId returns a boolean if a field has been set. +func (o *OrganizationMemberModel) HasUserId() bool { + if o != nil && o.UserId.IsSet() { + return true + } + + return false +} + +// SetUserId gets a reference to the given NullableString and assigns it to the UserId field. +func (o *OrganizationMemberModel) SetUserId(v string) { + o.UserId.Set(&v) +} +// SetUserIdNil sets the value for UserId to be an explicit nil +func (o *OrganizationMemberModel) SetUserIdNil() { + o.UserId.Set(nil) +} + +// UnsetUserId ensures that no value is present for UserId, not even an explicit nil +func (o *OrganizationMemberModel) UnsetUserId() { + o.UserId.Unset() +} + +// GetFullName returns the FullName field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationMemberModel) GetFullName() string { + if o == nil || IsNil(o.FullName.Get()) { + var ret string + return ret + } + return *o.FullName.Get() +} + +// GetFullNameOk returns a tuple with the FullName field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationMemberModel) GetFullNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.FullName.Get(), o.FullName.IsSet() +} + +// HasFullName returns a boolean if a field has been set. +func (o *OrganizationMemberModel) HasFullName() bool { + if o != nil && o.FullName.IsSet() { + return true + } + + return false +} + +// SetFullName gets a reference to the given NullableString and assigns it to the FullName field. +func (o *OrganizationMemberModel) SetFullName(v string) { + o.FullName.Set(&v) +} +// SetFullNameNil sets the value for FullName to be an explicit nil +func (o *OrganizationMemberModel) SetFullNameNil() { + o.FullName.Set(nil) +} + +// UnsetFullName ensures that no value is present for FullName, not even an explicit nil +func (o *OrganizationMemberModel) UnsetFullName() { + o.FullName.Unset() +} + +// GetEmail returns the Email field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationMemberModel) GetEmail() string { + if o == nil || IsNil(o.Email.Get()) { + var ret string + return ret + } + return *o.Email.Get() +} + +// GetEmailOk returns a tuple with the Email field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationMemberModel) GetEmailOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Email.Get(), o.Email.IsSet() +} + +// HasEmail returns a boolean if a field has been set. +func (o *OrganizationMemberModel) HasEmail() bool { + if o != nil && o.Email.IsSet() { + return true + } + + return false +} + +// SetEmail gets a reference to the given NullableString and assigns it to the Email field. +func (o *OrganizationMemberModel) SetEmail(v string) { + o.Email.Set(&v) +} +// SetEmailNil sets the value for Email to be an explicit nil +func (o *OrganizationMemberModel) SetEmailNil() { + o.Email.Set(nil) +} + +// UnsetEmail ensures that no value is present for Email, not even an explicit nil +func (o *OrganizationMemberModel) UnsetEmail() { + o.Email.Unset() +} + +// GetTwoFactorEnabled returns the TwoFactorEnabled field value if set, zero value otherwise. +func (o *OrganizationMemberModel) GetTwoFactorEnabled() bool { + if o == nil || IsNil(o.TwoFactorEnabled) { + var ret bool + return ret + } + return *o.TwoFactorEnabled +} + +// GetTwoFactorEnabledOk returns a tuple with the TwoFactorEnabled field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OrganizationMemberModel) GetTwoFactorEnabledOk() (*bool, bool) { + if o == nil || IsNil(o.TwoFactorEnabled) { + return nil, false + } + return o.TwoFactorEnabled, true +} + +// HasTwoFactorEnabled returns a boolean if a field has been set. +func (o *OrganizationMemberModel) HasTwoFactorEnabled() bool { + if o != nil && !IsNil(o.TwoFactorEnabled) { + return true + } + + return false +} + +// SetTwoFactorEnabled gets a reference to the given bool and assigns it to the TwoFactorEnabled field. +func (o *OrganizationMemberModel) SetTwoFactorEnabled(v bool) { + o.TwoFactorEnabled = &v +} + +// GetPermissions returns the Permissions field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationMemberModel) GetPermissions() []OrganizationPermissionModel { + if o == nil { + var ret []OrganizationPermissionModel + return ret + } + return o.Permissions +} + +// GetPermissionsOk returns a tuple with the Permissions field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationMemberModel) GetPermissionsOk() ([]OrganizationPermissionModel, bool) { + if o == nil || IsNil(o.Permissions) { + return nil, false + } + return o.Permissions, true +} + +// HasPermissions returns a boolean if a field has been set. +func (o *OrganizationMemberModel) HasPermissions() bool { + if o != nil && IsNil(o.Permissions) { + return true + } + + return false +} + +// SetPermissions gets a reference to the given []OrganizationPermissionModel and assigns it to the Permissions field. +func (o *OrganizationMemberModel) SetPermissions(v []OrganizationPermissionModel) { + o.Permissions = v +} + +func (o OrganizationMemberModel) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o OrganizationMemberModel) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if o.UserId.IsSet() { + toSerialize["userId"] = o.UserId.Get() + } + if o.FullName.IsSet() { + toSerialize["fullName"] = o.FullName.Get() + } + if o.Email.IsSet() { + toSerialize["email"] = o.Email.Get() + } + if !IsNil(o.TwoFactorEnabled) { + toSerialize["twoFactorEnabled"] = o.TwoFactorEnabled + } + if o.Permissions != nil { + toSerialize["permissions"] = o.Permissions + } + return toSerialize, nil +} + +type NullableOrganizationMemberModel struct { + value *OrganizationMemberModel + isSet bool +} + +func (v NullableOrganizationMemberModel) Get() *OrganizationMemberModel { + return v.value +} + +func (v *NullableOrganizationMemberModel) Set(val *OrganizationMemberModel) { + v.value = val + v.isSet = true +} + +func (v NullableOrganizationMemberModel) IsSet() bool { + return v.isSet +} + +func (v *NullableOrganizationMemberModel) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableOrganizationMemberModel(val *OrganizationMemberModel) *NullableOrganizationMemberModel { + return &NullableOrganizationMemberModel{value: val, isSet: true} +} + +func (v NullableOrganizationMemberModel) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableOrganizationMemberModel) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_organization_members_model.go b/model_organization_members_model.go new file mode 100644 index 0000000..5f503e0 --- /dev/null +++ b/model_organization_members_model.go @@ -0,0 +1,167 @@ +/* +ConfigCat Public Management API + +**Base API URL**: https://test-api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://test-api.configcat.com/swagger). The purpose of this API is to access the ConfigCat platform programmatically. You can **Create**, **Read**, **Update** and **Delete** any entities like **Feature Flags, Configs, Environments** or **Products** within ConfigCat. The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available in the following formats: - [OpenAPI v3](https://test-api.configcat.com/docs/v1/swagger.json) - [Swagger v2](https://test-api.configcat.com/docs/v1/swagger.v2.json) You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The time when the current rate limit period resets. | When the rate limit is exceeded by a request, the API returns with a `HTTP 429 - Too many requests` status along with a `Retry-After` HTTP header. + +API version: v1 +Contact: support@configcat.com +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package configcatpublicapi + +import ( + "encoding/json" +) + +// checks if the OrganizationMembersModel type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &OrganizationMembersModel{} + +// OrganizationMembersModel struct for OrganizationMembersModel +type OrganizationMembersModel struct { + // List of Organization Admins. + Admins []OrganizationAdminModel `json:"admins,omitempty"` + // List of Organization Members. + Members []OrganizationMemberModel `json:"members,omitempty"` +} + +// NewOrganizationMembersModel instantiates a new OrganizationMembersModel object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewOrganizationMembersModel() *OrganizationMembersModel { + this := OrganizationMembersModel{} + return &this +} + +// NewOrganizationMembersModelWithDefaults instantiates a new OrganizationMembersModel object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewOrganizationMembersModelWithDefaults() *OrganizationMembersModel { + this := OrganizationMembersModel{} + return &this +} + +// GetAdmins returns the Admins field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationMembersModel) GetAdmins() []OrganizationAdminModel { + if o == nil { + var ret []OrganizationAdminModel + return ret + } + return o.Admins +} + +// GetAdminsOk returns a tuple with the Admins field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationMembersModel) GetAdminsOk() ([]OrganizationAdminModel, bool) { + if o == nil || IsNil(o.Admins) { + return nil, false + } + return o.Admins, true +} + +// HasAdmins returns a boolean if a field has been set. +func (o *OrganizationMembersModel) HasAdmins() bool { + if o != nil && IsNil(o.Admins) { + return true + } + + return false +} + +// SetAdmins gets a reference to the given []OrganizationAdminModel and assigns it to the Admins field. +func (o *OrganizationMembersModel) SetAdmins(v []OrganizationAdminModel) { + o.Admins = v +} + +// GetMembers returns the Members field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationMembersModel) GetMembers() []OrganizationMemberModel { + if o == nil { + var ret []OrganizationMemberModel + return ret + } + return o.Members +} + +// GetMembersOk returns a tuple with the Members field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationMembersModel) GetMembersOk() ([]OrganizationMemberModel, bool) { + if o == nil || IsNil(o.Members) { + return nil, false + } + return o.Members, true +} + +// HasMembers returns a boolean if a field has been set. +func (o *OrganizationMembersModel) HasMembers() bool { + if o != nil && IsNil(o.Members) { + return true + } + + return false +} + +// SetMembers gets a reference to the given []OrganizationMemberModel and assigns it to the Members field. +func (o *OrganizationMembersModel) SetMembers(v []OrganizationMemberModel) { + o.Members = v +} + +func (o OrganizationMembersModel) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o OrganizationMembersModel) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if o.Admins != nil { + toSerialize["admins"] = o.Admins + } + if o.Members != nil { + toSerialize["members"] = o.Members + } + return toSerialize, nil +} + +type NullableOrganizationMembersModel struct { + value *OrganizationMembersModel + isSet bool +} + +func (v NullableOrganizationMembersModel) Get() *OrganizationMembersModel { + return v.value +} + +func (v *NullableOrganizationMembersModel) Set(val *OrganizationMembersModel) { + v.value = val + v.isSet = true +} + +func (v NullableOrganizationMembersModel) IsSet() bool { + return v.isSet +} + +func (v *NullableOrganizationMembersModel) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableOrganizationMembersModel(val *OrganizationMembersModel) *NullableOrganizationMembersModel { + return &NullableOrganizationMembersModel{value: val, isSet: true} +} + +func (v NullableOrganizationMembersModel) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableOrganizationMembersModel) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_organization_permission_group_model.go b/model_organization_permission_group_model.go new file mode 100644 index 0000000..f258628 --- /dev/null +++ b/model_organization_permission_group_model.go @@ -0,0 +1,175 @@ +/* +ConfigCat Public Management API + +**Base API URL**: https://test-api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://test-api.configcat.com/swagger). The purpose of this API is to access the ConfigCat platform programmatically. You can **Create**, **Read**, **Update** and **Delete** any entities like **Feature Flags, Configs, Environments** or **Products** within ConfigCat. The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available in the following formats: - [OpenAPI v3](https://test-api.configcat.com/docs/v1/swagger.json) - [Swagger v2](https://test-api.configcat.com/docs/v1/swagger.v2.json) You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The time when the current rate limit period resets. | When the rate limit is exceeded by a request, the API returns with a `HTTP 429 - Too many requests` status along with a `Retry-After` HTTP header. + +API version: v1 +Contact: support@configcat.com +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package configcatpublicapi + +import ( + "encoding/json" +) + +// checks if the OrganizationPermissionGroupModel type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &OrganizationPermissionGroupModel{} + +// OrganizationPermissionGroupModel Describes the Member's Permission Group within a Product. +type OrganizationPermissionGroupModel struct { + // Identifier of the Member's Permission Group. + PermissionGroupId *int64 `json:"permissionGroupId,omitempty"` + // Name of the Member's Permission Group. + Name NullableString `json:"name,omitempty"` +} + +// NewOrganizationPermissionGroupModel instantiates a new OrganizationPermissionGroupModel object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewOrganizationPermissionGroupModel() *OrganizationPermissionGroupModel { + this := OrganizationPermissionGroupModel{} + return &this +} + +// NewOrganizationPermissionGroupModelWithDefaults instantiates a new OrganizationPermissionGroupModel object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewOrganizationPermissionGroupModelWithDefaults() *OrganizationPermissionGroupModel { + this := OrganizationPermissionGroupModel{} + return &this +} + +// GetPermissionGroupId returns the PermissionGroupId field value if set, zero value otherwise. +func (o *OrganizationPermissionGroupModel) GetPermissionGroupId() int64 { + if o == nil || IsNil(o.PermissionGroupId) { + var ret int64 + return ret + } + return *o.PermissionGroupId +} + +// GetPermissionGroupIdOk returns a tuple with the PermissionGroupId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OrganizationPermissionGroupModel) GetPermissionGroupIdOk() (*int64, bool) { + if o == nil || IsNil(o.PermissionGroupId) { + return nil, false + } + return o.PermissionGroupId, true +} + +// HasPermissionGroupId returns a boolean if a field has been set. +func (o *OrganizationPermissionGroupModel) HasPermissionGroupId() bool { + if o != nil && !IsNil(o.PermissionGroupId) { + return true + } + + return false +} + +// SetPermissionGroupId gets a reference to the given int64 and assigns it to the PermissionGroupId field. +func (o *OrganizationPermissionGroupModel) SetPermissionGroupId(v int64) { + o.PermissionGroupId = &v +} + +// GetName returns the Name field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationPermissionGroupModel) GetName() string { + if o == nil || IsNil(o.Name.Get()) { + var ret string + return ret + } + return *o.Name.Get() +} + +// GetNameOk returns a tuple with the Name field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationPermissionGroupModel) GetNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Name.Get(), o.Name.IsSet() +} + +// HasName returns a boolean if a field has been set. +func (o *OrganizationPermissionGroupModel) HasName() bool { + if o != nil && o.Name.IsSet() { + return true + } + + return false +} + +// SetName gets a reference to the given NullableString and assigns it to the Name field. +func (o *OrganizationPermissionGroupModel) SetName(v string) { + o.Name.Set(&v) +} +// SetNameNil sets the value for Name to be an explicit nil +func (o *OrganizationPermissionGroupModel) SetNameNil() { + o.Name.Set(nil) +} + +// UnsetName ensures that no value is present for Name, not even an explicit nil +func (o *OrganizationPermissionGroupModel) UnsetName() { + o.Name.Unset() +} + +func (o OrganizationPermissionGroupModel) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o OrganizationPermissionGroupModel) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.PermissionGroupId) { + toSerialize["permissionGroupId"] = o.PermissionGroupId + } + if o.Name.IsSet() { + toSerialize["name"] = o.Name.Get() + } + return toSerialize, nil +} + +type NullableOrganizationPermissionGroupModel struct { + value *OrganizationPermissionGroupModel + isSet bool +} + +func (v NullableOrganizationPermissionGroupModel) Get() *OrganizationPermissionGroupModel { + return v.value +} + +func (v *NullableOrganizationPermissionGroupModel) Set(val *OrganizationPermissionGroupModel) { + v.value = val + v.isSet = true +} + +func (v NullableOrganizationPermissionGroupModel) IsSet() bool { + return v.isSet +} + +func (v *NullableOrganizationPermissionGroupModel) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableOrganizationPermissionGroupModel(val *OrganizationPermissionGroupModel) *NullableOrganizationPermissionGroupModel { + return &NullableOrganizationPermissionGroupModel{value: val, isSet: true} +} + +func (v NullableOrganizationPermissionGroupModel) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableOrganizationPermissionGroupModel) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_organization_permission_model.go b/model_organization_permission_model.go new file mode 100644 index 0000000..d0fa0b2 --- /dev/null +++ b/model_organization_permission_model.go @@ -0,0 +1,163 @@ +/* +ConfigCat Public Management API + +**Base API URL**: https://test-api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://test-api.configcat.com/swagger). The purpose of this API is to access the ConfigCat platform programmatically. You can **Create**, **Read**, **Update** and **Delete** any entities like **Feature Flags, Configs, Environments** or **Products** within ConfigCat. The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available in the following formats: - [OpenAPI v3](https://test-api.configcat.com/docs/v1/swagger.json) - [Swagger v2](https://test-api.configcat.com/docs/v1/swagger.v2.json) You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The time when the current rate limit period resets. | When the rate limit is exceeded by a request, the API returns with a `HTTP 429 - Too many requests` status along with a `Retry-After` HTTP header. + +API version: v1 +Contact: support@configcat.com +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package configcatpublicapi + +import ( + "encoding/json" +) + +// checks if the OrganizationPermissionModel type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &OrganizationPermissionModel{} + +// OrganizationPermissionModel Describes the Member's permission. +type OrganizationPermissionModel struct { + Product *OrganizationProductModel `json:"product,omitempty"` + PermissionGroup *OrganizationPermissionGroupModel `json:"permissionGroup,omitempty"` +} + +// NewOrganizationPermissionModel instantiates a new OrganizationPermissionModel object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewOrganizationPermissionModel() *OrganizationPermissionModel { + this := OrganizationPermissionModel{} + return &this +} + +// NewOrganizationPermissionModelWithDefaults instantiates a new OrganizationPermissionModel object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewOrganizationPermissionModelWithDefaults() *OrganizationPermissionModel { + this := OrganizationPermissionModel{} + return &this +} + +// GetProduct returns the Product field value if set, zero value otherwise. +func (o *OrganizationPermissionModel) GetProduct() OrganizationProductModel { + if o == nil || IsNil(o.Product) { + var ret OrganizationProductModel + return ret + } + return *o.Product +} + +// GetProductOk returns a tuple with the Product field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OrganizationPermissionModel) GetProductOk() (*OrganizationProductModel, bool) { + if o == nil || IsNil(o.Product) { + return nil, false + } + return o.Product, true +} + +// HasProduct returns a boolean if a field has been set. +func (o *OrganizationPermissionModel) HasProduct() bool { + if o != nil && !IsNil(o.Product) { + return true + } + + return false +} + +// SetProduct gets a reference to the given OrganizationProductModel and assigns it to the Product field. +func (o *OrganizationPermissionModel) SetProduct(v OrganizationProductModel) { + o.Product = &v +} + +// GetPermissionGroup returns the PermissionGroup field value if set, zero value otherwise. +func (o *OrganizationPermissionModel) GetPermissionGroup() OrganizationPermissionGroupModel { + if o == nil || IsNil(o.PermissionGroup) { + var ret OrganizationPermissionGroupModel + return ret + } + return *o.PermissionGroup +} + +// GetPermissionGroupOk returns a tuple with the PermissionGroup field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OrganizationPermissionModel) GetPermissionGroupOk() (*OrganizationPermissionGroupModel, bool) { + if o == nil || IsNil(o.PermissionGroup) { + return nil, false + } + return o.PermissionGroup, true +} + +// HasPermissionGroup returns a boolean if a field has been set. +func (o *OrganizationPermissionModel) HasPermissionGroup() bool { + if o != nil && !IsNil(o.PermissionGroup) { + return true + } + + return false +} + +// SetPermissionGroup gets a reference to the given OrganizationPermissionGroupModel and assigns it to the PermissionGroup field. +func (o *OrganizationPermissionModel) SetPermissionGroup(v OrganizationPermissionGroupModel) { + o.PermissionGroup = &v +} + +func (o OrganizationPermissionModel) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o OrganizationPermissionModel) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.Product) { + toSerialize["product"] = o.Product + } + if !IsNil(o.PermissionGroup) { + toSerialize["permissionGroup"] = o.PermissionGroup + } + return toSerialize, nil +} + +type NullableOrganizationPermissionModel struct { + value *OrganizationPermissionModel + isSet bool +} + +func (v NullableOrganizationPermissionModel) Get() *OrganizationPermissionModel { + return v.value +} + +func (v *NullableOrganizationPermissionModel) Set(val *OrganizationPermissionModel) { + v.value = val + v.isSet = true +} + +func (v NullableOrganizationPermissionModel) IsSet() bool { + return v.isSet +} + +func (v *NullableOrganizationPermissionModel) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableOrganizationPermissionModel(val *OrganizationPermissionModel) *NullableOrganizationPermissionModel { + return &NullableOrganizationPermissionModel{value: val, isSet: true} +} + +func (v NullableOrganizationPermissionModel) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableOrganizationPermissionModel) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_organization_product_model.go b/model_organization_product_model.go new file mode 100644 index 0000000..5a90c23 --- /dev/null +++ b/model_organization_product_model.go @@ -0,0 +1,175 @@ +/* +ConfigCat Public Management API + +**Base API URL**: https://test-api.configcat.com If you prefer the swagger documentation, you can find it here: [Swagger UI](https://test-api.configcat.com/swagger). The purpose of this API is to access the ConfigCat platform programmatically. You can **Create**, **Read**, **Update** and **Delete** any entities like **Feature Flags, Configs, Environments** or **Products** within ConfigCat. The API is based on HTTP REST, uses resource-oriented URLs, status codes and supports JSON and JSON+HAL format. Do not use this API for accessing and evaluating feature flag values. Use the [SDKs instead](https://configcat.com/docs/sdk-reference/overview). # OpenAPI Specification The complete specification is publicly available in the following formats: - [OpenAPI v3](https://test-api.configcat.com/docs/v1/swagger.json) - [Swagger v2](https://test-api.configcat.com/docs/v1/swagger.v2.json) You can use it to generate client libraries in various languages with [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) or [Swagger Codegen](https://swagger.io/tools/swagger-codegen/) to interact with this API. # Authentication This API uses the [Basic HTTP Authentication Scheme](https://en.wikipedia.org/wiki/Basic_access_authentication). # Throttling and rate limits All the rate limited API calls are returning information about the current rate limit period in the following HTTP headers: | Header | Description | | :- | :- | | X-Rate-Limit-Remaining | The maximum number of requests remaining in the current rate limit period. | | X-Rate-Limit-Reset | The time when the current rate limit period resets. | When the rate limit is exceeded by a request, the API returns with a `HTTP 429 - Too many requests` status along with a `Retry-After` HTTP header. + +API version: v1 +Contact: support@configcat.com +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package configcatpublicapi + +import ( + "encoding/json" +) + +// checks if the OrganizationProductModel type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &OrganizationProductModel{} + +// OrganizationProductModel Describes the Member's Product. +type OrganizationProductModel struct { + // Identifier of the Member's Product. + ProductId *string `json:"productId,omitempty"` + // Name of the Member's Product. + Name NullableString `json:"name,omitempty"` +} + +// NewOrganizationProductModel instantiates a new OrganizationProductModel object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewOrganizationProductModel() *OrganizationProductModel { + this := OrganizationProductModel{} + return &this +} + +// NewOrganizationProductModelWithDefaults instantiates a new OrganizationProductModel object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewOrganizationProductModelWithDefaults() *OrganizationProductModel { + this := OrganizationProductModel{} + return &this +} + +// GetProductId returns the ProductId field value if set, zero value otherwise. +func (o *OrganizationProductModel) GetProductId() string { + if o == nil || IsNil(o.ProductId) { + var ret string + return ret + } + return *o.ProductId +} + +// GetProductIdOk returns a tuple with the ProductId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *OrganizationProductModel) GetProductIdOk() (*string, bool) { + if o == nil || IsNil(o.ProductId) { + return nil, false + } + return o.ProductId, true +} + +// HasProductId returns a boolean if a field has been set. +func (o *OrganizationProductModel) HasProductId() bool { + if o != nil && !IsNil(o.ProductId) { + return true + } + + return false +} + +// SetProductId gets a reference to the given string and assigns it to the ProductId field. +func (o *OrganizationProductModel) SetProductId(v string) { + o.ProductId = &v +} + +// GetName returns the Name field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *OrganizationProductModel) GetName() string { + if o == nil || IsNil(o.Name.Get()) { + var ret string + return ret + } + return *o.Name.Get() +} + +// GetNameOk returns a tuple with the Name field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *OrganizationProductModel) GetNameOk() (*string, bool) { + if o == nil { + return nil, false + } + return o.Name.Get(), o.Name.IsSet() +} + +// HasName returns a boolean if a field has been set. +func (o *OrganizationProductModel) HasName() bool { + if o != nil && o.Name.IsSet() { + return true + } + + return false +} + +// SetName gets a reference to the given NullableString and assigns it to the Name field. +func (o *OrganizationProductModel) SetName(v string) { + o.Name.Set(&v) +} +// SetNameNil sets the value for Name to be an explicit nil +func (o *OrganizationProductModel) SetNameNil() { + o.Name.Set(nil) +} + +// UnsetName ensures that no value is present for Name, not even an explicit nil +func (o *OrganizationProductModel) UnsetName() { + o.Name.Unset() +} + +func (o OrganizationProductModel) MarshalJSON() ([]byte, error) { + toSerialize,err := o.ToMap() + if err != nil { + return []byte{}, err + } + return json.Marshal(toSerialize) +} + +func (o OrganizationProductModel) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if !IsNil(o.ProductId) { + toSerialize["productId"] = o.ProductId + } + if o.Name.IsSet() { + toSerialize["name"] = o.Name.Get() + } + return toSerialize, nil +} + +type NullableOrganizationProductModel struct { + value *OrganizationProductModel + isSet bool +} + +func (v NullableOrganizationProductModel) Get() *OrganizationProductModel { + return v.value +} + +func (v *NullableOrganizationProductModel) Set(val *OrganizationProductModel) { + v.value = val + v.isSet = true +} + +func (v NullableOrganizationProductModel) IsSet() bool { + return v.isSet +} + +func (v *NullableOrganizationProductModel) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableOrganizationProductModel(val *OrganizationProductModel) *NullableOrganizationProductModel { + return &NullableOrganizationProductModel{value: val, isSet: true} +} + +func (v NullableOrganizationProductModel) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableOrganizationProductModel) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} + + diff --git a/model_percentage_option_model.go b/model_percentage_option_model.go index fbe424f..49c18aa 100644 --- a/model_percentage_option_model.go +++ b/model_percentage_option_model.go @@ -20,7 +20,7 @@ var _ MappedNullable = &PercentageOptionModel{} // PercentageOptionModel struct for PercentageOptionModel type PercentageOptionModel struct { - // The percentage. + // A number between 0 and 100 that represents a randomly allocated fraction of the users. Percentage int32 `json:"percentage"` Value ValueModel `json:"value"` } diff --git a/model_prerequisite_comparator.go b/model_prerequisite_comparator.go index 4cdea82..6f5bccb 100644 --- a/model_prerequisite_comparator.go +++ b/model_prerequisite_comparator.go @@ -16,7 +16,7 @@ import ( "fmt" ) -// PrerequisiteComparator The comparison operator used during the evaluation process. +// PrerequisiteComparator Prerequisite flag comparison operator used during the evaluation process. type PrerequisiteComparator string // List of PrerequisiteComparator diff --git a/model_product_model.go b/model_product_model.go index e66a2c9..310961d 100644 --- a/model_product_model.go +++ b/model_product_model.go @@ -27,7 +27,7 @@ type ProductModel struct { Name NullableString `json:"name,omitempty"` // Description of the Product. Description NullableString `json:"description,omitempty"` - // The order of the Product represented on the ConfigCat Dashboard. + // The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. Order *int32 `json:"order,omitempty"` // Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved. ReasonRequired *bool `json:"reasonRequired,omitempty"` diff --git a/model_product_model_haljson.go b/model_product_model_haljson.go index 1b4e0c1..7f9d9cd 100644 --- a/model_product_model_haljson.go +++ b/model_product_model_haljson.go @@ -27,7 +27,7 @@ type ProductModelHaljson struct { Name NullableString `json:"name,omitempty"` // Description of the Product. Description NullableString `json:"description,omitempty"` - // The order of the Product represented on the ConfigCat Dashboard. + // The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. Order *int32 `json:"order,omitempty"` // Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved. ReasonRequired *bool `json:"reasonRequired,omitempty"` diff --git a/model_setting_formula_model.go b/model_setting_formula_model.go index eebb142..6930734 100644 --- a/model_setting_formula_model.go +++ b/model_setting_formula_model.go @@ -38,6 +38,8 @@ type SettingFormulaModel struct { IntegrationLinks []IntegrationLinkModel `json:"integrationLinks,omitempty"` // The tags attached to the Feature Flag or Setting. SettingTags []SettingTagModel `json:"settingTags,omitempty"` + // List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite. + SettingIdsWherePrerequisite []int32 `json:"settingIdsWherePrerequisite,omitempty"` Config *ConfigModel `json:"config,omitempty"` Environment *EnvironmentModel `json:"environment,omitempty"` ReadOnly *bool `json:"readOnly,omitempty"` @@ -424,6 +426,39 @@ func (o *SettingFormulaModel) SetSettingTags(v []SettingTagModel) { o.SettingTags = v } +// GetSettingIdsWherePrerequisite returns the SettingIdsWherePrerequisite field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *SettingFormulaModel) GetSettingIdsWherePrerequisite() []int32 { + if o == nil { + var ret []int32 + return ret + } + return o.SettingIdsWherePrerequisite +} + +// GetSettingIdsWherePrerequisiteOk returns a tuple with the SettingIdsWherePrerequisite field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *SettingFormulaModel) GetSettingIdsWherePrerequisiteOk() ([]int32, bool) { + if o == nil || IsNil(o.SettingIdsWherePrerequisite) { + return nil, false + } + return o.SettingIdsWherePrerequisite, true +} + +// HasSettingIdsWherePrerequisite returns a boolean if a field has been set. +func (o *SettingFormulaModel) HasSettingIdsWherePrerequisite() bool { + if o != nil && IsNil(o.SettingIdsWherePrerequisite) { + return true + } + + return false +} + +// SetSettingIdsWherePrerequisite gets a reference to the given []int32 and assigns it to the SettingIdsWherePrerequisite field. +func (o *SettingFormulaModel) SetSettingIdsWherePrerequisite(v []int32) { + o.SettingIdsWherePrerequisite = v +} + // GetConfig returns the Config field value if set, zero value otherwise. func (o *SettingFormulaModel) GetConfig() ConfigModel { if o == nil || IsNil(o.Config) { @@ -592,6 +627,9 @@ func (o SettingFormulaModel) ToMap() (map[string]interface{}, error) { if o.SettingTags != nil { toSerialize["settingTags"] = o.SettingTags } + if o.SettingIdsWherePrerequisite != nil { + toSerialize["settingIdsWherePrerequisite"] = o.SettingIdsWherePrerequisite + } if !IsNil(o.Config) { toSerialize["config"] = o.Config } diff --git a/model_setting_formula_model_haljson.go b/model_setting_formula_model_haljson.go index 6b2f787..3375b8b 100644 --- a/model_setting_formula_model_haljson.go +++ b/model_setting_formula_model_haljson.go @@ -34,6 +34,8 @@ type SettingFormulaModelHaljson struct { // The name of the user who last updated the Feature Flag or Setting. LastUpdaterUserFullName NullableString `json:"lastUpdaterUserFullName,omitempty"` Embedded *SettingFormulaModelHaljsonEmbedded `json:"_embedded,omitempty"` + // List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite. + SettingIdsWherePrerequisite []int32 `json:"settingIdsWherePrerequisite,omitempty"` ReadOnly *bool `json:"readOnly,omitempty"` FeatureFlagLimitations *FeatureFlagLimitations `json:"featureFlagLimitations,omitempty"` Links *ConfigSettingFormulasModelHaljsonEmbeddedEnvironmentLinks `json:"_links,omitempty"` @@ -353,6 +355,39 @@ func (o *SettingFormulaModelHaljson) SetEmbedded(v SettingFormulaModelHaljsonEmb o.Embedded = &v } +// GetSettingIdsWherePrerequisite returns the SettingIdsWherePrerequisite field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *SettingFormulaModelHaljson) GetSettingIdsWherePrerequisite() []int32 { + if o == nil { + var ret []int32 + return ret + } + return o.SettingIdsWherePrerequisite +} + +// GetSettingIdsWherePrerequisiteOk returns a tuple with the SettingIdsWherePrerequisite field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *SettingFormulaModelHaljson) GetSettingIdsWherePrerequisiteOk() ([]int32, bool) { + if o == nil || IsNil(o.SettingIdsWherePrerequisite) { + return nil, false + } + return o.SettingIdsWherePrerequisite, true +} + +// HasSettingIdsWherePrerequisite returns a boolean if a field has been set. +func (o *SettingFormulaModelHaljson) HasSettingIdsWherePrerequisite() bool { + if o != nil && IsNil(o.SettingIdsWherePrerequisite) { + return true + } + + return false +} + +// SetSettingIdsWherePrerequisite gets a reference to the given []int32 and assigns it to the SettingIdsWherePrerequisite field. +func (o *SettingFormulaModelHaljson) SetSettingIdsWherePrerequisite(v []int32) { + o.SettingIdsWherePrerequisite = v +} + // GetReadOnly returns the ReadOnly field value if set, zero value otherwise. func (o *SettingFormulaModelHaljson) GetReadOnly() bool { if o == nil || IsNil(o.ReadOnly) { @@ -483,6 +518,9 @@ func (o SettingFormulaModelHaljson) ToMap() (map[string]interface{}, error) { if !IsNil(o.Embedded) { toSerialize["_embedded"] = o.Embedded } + if o.SettingIdsWherePrerequisite != nil { + toSerialize["settingIdsWherePrerequisite"] = o.SettingIdsWherePrerequisite + } if !IsNil(o.ReadOnly) { toSerialize["readOnly"] = o.ReadOnly } diff --git a/model_update_config_request.go b/model_update_config_request.go index 546ae77..642e30c 100644 --- a/model_update_config_request.go +++ b/model_update_config_request.go @@ -20,8 +20,12 @@ var _ MappedNullable = &UpdateConfigRequest{} // UpdateConfigRequest struct for UpdateConfigRequest type UpdateConfigRequest struct { + // The name of the Config. Name NullableString `json:"name,omitempty"` + // The description of the Config. Description NullableString `json:"description,omitempty"` + // The order of the Config represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` } // NewUpdateConfigRequest instantiates a new UpdateConfigRequest object @@ -125,6 +129,48 @@ func (o *UpdateConfigRequest) UnsetDescription() { o.Description.Unset() } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *UpdateConfigRequest) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *UpdateConfigRequest) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *UpdateConfigRequest) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *UpdateConfigRequest) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *UpdateConfigRequest) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *UpdateConfigRequest) UnsetOrder() { + o.Order.Unset() +} + func (o UpdateConfigRequest) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { @@ -141,6 +187,9 @@ func (o UpdateConfigRequest) ToMap() (map[string]interface{}, error) { if o.Description.IsSet() { toSerialize["description"] = o.Description.Get() } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } return toSerialize, nil } diff --git a/model_update_environment_model.go b/model_update_environment_model.go index 76545d9..1359202 100644 --- a/model_update_environment_model.go +++ b/model_update_environment_model.go @@ -20,9 +20,14 @@ var _ MappedNullable = &UpdateEnvironmentModel{} // UpdateEnvironmentModel struct for UpdateEnvironmentModel type UpdateEnvironmentModel struct { + // The name of the Environment. Name NullableString `json:"name,omitempty"` + // The color of the Environment. RGB or HTML color codes are allowed. Color NullableString `json:"color,omitempty"` + // The description of the Environment. Description NullableString `json:"description,omitempty"` + // The order of the Environment represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` } // NewUpdateEnvironmentModel instantiates a new UpdateEnvironmentModel object @@ -168,6 +173,48 @@ func (o *UpdateEnvironmentModel) UnsetDescription() { o.Description.Unset() } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *UpdateEnvironmentModel) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *UpdateEnvironmentModel) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *UpdateEnvironmentModel) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *UpdateEnvironmentModel) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *UpdateEnvironmentModel) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *UpdateEnvironmentModel) UnsetOrder() { + o.Order.Unset() +} + func (o UpdateEnvironmentModel) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { @@ -187,6 +234,9 @@ func (o UpdateEnvironmentModel) ToMap() (map[string]interface{}, error) { if o.Description.IsSet() { toSerialize["description"] = o.Description.Get() } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } return toSerialize, nil } diff --git a/model_update_product_request.go b/model_update_product_request.go index 7ad6135..fd7895a 100644 --- a/model_update_product_request.go +++ b/model_update_product_request.go @@ -20,8 +20,12 @@ var _ MappedNullable = &UpdateProductRequest{} // UpdateProductRequest struct for UpdateProductRequest type UpdateProductRequest struct { + // The name of the Product. Name NullableString `json:"name,omitempty"` + // The description of the Product. Description NullableString `json:"description,omitempty"` + // The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers. + Order NullableInt32 `json:"order,omitempty"` } // NewUpdateProductRequest instantiates a new UpdateProductRequest object @@ -125,6 +129,48 @@ func (o *UpdateProductRequest) UnsetDescription() { o.Description.Unset() } +// GetOrder returns the Order field value if set, zero value otherwise (both if not set or set to explicit null). +func (o *UpdateProductRequest) GetOrder() int32 { + if o == nil || IsNil(o.Order.Get()) { + var ret int32 + return ret + } + return *o.Order.Get() +} + +// GetOrderOk returns a tuple with the Order field value if set, nil otherwise +// and a boolean to check if the value has been set. +// NOTE: If the value is an explicit nil, `nil, true` will be returned +func (o *UpdateProductRequest) GetOrderOk() (*int32, bool) { + if o == nil { + return nil, false + } + return o.Order.Get(), o.Order.IsSet() +} + +// HasOrder returns a boolean if a field has been set. +func (o *UpdateProductRequest) HasOrder() bool { + if o != nil && o.Order.IsSet() { + return true + } + + return false +} + +// SetOrder gets a reference to the given NullableInt32 and assigns it to the Order field. +func (o *UpdateProductRequest) SetOrder(v int32) { + o.Order.Set(&v) +} +// SetOrderNil sets the value for Order to be an explicit nil +func (o *UpdateProductRequest) SetOrderNil() { + o.Order.Set(nil) +} + +// UnsetOrder ensures that no value is present for Order, not even an explicit nil +func (o *UpdateProductRequest) UnsetOrder() { + o.Order.Unset() +} + func (o UpdateProductRequest) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { @@ -141,6 +187,9 @@ func (o UpdateProductRequest) ToMap() (map[string]interface{}, error) { if o.Description.IsSet() { toSerialize["description"] = o.Description.Get() } + if o.Order.IsSet() { + toSerialize["order"] = o.Order.Get() + } return toSerialize, nil } diff --git a/model_user_comparator.go b/model_user_comparator.go index 3d1b575..52e2430 100644 --- a/model_user_comparator.go +++ b/model_user_comparator.go @@ -16,11 +16,13 @@ import ( "fmt" ) -// UserComparator The comparison operator the evaluation process must use when it compares the given user attribute's value with the comparison value. +// UserComparator The comparison operator which defines the relation between the comparison attribute and the comparison value. type UserComparator string // List of UserComparator const ( + USERCOMPARATOR_IS_ONE_OF UserComparator = "isOneOf" + USERCOMPARATOR_IS_NOT_ONE_OF UserComparator = "isNotOneOf" USERCOMPARATOR_CONTAINS_ANY_OF UserComparator = "containsAnyOf" USERCOMPARATOR_DOES_NOT_CONTAIN_ANY_OF UserComparator = "doesNotContainAnyOf" USERCOMPARATOR_SEM_VER_IS_ONE_OF UserComparator = "semVerIsOneOf" @@ -45,12 +47,22 @@ const ( USERCOMPARATOR_SENSITIVE_TEXT_NOT_STARTS_WITH_ANY_OF UserComparator = "sensitiveTextNotStartsWithAnyOf" USERCOMPARATOR_SENSITIVE_TEXT_ENDS_WITH_ANY_OF UserComparator = "sensitiveTextEndsWithAnyOf" USERCOMPARATOR_SENSITIVE_TEXT_NOT_ENDS_WITH_ANY_OF UserComparator = "sensitiveTextNotEndsWithAnyOf" - USERCOMPARATOR_ARRAY_CONTAINS UserComparator = "arrayContains" - USERCOMPARATOR_ARRAY_DOES_NOT_CONTAIN UserComparator = "arrayDoesNotContain" + USERCOMPARATOR_SENSITIVE_ARRAY_CONTAINS_ANY_OF UserComparator = "sensitiveArrayContainsAnyOf" + USERCOMPARATOR_SENSITIVE_ARRAY_DOES_NOT_CONTAIN_ANY_OF UserComparator = "sensitiveArrayDoesNotContainAnyOf" + USERCOMPARATOR_TEXT_EQUALS UserComparator = "textEquals" + USERCOMPARATOR_TEXT_DOES_NOT_EQUAL UserComparator = "textDoesNotEqual" + USERCOMPARATOR_TEXT_STARTS_WITH_ANY_OF UserComparator = "textStartsWithAnyOf" + USERCOMPARATOR_TEXT_NOT_STARTS_WITH_ANY_OF UserComparator = "textNotStartsWithAnyOf" + USERCOMPARATOR_TEXT_ENDS_WITH_ANY_OF UserComparator = "textEndsWithAnyOf" + USERCOMPARATOR_TEXT_NOT_ENDS_WITH_ANY_OF UserComparator = "textNotEndsWithAnyOf" + USERCOMPARATOR_ARRAY_CONTAINS_ANY_OF UserComparator = "arrayContainsAnyOf" + USERCOMPARATOR_ARRAY_DOES_NOT_CONTAIN_ANY_OF UserComparator = "arrayDoesNotContainAnyOf" ) // All allowed values of UserComparator enum var AllowedUserComparatorEnumValues = []UserComparator{ + "isOneOf", + "isNotOneOf", "containsAnyOf", "doesNotContainAnyOf", "semVerIsOneOf", @@ -75,8 +87,16 @@ var AllowedUserComparatorEnumValues = []UserComparator{ "sensitiveTextNotStartsWithAnyOf", "sensitiveTextEndsWithAnyOf", "sensitiveTextNotEndsWithAnyOf", - "arrayContains", - "arrayDoesNotContain", + "sensitiveArrayContainsAnyOf", + "sensitiveArrayDoesNotContainAnyOf", + "textEquals", + "textDoesNotEqual", + "textStartsWithAnyOf", + "textNotStartsWithAnyOf", + "textEndsWithAnyOf", + "textNotEndsWithAnyOf", + "arrayContainsAnyOf", + "arrayDoesNotContainAnyOf", } func (v *UserComparator) UnmarshalJSON(src []byte) error { diff --git a/model_user_condition_model.go b/model_user_condition_model.go index b5c1a77..c2d4873 100644 --- a/model_user_condition_model.go +++ b/model_user_condition_model.go @@ -20,7 +20,7 @@ var _ MappedNullable = &UserConditionModel{} // UserConditionModel Describes a condition that is based on user attributes. type UserConditionModel struct { - // The user's attribute the evaluation process must take into account. + // The User Object attribute that the condition is based on. Can be \"User ID\", \"Email\", \"Country\" or any custom attribute. ComparisonAttribute string `json:"comparisonAttribute"` Comparator UserComparator `json:"comparator"` ComparisonValue ComparisonValueModel `json:"comparisonValue"`