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"`