@ogcio/building-blocks-sdk 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  ],
8
8
  "info": {
9
9
  "title": "Unleash API",
10
- "version": "6.3.0"
10
+ "version": "6.5.1"
11
11
  },
12
12
  "security": [
13
13
  {
@@ -262,7 +262,7 @@
262
262
  },
263
263
  "tagTypes": {
264
264
  "type": "array",
265
- "description": "A list of [Unleash tag types](https://docs.getunleash.io/reference/tags#tag-types) that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created.",
265
+ "description": "A list of [Unleash tag types](https://docs.getunleash.io/reference/feature-toggles#tags) that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created.",
266
266
  "example": [
267
267
  {
268
268
  "name": "slack",
@@ -2255,7 +2255,7 @@
2255
2255
  "contextName",
2256
2256
  "operator"
2257
2257
  ],
2258
- "description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/strategy-constraints)",
2258
+ "description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)",
2259
2259
  "properties": {
2260
2260
  "contextName": {
2261
2261
  "description": "The name of the context field that this constraint should apply to.",
@@ -2263,7 +2263,7 @@
2263
2263
  "type": "string"
2264
2264
  },
2265
2265
  "operator": {
2266
- "description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).",
2266
+ "description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/activation-strategies#constraint-operators).",
2267
2267
  "type": "string",
2268
2268
  "enum": [
2269
2269
  "NOT_IN",
@@ -2800,7 +2800,7 @@
2800
2800
  },
2801
2801
  "constraints": {
2802
2802
  "type": "array",
2803
- "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints",
2803
+ "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints",
2804
2804
  "example": [
2805
2805
  {
2806
2806
  "values": [
@@ -3106,7 +3106,7 @@
3106
3106
  },
3107
3107
  "createTagSchema": {
3108
3108
  "type": "object",
3109
- "description": "Data used to create a new [tag](https://docs.getunleash.io/reference/tags)",
3109
+ "description": "Data used to create a new [tag](https://docs.getunleash.io/reference/feature-toggles#tags)",
3110
3110
  "additionalProperties": false,
3111
3111
  "required": [
3112
3112
  "value",
@@ -3123,7 +3123,7 @@
3123
3123
  "type": "string",
3124
3124
  "minLength": 2,
3125
3125
  "maxLength": 50,
3126
- "description": "The [type](https://docs.getunleash.io/reference/tags#tag-types) of the tag",
3126
+ "description": "The [type](https://docs.getunleash.io/reference/feature-toggles#tags) of the tag",
3127
3127
  "example": "simple"
3128
3128
  }
3129
3129
  }
@@ -3236,6 +3236,17 @@
3236
3236
  "type": "string",
3237
3237
  "nullable": true,
3238
3238
  "example": "01HTMEXAMPLESCIMID7SWWGHN6"
3239
+ },
3240
+ "activeSessions": {
3241
+ "description": "Count of active browser sessions for this user",
3242
+ "type": "integer",
3243
+ "nullable": true,
3244
+ "example": 2
3245
+ },
3246
+ "deletedSessions": {
3247
+ "description": "Experimental. The number of deleted browser sessions after last login",
3248
+ "type": "number",
3249
+ "example": 1
3239
3250
  }
3240
3251
  }
3241
3252
  },
@@ -3614,7 +3625,14 @@
3614
3625
  "signal-endpoint-token-deleted",
3615
3626
  "actions-created",
3616
3627
  "actions-updated",
3617
- "actions-deleted"
3628
+ "actions-deleted",
3629
+ "release-plan-template-created",
3630
+ "release-plan-template-updated",
3631
+ "release-plan-template-deleted",
3632
+ "release-plan-added",
3633
+ "release-plan-removed",
3634
+ "release-plan-milestone-started",
3635
+ "user-preference-updated"
3618
3636
  ],
3619
3637
  "example": "feature-created"
3620
3638
  },
@@ -4078,7 +4096,14 @@
4078
4096
  "signal-endpoint-token-deleted",
4079
4097
  "actions-created",
4080
4098
  "actions-updated",
4081
- "actions-deleted"
4099
+ "actions-deleted",
4100
+ "release-plan-template-created",
4101
+ "release-plan-template-updated",
4102
+ "release-plan-template-deleted",
4103
+ "release-plan-added",
4104
+ "release-plan-removed",
4105
+ "release-plan-milestone-started",
4106
+ "user-preference-updated"
4082
4107
  ],
4083
4108
  "example": "feature-created"
4084
4109
  },
@@ -4156,12 +4181,12 @@
4156
4181
  "label": {
4157
4182
  "type": "string",
4158
4183
  "nullable": true,
4159
- "description": "**[Experimental]** The concise, human-readable name of the event."
4184
+ "description": "The concise, human-readable name of the event."
4160
4185
  },
4161
4186
  "summary": {
4162
4187
  "type": "string",
4163
4188
  "nullable": true,
4164
- "description": "**[Experimental]** A markdown-formatted summary of the event."
4189
+ "description": "A markdown-formatted summary of the event."
4165
4190
  }
4166
4191
  }
4167
4192
  },
@@ -5094,7 +5119,8 @@
5094
5119
  "createdAt",
5095
5120
  "createdBy",
5096
5121
  "environments",
5097
- "segments"
5122
+ "segments",
5123
+ "archivedAt"
5098
5124
  ],
5099
5125
  "description": "A feature flag definition",
5100
5126
  "properties": {
@@ -5125,11 +5151,6 @@
5125
5151
  "example": "parent",
5126
5152
  "description": "The type of dependency. 'parent' means that the feature is a parent feature, 'child' means that the feature is a child feature."
5127
5153
  },
5128
- "archived": {
5129
- "type": "boolean",
5130
- "example": true,
5131
- "description": "`true` if the feature is archived"
5132
- },
5133
5154
  "project": {
5134
5155
  "type": "string",
5135
5156
  "example": "dx-squad",
@@ -5331,7 +5352,7 @@
5331
5352
  },
5332
5353
  "constraints": {
5333
5354
  "type": "array",
5334
- "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints",
5355
+ "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints",
5335
5356
  "items": {
5336
5357
  "$ref": "#/components/schemas/constraintSchema"
5337
5358
  }
@@ -5386,7 +5407,7 @@
5386
5407
  "tagType": {
5387
5408
  "type": "string",
5388
5409
  "example": "simple",
5389
- "description": "The [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag"
5410
+ "description": "The [type](https://docs.getunleash.io/reference/feature-toggles#tags tag types) of the tag"
5390
5411
  },
5391
5412
  "tagValue": {
5392
5413
  "type": "string",
@@ -5396,7 +5417,7 @@
5396
5417
  "type": {
5397
5418
  "deprecated": true,
5398
5419
  "type": "string",
5399
- "description": "The [type](https://docs.getunleash.io/reference/tags#tag-types tag types) of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the `tagType` property."
5420
+ "description": "The [type](https://docs.getunleash.io/reference/feature-toggles#tags tag types) of the tag. This property is deprecated and will be removed in a future version of Unleash. Superseded by the `tagType` property."
5400
5421
  },
5401
5422
  "value": {
5402
5423
  "deprecated": true,
@@ -6496,6 +6517,12 @@
6496
6517
  }
6497
6518
  }
6498
6519
  },
6520
+ "licensedUsers": {
6521
+ "type": "integer",
6522
+ "description": "The number of users who had access to Unleash within the last 30 days, including those who may have been deleted during this period.",
6523
+ "example": 10,
6524
+ "minimum": 0
6525
+ },
6499
6526
  "productionChanges": {
6500
6527
  "type": "object",
6501
6528
  "description": "The number of changes to the production environment in the last 30, 60 and 90 days",
@@ -7543,7 +7570,7 @@
7543
7570
  "operator",
7544
7571
  "result"
7545
7572
  ],
7546
- "description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/strategy-constraints)",
7573
+ "description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/activation-strategies#constraints)",
7547
7574
  "properties": {
7548
7575
  "contextName": {
7549
7576
  "description": "The name of the context field that this constraint should apply to.",
@@ -7551,7 +7578,7 @@
7551
7578
  "type": "string"
7552
7579
  },
7553
7580
  "operator": {
7554
- "description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).",
7581
+ "description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/activation-strategies#constraint-operators).",
7555
7582
  "type": "string",
7556
7583
  "enum": [
7557
7584
  "NOT_IN",
@@ -7739,7 +7766,7 @@
7739
7766
  }
7740
7767
  },
7741
7768
  "playgroundRequestSchema": {
7742
- "description": "Data for the playground API to evaluate toggles",
7769
+ "description": "Data for the playground API to evaluate feature flags",
7743
7770
  "type": "object",
7744
7771
  "required": [
7745
7772
  "environment",
@@ -7749,10 +7776,10 @@
7749
7776
  "environment": {
7750
7777
  "type": "string",
7751
7778
  "example": "development",
7752
- "description": "The environment to evaluate toggles in."
7779
+ "description": "The environment to evaluate feature flags in."
7753
7780
  },
7754
7781
  "projects": {
7755
- "description": "A list of projects to check for toggles in.",
7782
+ "description": "A list of projects to check for feature flags in.",
7756
7783
  "oneOf": [
7757
7784
  {
7758
7785
  "type": "array",
@@ -7762,14 +7789,14 @@
7762
7789
  "example": [
7763
7790
  "my-project"
7764
7791
  ],
7765
- "description": "A list of projects to check for toggles in."
7792
+ "description": "A list of projects to check for feature flags in."
7766
7793
  },
7767
7794
  {
7768
7795
  "type": "string",
7769
7796
  "enum": [
7770
7797
  "*"
7771
7798
  ],
7772
- "description": "Check toggles in all projects."
7799
+ "description": "Check feature flags in all projects."
7773
7800
  }
7774
7801
  ]
7775
7802
  },
@@ -8030,7 +8057,8 @@
8030
8057
  "required": [
8031
8058
  "rootRole",
8032
8059
  "projects",
8033
- "features"
8060
+ "features",
8061
+ "subscriptions"
8034
8062
  ],
8035
8063
  "properties": {
8036
8064
  "rootRole": {
@@ -8047,6 +8075,16 @@
8047
8075
  "my-projectB"
8048
8076
  ]
8049
8077
  },
8078
+ "subscriptions": {
8079
+ "description": "Which email subscriptions this user is subscribed to",
8080
+ "type": "array",
8081
+ "items": {
8082
+ "type": "string"
8083
+ },
8084
+ "example": [
8085
+ "productivity-report"
8086
+ ]
8087
+ },
8050
8088
  "features": {
8051
8089
  "description": "Deprecated, always returns empty array",
8052
8090
  "type": "array",
@@ -8057,6 +8095,30 @@
8057
8095
  }
8058
8096
  }
8059
8097
  },
8098
+ "projectActivitySchema": {
8099
+ "type": "array",
8100
+ "description": "An array of project activity information. Each item contains a date and the total number of activities for that date.",
8101
+ "items": {
8102
+ "type": "object",
8103
+ "additionalProperties": false,
8104
+ "required": [
8105
+ "date",
8106
+ "count"
8107
+ ],
8108
+ "properties": {
8109
+ "date": {
8110
+ "type": "string",
8111
+ "example": "2022-12-14",
8112
+ "description": "Activity date"
8113
+ },
8114
+ "count": {
8115
+ "type": "integer",
8116
+ "minimum": 0,
8117
+ "description": "Activity count"
8118
+ }
8119
+ }
8120
+ }
8121
+ },
8060
8122
  "projectApplicationSchema": {
8061
8123
  "type": "object",
8062
8124
  "additionalProperties": false,
@@ -8879,6 +8941,205 @@
8879
8941
  }
8880
8942
  }
8881
8943
  },
8944
+ "projectStatusSchema": {
8945
+ "type": "object",
8946
+ "additionalProperties": false,
8947
+ "required": [
8948
+ "activityCountByDate",
8949
+ "resources",
8950
+ "health",
8951
+ "lifecycleSummary",
8952
+ "staleFlags"
8953
+ ],
8954
+ "description": "Schema representing the overall status of a project, including an array of activity records. Each record in the activity array contains a date and a count, providing a snapshot of the project’s activity level over time.",
8955
+ "properties": {
8956
+ "activityCountByDate": {
8957
+ "$ref": "#/components/schemas/projectActivitySchema",
8958
+ "description": "Array of activity records with date and count, representing the project’s daily activity statistics."
8959
+ },
8960
+ "health": {
8961
+ "type": "object",
8962
+ "additionalProperties": false,
8963
+ "required": [
8964
+ "current"
8965
+ ],
8966
+ "description": "Information about the project's health rating",
8967
+ "properties": {
8968
+ "current": {
8969
+ "type": "integer",
8970
+ "minimum": 0,
8971
+ "description": "The project's current health score, based on the ratio of healthy flags to stale and potentially stale flags.",
8972
+ "example": 100
8973
+ }
8974
+ }
8975
+ },
8976
+ "resources": {
8977
+ "type": "object",
8978
+ "additionalProperties": false,
8979
+ "required": [
8980
+ "apiTokens",
8981
+ "members",
8982
+ "segments"
8983
+ ],
8984
+ "description": "Key resources within the project",
8985
+ "properties": {
8986
+ "apiTokens": {
8987
+ "type": "integer",
8988
+ "minimum": 0,
8989
+ "description": "The number of API tokens created specifically for this project."
8990
+ },
8991
+ "members": {
8992
+ "type": "integer",
8993
+ "minimum": 0,
8994
+ "description": "The number of users who have been granted roles in this project. Does not include users who have access via groups."
8995
+ },
8996
+ "segments": {
8997
+ "type": "integer",
8998
+ "minimum": 0,
8999
+ "description": "The number of segments that are scoped to this project."
9000
+ }
9001
+ }
9002
+ },
9003
+ "staleFlags": {
9004
+ "type": "object",
9005
+ "additionalProperties": false,
9006
+ "description": "Information on stale and potentially stale flags in this project.",
9007
+ "required": [
9008
+ "total"
9009
+ ],
9010
+ "properties": {
9011
+ "total": {
9012
+ "type": "integer",
9013
+ "minimum": 0,
9014
+ "description": "The total number of flags in this project that are stale or potentially stale."
9015
+ }
9016
+ }
9017
+ },
9018
+ "lifecycleSummary": {
9019
+ "type": "object",
9020
+ "additionalProperties": false,
9021
+ "description": "Feature flag lifecycle statistics for this project.",
9022
+ "required": [
9023
+ "initial",
9024
+ "preLive",
9025
+ "live",
9026
+ "completed",
9027
+ "archived"
9028
+ ],
9029
+ "properties": {
9030
+ "initial": {
9031
+ "type": "object",
9032
+ "additionalProperties": false,
9033
+ "description": "Statistics on feature flags in a given stage in this project.",
9034
+ "required": [
9035
+ "averageDays",
9036
+ "currentFlags"
9037
+ ],
9038
+ "properties": {
9039
+ "averageDays": {
9040
+ "type": "number",
9041
+ "nullable": true,
9042
+ "description": "The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet.",
9043
+ "example": 5
9044
+ },
9045
+ "currentFlags": {
9046
+ "type": "integer",
9047
+ "description": "The number of feature flags currently in a stage in this project.",
9048
+ "example": 10
9049
+ }
9050
+ }
9051
+ },
9052
+ "preLive": {
9053
+ "type": "object",
9054
+ "additionalProperties": false,
9055
+ "description": "Statistics on feature flags in a given stage in this project.",
9056
+ "required": [
9057
+ "averageDays",
9058
+ "currentFlags"
9059
+ ],
9060
+ "properties": {
9061
+ "averageDays": {
9062
+ "type": "number",
9063
+ "nullable": true,
9064
+ "description": "The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet.",
9065
+ "example": 5
9066
+ },
9067
+ "currentFlags": {
9068
+ "type": "integer",
9069
+ "description": "The number of feature flags currently in a stage in this project.",
9070
+ "example": 10
9071
+ }
9072
+ }
9073
+ },
9074
+ "live": {
9075
+ "type": "object",
9076
+ "additionalProperties": false,
9077
+ "description": "Statistics on feature flags in a given stage in this project.",
9078
+ "required": [
9079
+ "averageDays",
9080
+ "currentFlags"
9081
+ ],
9082
+ "properties": {
9083
+ "averageDays": {
9084
+ "type": "number",
9085
+ "nullable": true,
9086
+ "description": "The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet.",
9087
+ "example": 5
9088
+ },
9089
+ "currentFlags": {
9090
+ "type": "integer",
9091
+ "description": "The number of feature flags currently in a stage in this project.",
9092
+ "example": 10
9093
+ }
9094
+ }
9095
+ },
9096
+ "completed": {
9097
+ "type": "object",
9098
+ "additionalProperties": false,
9099
+ "description": "Statistics on feature flags in a given stage in this project.",
9100
+ "required": [
9101
+ "averageDays",
9102
+ "currentFlags"
9103
+ ],
9104
+ "properties": {
9105
+ "averageDays": {
9106
+ "type": "number",
9107
+ "nullable": true,
9108
+ "description": "The average number of days a feature flag remains in a stage in this project. Will be null if Unleash doesn't have any data for this stage yet.",
9109
+ "example": 5
9110
+ },
9111
+ "currentFlags": {
9112
+ "type": "integer",
9113
+ "description": "The number of feature flags currently in a stage in this project.",
9114
+ "example": 10
9115
+ }
9116
+ }
9117
+ },
9118
+ "archived": {
9119
+ "type": "object",
9120
+ "additionalProperties": false,
9121
+ "required": [
9122
+ "currentFlags",
9123
+ "last30Days"
9124
+ ],
9125
+ "description": "Information on archived flags in this project.",
9126
+ "properties": {
9127
+ "currentFlags": {
9128
+ "type": "integer",
9129
+ "description": "The number of archived feature flags in this project. If a flag is deleted permanently, it will no longer be counted as part of this statistic.",
9130
+ "example": 10
9131
+ },
9132
+ "last30Days": {
9133
+ "type": "integer",
9134
+ "description": "The number of flags in this project that have been changed over the last 30 days.",
9135
+ "example": 5
9136
+ }
9137
+ }
9138
+ }
9139
+ }
9140
+ }
9141
+ }
9142
+ },
8882
9143
  "projectsSchema": {
8883
9144
  "type": "object",
8884
9145
  "additionalProperties": false,
@@ -9904,7 +10165,7 @@
9904
10165
  },
9905
10166
  "tagSchema": {
9906
10167
  "type": "object",
9907
- "description": "Representation of a [tag](https://docs.getunleash.io/reference/tags)",
10168
+ "description": "Representation of a [tag](https://docs.getunleash.io/reference/feature-toggles#tags)",
9908
10169
  "additionalProperties": false,
9909
10170
  "required": [
9910
10171
  "value",
@@ -9922,7 +10183,7 @@
9922
10183
  "type": "string",
9923
10184
  "minLength": 2,
9924
10185
  "maxLength": 50,
9925
- "description": "The [type](https://docs.getunleash.io/reference/tags#tag-types) of the tag",
10186
+ "description": "The [type](https://docs.getunleash.io/reference/feature-toggles#tags) of the tag",
9926
10187
  "example": "simple"
9927
10188
  }
9928
10189
  }
@@ -10169,6 +10430,15 @@
10169
10430
  "description": "What kind of Unleash instance it is: Enterprise, Pro, or Open source",
10170
10431
  "example": "Enterprise"
10171
10432
  },
10433
+ "billing": {
10434
+ "type": "string",
10435
+ "description": "The billing model in use for this Unleash instance.",
10436
+ "example": "subscription",
10437
+ "enum": [
10438
+ "subscription",
10439
+ "pay-as-you-go"
10440
+ ]
10441
+ },
10172
10442
  "unleashUrl": {
10173
10443
  "type": "string",
10174
10444
  "description": "The URL of the Unleash instance.",
@@ -10321,6 +10591,11 @@
10321
10591
  "type": "boolean",
10322
10592
  "description": "Whether Unleash AI is available.",
10323
10593
  "example": false
10594
+ },
10595
+ "maxSessionsCount": {
10596
+ "type": "number",
10597
+ "description": "The maximum number of sessions that a user has.",
10598
+ "example": 10
10324
10599
  }
10325
10600
  }
10326
10601
  },
@@ -10432,7 +10707,7 @@
10432
10707
  "items": {
10433
10708
  "$ref": "#/components/schemas/constraintSchema"
10434
10709
  },
10435
- "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints"
10710
+ "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints"
10436
10711
  },
10437
10712
  "title": {
10438
10713
  "type": "string",
@@ -10781,6 +11056,17 @@
10781
11056
  "type": "string",
10782
11057
  "nullable": true,
10783
11058
  "example": "01HTMEXAMPLESCIMID7SWWGHN6"
11059
+ },
11060
+ "activeSessions": {
11061
+ "description": "Count of active browser sessions for this user",
11062
+ "type": "integer",
11063
+ "nullable": true,
11064
+ "example": 2
11065
+ },
11066
+ "deletedSessions": {
11067
+ "description": "Experimental. The number of deleted browser sessions after last login",
11068
+ "type": "number",
11069
+ "example": 1
10784
11070
  }
10785
11071
  }
10786
11072
  },
@@ -11141,6 +11427,20 @@
11141
11427
  }
11142
11428
  }
11143
11429
  },
11430
+ "actionableChangeRequestsSchema": {
11431
+ "type": "object",
11432
+ "description": "Data related to actionable change requests in a project.",
11433
+ "required": [
11434
+ "total"
11435
+ ],
11436
+ "properties": {
11437
+ "total": {
11438
+ "type": "integer",
11439
+ "minimum": 0,
11440
+ "description": "The number of actionable change requests in the project."
11441
+ }
11442
+ }
11443
+ },
11144
11444
  "adminPermissionSchema": {
11145
11445
  "type": "object",
11146
11446
  "required": [
@@ -11450,6 +11750,7 @@
11450
11750
  },
11451
11751
  "environment": {
11452
11752
  "type": "string",
11753
+ "nullable": true,
11453
11754
  "example": "development",
11454
11755
  "description": "The environments of the permission if the permission is environment specific"
11455
11756
  }
@@ -11503,6 +11804,7 @@
11503
11804
  },
11504
11805
  "environment": {
11505
11806
  "type": "string",
11807
+ "nullable": true,
11506
11808
  "example": "development",
11507
11809
  "description": "The environments of the permission if the permission is environment specific"
11508
11810
  }
@@ -14036,7 +14338,239 @@
14036
14338
  "type": "array",
14037
14339
  "description": "A list of change requests",
14038
14340
  "items": {
14039
- "$ref": "#/components/schemas/changeRequestSchema"
14341
+ "type": "object",
14342
+ "description": "A simplified change request overview",
14343
+ "oneOf": [
14344
+ {
14345
+ "required": [
14346
+ "id",
14347
+ "environment",
14348
+ "state",
14349
+ "minApprovals",
14350
+ "project",
14351
+ "features",
14352
+ "segments",
14353
+ "createdAt",
14354
+ "createdBy"
14355
+ ],
14356
+ "additionalProperties": false,
14357
+ "properties": {
14358
+ "id": {
14359
+ "type": "number",
14360
+ "example": 3,
14361
+ "description": "This change requests's ID."
14362
+ },
14363
+ "title": {
14364
+ "type": "string",
14365
+ "example": "Increasing gradual rollout",
14366
+ "description": "A title describing the change request's content."
14367
+ },
14368
+ "environment": {
14369
+ "type": "string",
14370
+ "example": "development",
14371
+ "description": "The environment in which the changes should be applied."
14372
+ },
14373
+ "minApprovals": {
14374
+ "type": "number",
14375
+ "example": 2,
14376
+ "description": "The minimum number of approvals required before this change request can be applied.",
14377
+ "deprecated": true
14378
+ },
14379
+ "project": {
14380
+ "type": "string",
14381
+ "example": "unleash-project",
14382
+ "description": "The project this change request belongs to."
14383
+ },
14384
+ "features": {
14385
+ "type": "array",
14386
+ "description": "The list of features and their changes that relate to this change request.",
14387
+ "items": {
14388
+ "$ref": "#/components/schemas/changeRequestFeatureSchema"
14389
+ }
14390
+ },
14391
+ "segments": {
14392
+ "type": "array",
14393
+ "description": "The list of segments and their changes that relate to this change request.",
14394
+ "items": {
14395
+ "$ref": "#/components/schemas/changeRequestSegmentChangeSchema"
14396
+ }
14397
+ },
14398
+ "approvals": {
14399
+ "type": "array",
14400
+ "description": "A list of approvals that this change request has received.",
14401
+ "items": {
14402
+ "$ref": "#/components/schemas/changeRequestApprovalSchema"
14403
+ },
14404
+ "deprecated": true
14405
+ },
14406
+ "rejections": {
14407
+ "type": "array",
14408
+ "description": "A list of rejections that this change request has received. ",
14409
+ "items": {
14410
+ "$ref": "#/components/schemas/changeRequestApprovalSchema"
14411
+ },
14412
+ "deprecated": true
14413
+ },
14414
+ "comments": {
14415
+ "type": "array",
14416
+ "description": "All comments that have been made on this change request.",
14417
+ "items": {
14418
+ "$ref": "#/components/schemas/changeRequestCommentSchema"
14419
+ },
14420
+ "deprecated": true
14421
+ },
14422
+ "createdBy": {
14423
+ "description": "The user who created this change request.",
14424
+ "type": "object",
14425
+ "properties": {
14426
+ "username": {
14427
+ "type": "string",
14428
+ "nullable": true,
14429
+ "example": "Hunter"
14430
+ },
14431
+ "imageUrl": {
14432
+ "type": "string",
14433
+ "format": "uri",
14434
+ "nullable": true,
14435
+ "description": "The URL of the user's profile image."
14436
+ }
14437
+ }
14438
+ },
14439
+ "createdAt": {
14440
+ "description": "When this change request was created.",
14441
+ "type": "string",
14442
+ "format": "date-time",
14443
+ "example": "2023-07-31T13:33:02Z"
14444
+ },
14445
+ "state": {
14446
+ "type": "string",
14447
+ "enum": [
14448
+ "Draft",
14449
+ "In review",
14450
+ "Approved",
14451
+ "Applied",
14452
+ "Cancelled",
14453
+ "Rejected"
14454
+ ],
14455
+ "description": "The current state of the change request."
14456
+ }
14457
+ }
14458
+ },
14459
+ {
14460
+ "required": [
14461
+ "id",
14462
+ "environment",
14463
+ "state",
14464
+ "minApprovals",
14465
+ "project",
14466
+ "features",
14467
+ "segments",
14468
+ "createdAt",
14469
+ "createdBy",
14470
+ "schedule"
14471
+ ],
14472
+ "additionalProperties": false,
14473
+ "properties": {
14474
+ "id": {
14475
+ "type": "number",
14476
+ "example": 3,
14477
+ "description": "This change requests's ID."
14478
+ },
14479
+ "title": {
14480
+ "type": "string",
14481
+ "example": "Increasing gradual rollout",
14482
+ "description": "A title describing the change request's content."
14483
+ },
14484
+ "environment": {
14485
+ "type": "string",
14486
+ "example": "development",
14487
+ "description": "The environment in which the changes should be applied."
14488
+ },
14489
+ "minApprovals": {
14490
+ "type": "number",
14491
+ "example": 2,
14492
+ "description": "The minimum number of approvals required before this change request can be applied.",
14493
+ "deprecated": true
14494
+ },
14495
+ "project": {
14496
+ "type": "string",
14497
+ "example": "unleash-project",
14498
+ "description": "The project this change request belongs to."
14499
+ },
14500
+ "features": {
14501
+ "type": "array",
14502
+ "description": "The list of features and their changes that relate to this change request.",
14503
+ "items": {
14504
+ "$ref": "#/components/schemas/changeRequestFeatureSchema"
14505
+ }
14506
+ },
14507
+ "segments": {
14508
+ "type": "array",
14509
+ "description": "The list of segments and their changes that relate to this change request.",
14510
+ "items": {
14511
+ "$ref": "#/components/schemas/changeRequestSegmentChangeSchema"
14512
+ }
14513
+ },
14514
+ "approvals": {
14515
+ "type": "array",
14516
+ "description": "A list of approvals that this change request has received.",
14517
+ "items": {
14518
+ "$ref": "#/components/schemas/changeRequestApprovalSchema"
14519
+ },
14520
+ "deprecated": true
14521
+ },
14522
+ "rejections": {
14523
+ "type": "array",
14524
+ "description": "A list of rejections that this change request has received. ",
14525
+ "items": {
14526
+ "$ref": "#/components/schemas/changeRequestApprovalSchema"
14527
+ },
14528
+ "deprecated": true
14529
+ },
14530
+ "comments": {
14531
+ "type": "array",
14532
+ "description": "All comments that have been made on this change request.",
14533
+ "items": {
14534
+ "$ref": "#/components/schemas/changeRequestCommentSchema"
14535
+ },
14536
+ "deprecated": true
14537
+ },
14538
+ "createdBy": {
14539
+ "description": "The user who created this change request.",
14540
+ "type": "object",
14541
+ "properties": {
14542
+ "username": {
14543
+ "type": "string",
14544
+ "nullable": true,
14545
+ "example": "Hunter"
14546
+ },
14547
+ "imageUrl": {
14548
+ "type": "string",
14549
+ "format": "uri",
14550
+ "nullable": true,
14551
+ "description": "The URL of the user's profile image."
14552
+ }
14553
+ }
14554
+ },
14555
+ "createdAt": {
14556
+ "description": "When this change request was created.",
14557
+ "type": "string",
14558
+ "format": "date-time",
14559
+ "example": "2023-07-31T13:33:02Z"
14560
+ },
14561
+ "state": {
14562
+ "type": "string",
14563
+ "enum": [
14564
+ "Scheduled"
14565
+ ],
14566
+ "description": "The current state of the change request."
14567
+ },
14568
+ "schedule": {
14569
+ "$ref": "#/components/schemas/changeRequestScheduleSchema"
14570
+ }
14571
+ }
14572
+ }
14573
+ ]
14040
14574
  }
14041
14575
  },
14042
14576
  "changeRequestScheduleSchema": {
@@ -15453,6 +15987,69 @@
15453
15987
  }
15454
15988
  }
15455
15989
  },
15990
+ "licensedUserSchema": {
15991
+ "description": "A schema representing a single licensed user data point.",
15992
+ "type": "object",
15993
+ "additionalProperties": false,
15994
+ "required": [
15995
+ "date",
15996
+ "count"
15997
+ ],
15998
+ "properties": {
15999
+ "date": {
16000
+ "type": "string",
16001
+ "format": "date-time",
16002
+ "description": "The date associated with the licensed users count.",
16003
+ "example": "2024-10-01T00:00:00.000Z"
16004
+ },
16005
+ "count": {
16006
+ "type": "integer",
16007
+ "description": "The count of licensed users on the given date.",
16008
+ "minimum": 0,
16009
+ "example": 100
16010
+ }
16011
+ }
16012
+ },
16013
+ "licensedUsersSchema": {
16014
+ "description": "A response model representing user license data.",
16015
+ "type": "object",
16016
+ "additionalProperties": false,
16017
+ "required": [
16018
+ "licensedUsers",
16019
+ "seatCount"
16020
+ ],
16021
+ "properties": {
16022
+ "seatCount": {
16023
+ "type": "integer",
16024
+ "minimum": 0,
16025
+ "example": 25,
16026
+ "description": "The total number of licensed seats currently available for this Unleash instance."
16027
+ },
16028
+ "licensedUsers": {
16029
+ "type": "object",
16030
+ "required": [
16031
+ "history",
16032
+ "current"
16033
+ ],
16034
+ "description": "An object containing historical and current licensed user data.",
16035
+ "properties": {
16036
+ "history": {
16037
+ "type": "array",
16038
+ "description": "A monthly history of licensed user counts.",
16039
+ "items": {
16040
+ "$ref": "#/components/schemas/licensedUserSchema"
16041
+ }
16042
+ },
16043
+ "current": {
16044
+ "description": "The current number of licenses in use.",
16045
+ "type": "integer",
16046
+ "minimum": 0,
16047
+ "example": 25
16048
+ }
16049
+ }
16050
+ }
16051
+ }
16052
+ },
15456
16053
  "signalSchema": {
15457
16054
  "type": "object",
15458
16055
  "required": [
@@ -16940,49 +17537,576 @@
16940
17537
  }
16941
17538
  }
16942
17539
  },
16943
- "orderEnvironmentsSchema": {
17540
+ "releasePlanSchema": {
17541
+ "additionalProperties": false,
17542
+ "description": "Schema representing the creation of a release plan.",
16944
17543
  "type": "object",
16945
- "description": "A request for hosted customers to order new environments in Unleash.",
17544
+ "required": [
17545
+ "id",
17546
+ "discriminator",
17547
+ "name",
17548
+ "featureName",
17549
+ "environment",
17550
+ "createdByUserId",
17551
+ "createdAt",
17552
+ "milestones",
17553
+ "releasePlanTemplateId"
17554
+ ],
17555
+ "properties": {
17556
+ "id": {
17557
+ "type": "string",
17558
+ "description": "The release plan/template's ID. Release template IDs are ulids.",
17559
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2",
17560
+ "nullable": false
17561
+ },
17562
+ "discriminator": {
17563
+ "type": "string",
17564
+ "description": "A field to distinguish between release plans and release templates.",
17565
+ "example": "plan",
17566
+ "nullable": false,
17567
+ "enum": [
17568
+ "plan"
17569
+ ]
17570
+ },
17571
+ "name": {
17572
+ "type": "string",
17573
+ "description": "The name of the release template.",
17574
+ "example": "My release plan"
17575
+ },
17576
+ "description": {
17577
+ "type": "string",
17578
+ "description": "A description of the release template.",
17579
+ "example": "This is my release plan",
17580
+ "nullable": true
17581
+ },
17582
+ "featureName": {
17583
+ "type": "string",
17584
+ "description": "The name of the feature that uses this release plan.",
17585
+ "example": "my-feature"
17586
+ },
17587
+ "environment": {
17588
+ "type": "string",
17589
+ "description": "The environment that this release plan is for.",
17590
+ "example": "production"
17591
+ },
17592
+ "createdByUserId": {
17593
+ "type": "number",
17594
+ "description": "Release template: The ID of the user who created this template.",
17595
+ "example": 53,
17596
+ "nullable": false
17597
+ },
17598
+ "createdAt": {
17599
+ "type": "string",
17600
+ "format": "date-time",
17601
+ "description": "The date and time that the release template was created.",
17602
+ "example": "2022-01-01T00:00:00Z",
17603
+ "nullable": false
17604
+ },
17605
+ "activeMilestoneId": {
17606
+ "type": "string",
17607
+ "description": "The ID of the currently active milestone in this release plan.",
17608
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW1",
17609
+ "nullable": true
17610
+ },
17611
+ "milestones": {
17612
+ "type": "array",
17613
+ "description": "A list of the milestones in this release template.",
17614
+ "items": {
17615
+ "$ref": "#/components/schemas/releasePlanMilestoneSchema"
17616
+ }
17617
+ },
17618
+ "releasePlanTemplateId": {
17619
+ "type": "string",
17620
+ "description": "The ID of the release plan template that this release plan is based on.",
17621
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2",
17622
+ "nullable": false
17623
+ }
17624
+ }
17625
+ },
17626
+ "releasePlanTemplateSchema": {
16946
17627
  "additionalProperties": false,
17628
+ "description": "Schema representing the creation of a release template.",
17629
+ "type": "object",
16947
17630
  "required": [
16948
- "environments"
17631
+ "id",
17632
+ "discriminator",
17633
+ "name",
17634
+ "createdByUserId",
17635
+ "createdAt"
16949
17636
  ],
16950
17637
  "properties": {
16951
- "environments": {
16952
- "description": "An array of environments to be ordered, each with a name and type.",
17638
+ "id": {
17639
+ "type": "string",
17640
+ "description": "The release plan/template's ID. Release template IDs are ulids.",
17641
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2",
17642
+ "nullable": false
17643
+ },
17644
+ "discriminator": {
17645
+ "type": "string",
17646
+ "description": "A field to distinguish between release plans and release templates.",
17647
+ "example": "template",
17648
+ "nullable": false,
17649
+ "enum": [
17650
+ "template"
17651
+ ]
17652
+ },
17653
+ "name": {
17654
+ "type": "string",
17655
+ "description": "The name of the release template.",
17656
+ "example": "My release plan"
17657
+ },
17658
+ "description": {
17659
+ "type": "string",
17660
+ "description": "A description of the release template.",
17661
+ "example": "This is my release plan",
17662
+ "nullable": true
17663
+ },
17664
+ "createdByUserId": {
17665
+ "type": "number",
17666
+ "description": "Release template: The ID of the user who created this template.",
17667
+ "example": 53,
17668
+ "nullable": false
17669
+ },
17670
+ "createdAt": {
17671
+ "type": "string",
17672
+ "format": "date-time",
17673
+ "description": "The date and time that the release template was created.",
17674
+ "example": "2022-01-01T00:00:00Z",
17675
+ "nullable": false
17676
+ },
17677
+ "milestones": {
16953
17678
  "type": "array",
17679
+ "description": "A list of the milestones in this release template.",
16954
17680
  "items": {
16955
- "type": "object",
16956
- "properties": {
16957
- "name": {
16958
- "type": "string",
16959
- "description": "The name of the environment."
16960
- },
16961
- "type": {
16962
- "type": "string",
16963
- "description": "The type of the environment."
16964
- }
16965
- },
16966
- "required": [
16967
- "name",
16968
- "type"
16969
- ],
16970
- "additionalProperties": false
17681
+ "$ref": "#/components/schemas/releasePlanMilestoneSchema"
17682
+ }
17683
+ }
17684
+ }
17685
+ },
17686
+ "releasePlanMilestoneSchema": {
17687
+ "additionalProperties": false,
17688
+ "description": "Schema representing the creation of a release plan milestone.",
17689
+ "type": "object",
17690
+ "required": [
17691
+ "id",
17692
+ "name",
17693
+ "sortOrder",
17694
+ "releasePlanDefinitionId"
17695
+ ],
17696
+ "properties": {
17697
+ "id": {
17698
+ "type": "string",
17699
+ "description": "The milestone's ID. Milestone IDs are ulids.",
17700
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW1",
17701
+ "nullable": false
17702
+ },
17703
+ "name": {
17704
+ "type": "string",
17705
+ "description": "The name of the milestone.",
17706
+ "example": "My milestone"
17707
+ },
17708
+ "sortOrder": {
17709
+ "type": "integer",
17710
+ "description": "The order of the milestone in the release plan.",
17711
+ "example": 1
17712
+ },
17713
+ "releasePlanDefinitionId": {
17714
+ "type": "string",
17715
+ "description": "The ID of the release plan/template that this milestone belongs to.",
17716
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2"
17717
+ },
17718
+ "strategies": {
17719
+ "type": "array",
17720
+ "description": "A list of strategies that are attached to this milestone.",
17721
+ "items": {
17722
+ "$ref": "#/components/schemas/releasePlanMilestoneStrategySchema"
17723
+ }
17724
+ }
17725
+ }
17726
+ },
17727
+ "releasePlanMilestoneStrategySchema": {
17728
+ "additionalProperties": false,
17729
+ "description": "Schema representing the creation of a release plan milestone strategy.",
17730
+ "type": "object",
17731
+ "required": [
17732
+ "id",
17733
+ "milestoneId",
17734
+ "sortOrder",
17735
+ "strategyName"
17736
+ ],
17737
+ "properties": {
17738
+ "id": {
17739
+ "type": "string",
17740
+ "description": "The milestone strategy's ID. Milestone strategy IDs are ulids.",
17741
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW3",
17742
+ "nullable": false
17743
+ },
17744
+ "milestoneId": {
17745
+ "type": "string",
17746
+ "description": "The ID of the milestone that this strategy belongs to.",
17747
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW1"
17748
+ },
17749
+ "sortOrder": {
17750
+ "type": "number",
17751
+ "description": "The order of the strategy in the list",
17752
+ "example": 9999
17753
+ },
17754
+ "title": {
17755
+ "type": "string",
17756
+ "nullable": true,
17757
+ "description": "A descriptive title for the strategy",
17758
+ "example": "Gradual Rollout 25-Prod"
17759
+ },
17760
+ "strategyName": {
17761
+ "type": "string",
17762
+ "description": "The name of the strategy type",
17763
+ "example": "flexibleRollout"
17764
+ },
17765
+ "parameters": {
17766
+ "description": "An object containing the parameters for the strategy",
17767
+ "example": {
17768
+ "groupId": "some_new",
17769
+ "rollout": "25",
17770
+ "stickiness": "sessionId"
16971
17771
  },
17772
+ "$ref": "#/components/schemas/parametersSchema"
17773
+ },
17774
+ "constraints": {
17775
+ "type": "array",
17776
+ "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints",
16972
17777
  "example": [
16973
17778
  {
16974
- "name": "development",
16975
- "type": "test"
16976
- },
17779
+ "values": [
17780
+ "1",
17781
+ "2"
17782
+ ],
17783
+ "inverted": false,
17784
+ "operator": "IN",
17785
+ "contextName": "appName",
17786
+ "caseInsensitive": false
17787
+ }
17788
+ ],
17789
+ "items": {
17790
+ "$ref": "#/components/schemas/constraintSchema"
17791
+ }
17792
+ },
17793
+ "variants": {
17794
+ "type": "array",
17795
+ "description": "Strategy level variants",
17796
+ "items": {
17797
+ "$ref": "#/components/schemas/createStrategyVariantSchema"
17798
+ }
17799
+ },
17800
+ "segments": {
17801
+ "type": "array",
17802
+ "description": "Ids of segments to use for this strategy",
17803
+ "example": [
17804
+ 1,
17805
+ 2
17806
+ ],
17807
+ "items": {
17808
+ "type": "number"
17809
+ }
17810
+ }
17811
+ }
17812
+ },
17813
+ "createReleasePlanTemplateSchema": {
17814
+ "additionalProperties": false,
17815
+ "description": "Schema representing the creation of a release template.",
17816
+ "type": "object",
17817
+ "required": [
17818
+ "name"
17819
+ ],
17820
+ "properties": {
17821
+ "name": {
17822
+ "type": "string",
17823
+ "description": "The name of the release template.",
17824
+ "example": "My release plan"
17825
+ },
17826
+ "description": {
17827
+ "type": "string",
17828
+ "description": "A description of the release template.",
17829
+ "example": "This is my release plan",
17830
+ "nullable": true
17831
+ },
17832
+ "milestones": {
17833
+ "type": "array",
17834
+ "description": "A list of the milestones in this release template.",
17835
+ "items": {
17836
+ "$ref": "#/components/schemas/createReleasePlanMilestoneSchema"
17837
+ }
17838
+ }
17839
+ }
17840
+ },
17841
+ "createReleasePlanMilestoneSchema": {
17842
+ "additionalProperties": false,
17843
+ "description": "Schema representing the creation of a release plan milestone.",
17844
+ "type": "object",
17845
+ "required": [
17846
+ "name",
17847
+ "sortOrder"
17848
+ ],
17849
+ "properties": {
17850
+ "name": {
17851
+ "type": "string",
17852
+ "description": "The name of the milestone.",
17853
+ "example": "My milestone"
17854
+ },
17855
+ "sortOrder": {
17856
+ "type": "integer",
17857
+ "description": "The order of the milestone in the release plan.",
17858
+ "example": 1
17859
+ },
17860
+ "strategies": {
17861
+ "type": "array",
17862
+ "description": "A list of strategies that are attached to this milestone.",
17863
+ "items": {
17864
+ "$ref": "#/components/schemas/createReleasePlanMilestoneStrategySchema"
17865
+ }
17866
+ }
17867
+ }
17868
+ },
17869
+ "createReleasePlanMilestoneStrategySchema": {
17870
+ "additionalProperties": false,
17871
+ "description": "Schema representing the creation of a release plan milestone strategy.",
17872
+ "type": "object",
17873
+ "required": [
17874
+ "sortOrder",
17875
+ "strategyName"
17876
+ ],
17877
+ "properties": {
17878
+ "sortOrder": {
17879
+ "type": "number",
17880
+ "description": "The order of the strategy in the list",
17881
+ "example": 9999
17882
+ },
17883
+ "title": {
17884
+ "type": "string",
17885
+ "nullable": true,
17886
+ "description": "A descriptive title for the strategy",
17887
+ "example": "Gradual Rollout 25-Prod"
17888
+ },
17889
+ "strategyName": {
17890
+ "type": "string",
17891
+ "description": "The name of the strategy type",
17892
+ "example": "flexibleRollout"
17893
+ },
17894
+ "parameters": {
17895
+ "description": "An object containing the parameters for the strategy",
17896
+ "example": {
17897
+ "groupId": "some_new",
17898
+ "rollout": "25",
17899
+ "stickiness": "sessionId"
17900
+ },
17901
+ "$ref": "#/components/schemas/parametersSchema"
17902
+ },
17903
+ "constraints": {
17904
+ "type": "array",
17905
+ "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints",
17906
+ "example": [
16977
17907
  {
16978
- "name": "production",
16979
- "type": "live"
16980
- },
17908
+ "values": [
17909
+ "1",
17910
+ "2"
17911
+ ],
17912
+ "inverted": false,
17913
+ "operator": "IN",
17914
+ "contextName": "appName",
17915
+ "caseInsensitive": false
17916
+ }
17917
+ ],
17918
+ "items": {
17919
+ "$ref": "#/components/schemas/constraintSchema"
17920
+ }
17921
+ },
17922
+ "variants": {
17923
+ "type": "array",
17924
+ "description": "Strategy level variants",
17925
+ "items": {
17926
+ "$ref": "#/components/schemas/createStrategyVariantSchema"
17927
+ }
17928
+ },
17929
+ "segments": {
17930
+ "type": "array",
17931
+ "description": "Ids of segments to use for this strategy",
17932
+ "example": [
17933
+ 1,
17934
+ 2
17935
+ ],
17936
+ "items": {
17937
+ "type": "number"
17938
+ }
17939
+ }
17940
+ }
17941
+ },
17942
+ "updateReleasePlanTemplateSchema": {
17943
+ "additionalProperties": false,
17944
+ "description": "Schema representing the update of a release template.",
17945
+ "type": "object",
17946
+ "required": [
17947
+ "id",
17948
+ "name"
17949
+ ],
17950
+ "properties": {
17951
+ "id": {
17952
+ "type": "string",
17953
+ "description": "The release plan/template's ID. Release template IDs are ulids.",
17954
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2",
17955
+ "nullable": false
17956
+ },
17957
+ "name": {
17958
+ "type": "string",
17959
+ "description": "The name of the release template.",
17960
+ "example": "My release plan"
17961
+ },
17962
+ "description": {
17963
+ "type": "string",
17964
+ "description": "A description of the release template.",
17965
+ "example": "This is my release plan",
17966
+ "nullable": true
17967
+ },
17968
+ "milestones": {
17969
+ "type": "array",
17970
+ "description": "A list of the milestones in this release template.",
17971
+ "items": {
17972
+ "$ref": "#/components/schemas/createReleasePlanMilestoneSchema"
17973
+ },
17974
+ "nullable": true
17975
+ }
17976
+ }
17977
+ },
17978
+ "updateReleasePlanMilestoneSchema": {
17979
+ "additionalProperties": false,
17980
+ "description": "Schema representing the update of a release plan milestone.",
17981
+ "type": "object",
17982
+ "required": [
17983
+ "name",
17984
+ "sortOrder",
17985
+ "releasePlanDefinitionId"
17986
+ ],
17987
+ "properties": {
17988
+ "name": {
17989
+ "type": "string",
17990
+ "description": "The name of the milestone.",
17991
+ "example": "My milestone"
17992
+ },
17993
+ "sortOrder": {
17994
+ "type": "integer",
17995
+ "description": "The order of the milestone in the release plan.",
17996
+ "example": 1
17997
+ },
17998
+ "releasePlanDefinitionId": {
17999
+ "type": "string",
18000
+ "description": "The ID of the release plan/template that this milestone belongs to.",
18001
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2"
18002
+ },
18003
+ "strategies": {
18004
+ "type": "array",
18005
+ "description": "A list of strategies that are attached to this milestone.",
18006
+ "items": {
18007
+ "$ref": "#/components/schemas/updateReleasePlanMilestoneStrategySchema"
18008
+ }
18009
+ }
18010
+ }
18011
+ },
18012
+ "updateReleasePlanMilestoneStrategySchema": {
18013
+ "additionalProperties": false,
18014
+ "description": "Schema representing the update of a release plan milestone.",
18015
+ "type": "object",
18016
+ "required": [
18017
+ "milestoneId",
18018
+ "sortOrder",
18019
+ "strategyName"
18020
+ ],
18021
+ "properties": {
18022
+ "id": {
18023
+ "type": "string",
18024
+ "description": "The milestone strategy's ID. Milestone strategy IDs are ulids.",
18025
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW3"
18026
+ },
18027
+ "milestoneId": {
18028
+ "type": "string",
18029
+ "description": "The ID of the milestone that this strategy belongs to.",
18030
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW1",
18031
+ "nullable": false
18032
+ },
18033
+ "sortOrder": {
18034
+ "type": "number",
18035
+ "description": "The order of the strategy in the list",
18036
+ "example": 9999
18037
+ },
18038
+ "title": {
18039
+ "type": "string",
18040
+ "nullable": true,
18041
+ "description": "A descriptive title for the strategy",
18042
+ "example": "Gradual Rollout 25-Prod"
18043
+ },
18044
+ "strategyName": {
18045
+ "type": "string",
18046
+ "description": "The name of the strategy type",
18047
+ "example": "flexibleRollout"
18048
+ },
18049
+ "parameters": {
18050
+ "description": "An object containing the parameters for the strategy",
18051
+ "example": {
18052
+ "groupId": "some_new",
18053
+ "rollout": "25",
18054
+ "stickiness": "sessionId"
18055
+ },
18056
+ "$ref": "#/components/schemas/parametersSchema"
18057
+ },
18058
+ "constraints": {
18059
+ "type": "array",
18060
+ "description": "A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/activation-strategies#constraints",
18061
+ "example": [
16981
18062
  {
16982
- "name": "staging",
16983
- "type": "pre-prod"
18063
+ "values": [
18064
+ "1",
18065
+ "2"
18066
+ ],
18067
+ "inverted": false,
18068
+ "operator": "IN",
18069
+ "contextName": "appName",
18070
+ "caseInsensitive": false
16984
18071
  }
16985
- ]
18072
+ ],
18073
+ "items": {
18074
+ "$ref": "#/components/schemas/constraintSchema"
18075
+ }
18076
+ },
18077
+ "variants": {
18078
+ "type": "array",
18079
+ "description": "Strategy level variants",
18080
+ "items": {
18081
+ "$ref": "#/components/schemas/createStrategyVariantSchema"
18082
+ }
18083
+ },
18084
+ "segments": {
18085
+ "type": "array",
18086
+ "description": "Ids of segments to use for this strategy",
18087
+ "example": [
18088
+ 1,
18089
+ 2
18090
+ ],
18091
+ "items": {
18092
+ "type": "number"
18093
+ }
18094
+ }
18095
+ }
18096
+ },
18097
+ "releasePlanTemplateIdSchema": {
18098
+ "additionalProperties": false,
18099
+ "description": "Schema for creating a release plan for a feature flag environment by copying and applying the configuration from a release plan template.",
18100
+ "type": "object",
18101
+ "required": [
18102
+ "templateId"
18103
+ ],
18104
+ "properties": {
18105
+ "templateId": {
18106
+ "type": "string",
18107
+ "description": "The release plan template's ID. Release template IDs are ulids.",
18108
+ "example": "01JB9GGTGQYEQ9D40R17T3YVW2",
18109
+ "nullable": false
16986
18110
  }
16987
18111
  }
16988
18112
  }
@@ -17111,7 +18235,7 @@
17111
18235
  },
17112
18236
  {
17113
18237
  "name": "Tags",
17114
- "description": "Create, update, and delete [tags and tag types](https://docs.getunleash.io/reference/tags)."
18238
+ "description": "Create, update, and delete [tags and tag types](https://docs.getunleash.io/reference/feature-toggles#tags)."
17115
18239
  },
17116
18240
  {
17117
18241
  "name": "Telemetry",
@@ -20153,8 +21277,309 @@
20153
21277
  }
20154
21278
  }
20155
21279
  },
20156
- "415": {
20157
- "description": "The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.",
21280
+ "415": {
21281
+ "description": "The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the \"content-type\" header.",
21282
+ "content": {
21283
+ "application/json": {
21284
+ "schema": {
21285
+ "type": "object",
21286
+ "properties": {
21287
+ "id": {
21288
+ "type": "string",
21289
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
21290
+ "description": "The ID of the error instance"
21291
+ },
21292
+ "name": {
21293
+ "type": "string",
21294
+ "example": "ContentTypeerror",
21295
+ "description": "The name of the error kind"
21296
+ },
21297
+ "message": {
21298
+ "type": "string",
21299
+ "example": "We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.",
21300
+ "description": "A description of what went wrong."
21301
+ }
21302
+ }
21303
+ }
21304
+ }
21305
+ }
21306
+ }
21307
+ },
21308
+ "parameters": [
21309
+ {
21310
+ "name": "projectId",
21311
+ "in": "path",
21312
+ "required": true,
21313
+ "schema": {
21314
+ "type": "string"
21315
+ }
21316
+ },
21317
+ {
21318
+ "name": "featureName",
21319
+ "in": "path",
21320
+ "required": true,
21321
+ "schema": {
21322
+ "type": "string"
21323
+ }
21324
+ }
21325
+ ]
21326
+ }
21327
+ },
21328
+ "/api/admin/permissions": {
21329
+ "get": {
21330
+ "tags": [
21331
+ "Auth"
21332
+ ],
21333
+ "operationId": "getPermissions",
21334
+ "summary": "Gets available permissions",
21335
+ "description": "Returns a list of available permissions",
21336
+ "responses": {
21337
+ "200": {
21338
+ "description": "adminPermissionsSchema",
21339
+ "content": {
21340
+ "application/json": {
21341
+ "schema": {
21342
+ "$ref": "#/components/schemas/adminPermissionsSchema"
21343
+ }
21344
+ }
21345
+ }
21346
+ }
21347
+ }
21348
+ }
21349
+ },
21350
+ "/api/admin/metrics/rps": {
21351
+ "get": {
21352
+ "tags": [
21353
+ "Metrics"
21354
+ ],
21355
+ "operationId": "getRequestsPerSecond",
21356
+ "summary": "Gets usage data",
21357
+ "description": "Gets usage data per app/endpoint from a prometheus compatible metrics endpoint",
21358
+ "responses": {
21359
+ "200": {
21360
+ "description": "requestsPerSecondSegmentedSchema",
21361
+ "content": {
21362
+ "application/json": {
21363
+ "schema": {
21364
+ "$ref": "#/components/schemas/requestsPerSecondSegmentedSchema"
21365
+ }
21366
+ }
21367
+ }
21368
+ }
21369
+ }
21370
+ }
21371
+ },
21372
+ "/api/admin/metrics/traffic/{period}": {
21373
+ "get": {
21374
+ "tags": [
21375
+ "Metrics"
21376
+ ],
21377
+ "operationId": "getTrafficUsageDataForPeriod",
21378
+ "summary": "Gets traffic usage data for selected period",
21379
+ "description": "Gets traffic usage data numbers per API for a period given by the parameter",
21380
+ "responses": {
21381
+ "200": {
21382
+ "description": "trafficUsageDataSegmentedSchema",
21383
+ "content": {
21384
+ "application/json": {
21385
+ "schema": {
21386
+ "$ref": "#/components/schemas/trafficUsageDataSegmentedSchema"
21387
+ }
21388
+ }
21389
+ }
21390
+ }
21391
+ },
21392
+ "parameters": [
21393
+ {
21394
+ "name": "period",
21395
+ "in": "path",
21396
+ "required": true,
21397
+ "schema": {
21398
+ "type": "string"
21399
+ }
21400
+ }
21401
+ ]
21402
+ }
21403
+ },
21404
+ "/api/admin/notifications": {
21405
+ "get": {
21406
+ "summary": "Retrieves a list of notifications",
21407
+ "description": "A user may get relevant notifications from the projects they are a member of",
21408
+ "tags": [
21409
+ "Notifications"
21410
+ ],
21411
+ "operationId": "getNotifications",
21412
+ "responses": {
21413
+ "200": {
21414
+ "description": "notificationsSchema",
21415
+ "content": {
21416
+ "application/json": {
21417
+ "schema": {
21418
+ "$ref": "#/components/schemas/notificationsSchema"
21419
+ }
21420
+ }
21421
+ }
21422
+ }
21423
+ }
21424
+ }
21425
+ },
21426
+ "/api/admin/notifications/read": {
21427
+ "post": {
21428
+ "summary": "Mark notifications as read",
21429
+ "description": "Allow to select which notifications were read and saving a read date",
21430
+ "tags": [
21431
+ "Notifications"
21432
+ ],
21433
+ "operationId": "markNotificationsAsRead",
21434
+ "requestBody": {
21435
+ "description": "markNotificationsAsReadSchema",
21436
+ "required": true,
21437
+ "content": {
21438
+ "application/json": {
21439
+ "schema": {
21440
+ "$ref": "#/components/schemas/markNotificationsAsReadSchema"
21441
+ }
21442
+ }
21443
+ }
21444
+ },
21445
+ "responses": {
21446
+ "200": {
21447
+ "description": "This response has no body."
21448
+ }
21449
+ }
21450
+ }
21451
+ },
21452
+ "/api/admin/insights": {
21453
+ "get": {
21454
+ "tags": [
21455
+ "Unstable"
21456
+ ],
21457
+ "operationId": "getInstanceInsights",
21458
+ "responses": {
21459
+ "200": {
21460
+ "description": "instanceInsightsSchema",
21461
+ "content": {
21462
+ "application/json": {
21463
+ "schema": {
21464
+ "$ref": "#/components/schemas/instanceInsightsSchema"
21465
+ }
21466
+ }
21467
+ }
21468
+ }
21469
+ },
21470
+ "parameters": [
21471
+ {
21472
+ "name": "from",
21473
+ "schema": {
21474
+ "type": "string",
21475
+ "example": "2024-01-01"
21476
+ },
21477
+ "description": "The beginning of the date range in yyyy-MM-dd format",
21478
+ "in": "query"
21479
+ },
21480
+ {
21481
+ "name": "to",
21482
+ "schema": {
21483
+ "type": "string",
21484
+ "example": "2024-01-31"
21485
+ },
21486
+ "description": "The end of the date range in yyyy-MM-dd format",
21487
+ "in": "query"
21488
+ }
21489
+ ],
21490
+ "summary": "Get instance information",
21491
+ "description": "Gets high level information about the usage of this Unleash instance, including user, project, and flag information."
21492
+ }
21493
+ },
21494
+ "/api/admin/email-subscription/{subscription}": {
21495
+ "put": {
21496
+ "tags": [
21497
+ "Unstable"
21498
+ ],
21499
+ "operationId": "subscribeEmailSubscription",
21500
+ "responses": {
21501
+ "202": {
21502
+ "description": "This response has no body."
21503
+ },
21504
+ "401": {
21505
+ "description": "Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.",
21506
+ "content": {
21507
+ "application/json": {
21508
+ "schema": {
21509
+ "type": "object",
21510
+ "properties": {
21511
+ "id": {
21512
+ "type": "string",
21513
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
21514
+ "description": "The ID of the error instance"
21515
+ },
21516
+ "name": {
21517
+ "type": "string",
21518
+ "example": "AuthenticationRequired",
21519
+ "description": "The name of the error kind"
21520
+ },
21521
+ "message": {
21522
+ "type": "string",
21523
+ "example": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.",
21524
+ "description": "A description of what went wrong."
21525
+ }
21526
+ }
21527
+ }
21528
+ }
21529
+ }
21530
+ },
21531
+ "404": {
21532
+ "description": "The requested resource was not found.",
21533
+ "content": {
21534
+ "application/json": {
21535
+ "schema": {
21536
+ "type": "object",
21537
+ "properties": {
21538
+ "id": {
21539
+ "type": "string",
21540
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
21541
+ "description": "The ID of the error instance"
21542
+ },
21543
+ "name": {
21544
+ "type": "string",
21545
+ "example": "NotFoundError",
21546
+ "description": "The name of the error kind"
21547
+ },
21548
+ "message": {
21549
+ "type": "string",
21550
+ "example": "Could not find the addon with ID \"12345\".",
21551
+ "description": "A description of what went wrong."
21552
+ }
21553
+ }
21554
+ }
21555
+ }
21556
+ }
21557
+ }
21558
+ },
21559
+ "summary": "Subscribe to email subscription",
21560
+ "description": "Subscribe to email subscription e.g. monthly productivity report. By default everyone is subscribed. This API is mostly used by hosted Unleash.",
21561
+ "parameters": [
21562
+ {
21563
+ "name": "subscription",
21564
+ "in": "path",
21565
+ "required": true,
21566
+ "schema": {
21567
+ "type": "string"
21568
+ }
21569
+ }
21570
+ ]
21571
+ },
21572
+ "delete": {
21573
+ "tags": [
21574
+ "Unstable"
21575
+ ],
21576
+ "operationId": "unsubscribeEmailSubscription",
21577
+ "responses": {
21578
+ "202": {
21579
+ "description": "This response has no body."
21580
+ },
21581
+ "401": {
21582
+ "description": "Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.",
20158
21583
  "content": {
20159
21584
  "application/json": {
20160
21585
  "schema": {
@@ -20167,107 +21592,52 @@
20167
21592
  },
20168
21593
  "name": {
20169
21594
  "type": "string",
20170
- "example": "ContentTypeerror",
21595
+ "example": "AuthenticationRequired",
20171
21596
  "description": "The name of the error kind"
20172
21597
  },
20173
21598
  "message": {
20174
21599
  "type": "string",
20175
- "example": "We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format.",
21600
+ "example": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.",
20176
21601
  "description": "A description of what went wrong."
20177
21602
  }
20178
21603
  }
20179
21604
  }
20180
21605
  }
20181
21606
  }
20182
- }
20183
- },
20184
- "parameters": [
20185
- {
20186
- "name": "projectId",
20187
- "in": "path",
20188
- "required": true,
20189
- "schema": {
20190
- "type": "string"
20191
- }
20192
21607
  },
20193
- {
20194
- "name": "featureName",
20195
- "in": "path",
20196
- "required": true,
20197
- "schema": {
20198
- "type": "string"
20199
- }
20200
- }
20201
- ]
20202
- }
20203
- },
20204
- "/api/admin/permissions": {
20205
- "get": {
20206
- "tags": [
20207
- "Auth"
20208
- ],
20209
- "operationId": "getPermissions",
20210
- "summary": "Gets available permissions",
20211
- "description": "Returns a list of available permissions",
20212
- "responses": {
20213
- "200": {
20214
- "description": "adminPermissionsSchema",
20215
- "content": {
20216
- "application/json": {
20217
- "schema": {
20218
- "$ref": "#/components/schemas/adminPermissionsSchema"
20219
- }
20220
- }
20221
- }
20222
- }
20223
- }
20224
- }
20225
- },
20226
- "/api/admin/metrics/rps": {
20227
- "get": {
20228
- "tags": [
20229
- "Metrics"
20230
- ],
20231
- "operationId": "getRequestsPerSecond",
20232
- "summary": "Gets usage data",
20233
- "description": "Gets usage data per app/endpoint from a prometheus compatible metrics endpoint",
20234
- "responses": {
20235
- "200": {
20236
- "description": "requestsPerSecondSegmentedSchema",
20237
- "content": {
20238
- "application/json": {
20239
- "schema": {
20240
- "$ref": "#/components/schemas/requestsPerSecondSegmentedSchema"
20241
- }
20242
- }
20243
- }
20244
- }
20245
- }
20246
- }
20247
- },
20248
- "/api/admin/metrics/traffic/{period}": {
20249
- "get": {
20250
- "tags": [
20251
- "Metrics"
20252
- ],
20253
- "operationId": "getTrafficUsageDataForPeriod",
20254
- "summary": "Gets traffic usage data for selected period",
20255
- "description": "Gets traffic usage data numbers per API for a period given by the parameter",
20256
- "responses": {
20257
- "200": {
20258
- "description": "trafficUsageDataSegmentedSchema",
21608
+ "404": {
21609
+ "description": "The requested resource was not found.",
20259
21610
  "content": {
20260
21611
  "application/json": {
20261
21612
  "schema": {
20262
- "$ref": "#/components/schemas/trafficUsageDataSegmentedSchema"
21613
+ "type": "object",
21614
+ "properties": {
21615
+ "id": {
21616
+ "type": "string",
21617
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
21618
+ "description": "The ID of the error instance"
21619
+ },
21620
+ "name": {
21621
+ "type": "string",
21622
+ "example": "NotFoundError",
21623
+ "description": "The name of the error kind"
21624
+ },
21625
+ "message": {
21626
+ "type": "string",
21627
+ "example": "Could not find the addon with ID \"12345\".",
21628
+ "description": "A description of what went wrong."
21629
+ }
21630
+ }
20263
21631
  }
20264
21632
  }
20265
21633
  }
20266
21634
  }
20267
21635
  },
21636
+ "summary": "Unsubscribe from email subscription",
21637
+ "description": "Unsubscribe from email subscription e.g. monthly productivity report. This API is mostly used by hosted Unleash.",
20268
21638
  "parameters": [
20269
21639
  {
20270
- "name": "period",
21640
+ "name": "subscription",
20271
21641
  "in": "path",
20272
21642
  "required": true,
20273
21643
  "schema": {
@@ -20277,96 +21647,6 @@
20277
21647
  ]
20278
21648
  }
20279
21649
  },
20280
- "/api/admin/notifications": {
20281
- "get": {
20282
- "summary": "Retrieves a list of notifications",
20283
- "description": "A user may get relevant notifications from the projects they are a member of",
20284
- "tags": [
20285
- "Notifications"
20286
- ],
20287
- "operationId": "getNotifications",
20288
- "responses": {
20289
- "200": {
20290
- "description": "notificationsSchema",
20291
- "content": {
20292
- "application/json": {
20293
- "schema": {
20294
- "$ref": "#/components/schemas/notificationsSchema"
20295
- }
20296
- }
20297
- }
20298
- }
20299
- }
20300
- }
20301
- },
20302
- "/api/admin/notifications/read": {
20303
- "post": {
20304
- "summary": "Mark notifications as read",
20305
- "description": "Allow to select which notifications were read and saving a read date",
20306
- "tags": [
20307
- "Notifications"
20308
- ],
20309
- "operationId": "markNotificationsAsRead",
20310
- "requestBody": {
20311
- "description": "markNotificationsAsReadSchema",
20312
- "required": true,
20313
- "content": {
20314
- "application/json": {
20315
- "schema": {
20316
- "$ref": "#/components/schemas/markNotificationsAsReadSchema"
20317
- }
20318
- }
20319
- }
20320
- },
20321
- "responses": {
20322
- "200": {
20323
- "description": "This response has no body."
20324
- }
20325
- }
20326
- }
20327
- },
20328
- "/api/admin/insights": {
20329
- "get": {
20330
- "tags": [
20331
- "Unstable"
20332
- ],
20333
- "operationId": "getInstanceInsights",
20334
- "responses": {
20335
- "200": {
20336
- "description": "instanceInsightsSchema",
20337
- "content": {
20338
- "application/json": {
20339
- "schema": {
20340
- "$ref": "#/components/schemas/instanceInsightsSchema"
20341
- }
20342
- }
20343
- }
20344
- }
20345
- },
20346
- "parameters": [
20347
- {
20348
- "name": "from",
20349
- "schema": {
20350
- "type": "string",
20351
- "example": "2024-01-01"
20352
- },
20353
- "description": "The beginning of the date range in yyyy-MM-dd format",
20354
- "in": "query"
20355
- },
20356
- {
20357
- "name": "to",
20358
- "schema": {
20359
- "type": "string",
20360
- "example": "2024-01-31"
20361
- },
20362
- "description": "The end of the date range in yyyy-MM-dd format",
20363
- "in": "query"
20364
- }
20365
- ],
20366
- "summary": "Get instance information",
20367
- "description": "Gets high level information about the usage of this Unleash instance, including user, project, and flag information."
20368
- }
20369
- },
20370
21650
  "/api/admin/dashboard/executive": {
20371
21651
  "get": {
20372
21652
  "tags": [
@@ -24629,6 +25909,17 @@
24629
25909
  "operationId": "deletePat",
24630
25910
  "summary": "Delete a personal access token (PAT) for the current user.",
24631
25911
  "description": "Deletes a [personal access token](https://docs.getunleash.io/how-to/how-to-create-personal-access-tokens) (PAT) belonging to the current user.",
25912
+ "parameters": [
25913
+ {
25914
+ "name": "id",
25915
+ "in": "path",
25916
+ "required": true,
25917
+ "schema": {
25918
+ "type": "integer"
25919
+ },
25920
+ "description": "a personal access token id"
25921
+ }
25922
+ ],
24632
25923
  "responses": {
24633
25924
  "200": {
24634
25925
  "description": "This response has no body."
@@ -24714,17 +26005,7 @@
24714
26005
  }
24715
26006
  }
24716
26007
  }
24717
- },
24718
- "parameters": [
24719
- {
24720
- "name": "id",
24721
- "in": "path",
24722
- "required": true,
24723
- "schema": {
24724
- "type": "string"
24725
- }
24726
- }
24727
- ]
26008
+ }
24728
26009
  }
24729
26010
  },
24730
26011
  "/api/admin/ui-config": {
@@ -24779,7 +26060,7 @@
24779
26060
  "Context"
24780
26061
  ],
24781
26062
  "summary": "Gets configured context fields",
24782
- "description": "Returns all configured [Context fields](https://docs.getunleash.io/how-to/how-to-define-custom-context-fields) that have been created.",
26063
+ "description": "Returns all configured [Context fields](https://docs.getunleash.io/reference/unleash-context) that have been created.",
24783
26064
  "operationId": "getContextFields",
24784
26065
  "responses": {
24785
26066
  "200": {
@@ -27828,6 +29109,17 @@
27828
29109
  "operationId": "changeUserPassword",
27829
29110
  "summary": "Change password for a user",
27830
29111
  "description": "Change password for a user as an admin",
29112
+ "parameters": [
29113
+ {
29114
+ "name": "id",
29115
+ "in": "path",
29116
+ "required": true,
29117
+ "schema": {
29118
+ "type": "integer"
29119
+ },
29120
+ "description": "a user id"
29121
+ }
29122
+ ],
27831
29123
  "requestBody": {
27832
29124
  "description": "passwordSchema",
27833
29125
  "required": true,
@@ -27924,17 +29216,7 @@
27924
29216
  }
27925
29217
  }
27926
29218
  }
27927
- },
27928
- "parameters": [
27929
- {
27930
- "name": "id",
27931
- "in": "path",
27932
- "required": true,
27933
- "schema": {
27934
- "type": "string"
27935
- }
27936
- }
27937
- ]
29219
+ }
27938
29220
  }
27939
29221
  },
27940
29222
  "/api/admin/user-admin/reset-password": {
@@ -28397,8 +29679,9 @@
28397
29679
  "in": "path",
28398
29680
  "required": true,
28399
29681
  "schema": {
28400
- "type": "string"
28401
- }
29682
+ "type": "integer"
29683
+ },
29684
+ "description": "a user id"
28402
29685
  },
28403
29686
  {
28404
29687
  "name": "project",
@@ -28589,6 +29872,17 @@
28589
29872
  "operationId": "getUser",
28590
29873
  "summary": "Get user",
28591
29874
  "description": "Will return a single user by id",
29875
+ "parameters": [
29876
+ {
29877
+ "name": "id",
29878
+ "in": "path",
29879
+ "required": true,
29880
+ "schema": {
29881
+ "type": "integer"
29882
+ },
29883
+ "description": "a user id"
29884
+ }
29885
+ ],
28592
29886
  "responses": {
28593
29887
  "200": {
28594
29888
  "description": "userSchema",
@@ -28681,17 +29975,7 @@
28681
29975
  }
28682
29976
  }
28683
29977
  }
28684
- },
28685
- "parameters": [
28686
- {
28687
- "name": "id",
28688
- "in": "path",
28689
- "required": true,
28690
- "schema": {
28691
- "type": "string"
28692
- }
28693
- }
28694
- ]
29978
+ }
28695
29979
  },
28696
29980
  "put": {
28697
29981
  "tags": [
@@ -28718,7 +30002,8 @@
28718
30002
  "required": true,
28719
30003
  "schema": {
28720
30004
  "type": "integer"
28721
- }
30005
+ },
30006
+ "description": "a user id"
28722
30007
  }
28723
30008
  ],
28724
30009
  "responses": {
@@ -28849,6 +30134,17 @@
28849
30134
  "operationId": "deleteUser",
28850
30135
  "summary": "Delete a user",
28851
30136
  "description": "Deletes the user with the given userId",
30137
+ "parameters": [
30138
+ {
30139
+ "name": "id",
30140
+ "in": "path",
30141
+ "required": true,
30142
+ "schema": {
30143
+ "type": "integer"
30144
+ },
30145
+ "description": "a user id"
30146
+ }
30147
+ ],
28852
30148
  "responses": {
28853
30149
  "200": {
28854
30150
  "description": "This response has no body."
@@ -28934,17 +30230,7 @@
28934
30230
  }
28935
30231
  }
28936
30232
  }
28937
- },
28938
- "parameters": [
28939
- {
28940
- "name": "id",
28941
- "in": "path",
28942
- "required": true,
28943
- "schema": {
28944
- "type": "string"
28945
- }
28946
- }
28947
- ]
30233
+ }
28948
30234
  }
28949
30235
  },
28950
30236
  "/api/admin/feedback": {
@@ -33813,7 +35099,7 @@
33813
35099
  ],
33814
35100
  "operationId": "addDefaultStrategyToProjectEnvironment",
33815
35101
  "summary": "Set environment-default strategy",
33816
- "description": "Sets a default strategy for this environment. Unleash will use this strategy by default when enabling a toggle. Use the wild card \"*\" for `:environment` to add to all environments. ",
35102
+ "description": "Sets a default strategy for this environment. Unleash will use this strategy by default when enabling a feature flag. Use the wild card \"*\" for `:environment` to add to all environments. ",
33817
35103
  "requestBody": {
33818
35104
  "description": "createFeatureStrategySchema",
33819
35105
  "required": true,
@@ -33889,6 +35175,7 @@
33889
35175
  "tags": [
33890
35176
  "Projects"
33891
35177
  ],
35178
+ "deprecated": true,
33892
35179
  "operationId": "getProjectHealthReport",
33893
35180
  "summary": "Get a health report for a project.",
33894
35181
  "description": "This endpoint returns a health report for the specified project. This data is used for [the technical debt dashboard](https://docs.getunleash.io/reference/technical-debt#the-technical-debt-dashboard)",
@@ -36051,6 +37338,119 @@
36051
37338
  ]
36052
37339
  }
36053
37340
  },
37341
+ "/api/admin/projects/{projectId}/status": {
37342
+ "get": {
37343
+ "tags": [
37344
+ "Unstable"
37345
+ ],
37346
+ "operationId": "getProjectStatus",
37347
+ "summary": "Get project status",
37348
+ "description": "This endpoint returns information on the status the project, including activities, health, resources, and aggregated flag lifecycle data.",
37349
+ "responses": {
37350
+ "200": {
37351
+ "description": "projectStatusSchema",
37352
+ "content": {
37353
+ "application/json": {
37354
+ "schema": {
37355
+ "$ref": "#/components/schemas/projectStatusSchema"
37356
+ }
37357
+ }
37358
+ }
37359
+ },
37360
+ "401": {
37361
+ "description": "Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`.",
37362
+ "content": {
37363
+ "application/json": {
37364
+ "schema": {
37365
+ "type": "object",
37366
+ "properties": {
37367
+ "id": {
37368
+ "type": "string",
37369
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
37370
+ "description": "The ID of the error instance"
37371
+ },
37372
+ "name": {
37373
+ "type": "string",
37374
+ "example": "AuthenticationRequired",
37375
+ "description": "The name of the error kind"
37376
+ },
37377
+ "message": {
37378
+ "type": "string",
37379
+ "example": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.",
37380
+ "description": "A description of what went wrong."
37381
+ }
37382
+ }
37383
+ }
37384
+ }
37385
+ }
37386
+ },
37387
+ "403": {
37388
+ "description": "The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation",
37389
+ "content": {
37390
+ "application/json": {
37391
+ "schema": {
37392
+ "type": "object",
37393
+ "properties": {
37394
+ "id": {
37395
+ "type": "string",
37396
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
37397
+ "description": "The ID of the error instance"
37398
+ },
37399
+ "name": {
37400
+ "type": "string",
37401
+ "example": "NoAccessError",
37402
+ "description": "The name of the error kind"
37403
+ },
37404
+ "message": {
37405
+ "type": "string",
37406
+ "example": "You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment.",
37407
+ "description": "A description of what went wrong."
37408
+ }
37409
+ }
37410
+ }
37411
+ }
37412
+ }
37413
+ },
37414
+ "404": {
37415
+ "description": "The requested resource was not found.",
37416
+ "content": {
37417
+ "application/json": {
37418
+ "schema": {
37419
+ "type": "object",
37420
+ "properties": {
37421
+ "id": {
37422
+ "type": "string",
37423
+ "example": "9c40958a-daac-400e-98fb-3bb438567008",
37424
+ "description": "The ID of the error instance"
37425
+ },
37426
+ "name": {
37427
+ "type": "string",
37428
+ "example": "NotFoundError",
37429
+ "description": "The name of the error kind"
37430
+ },
37431
+ "message": {
37432
+ "type": "string",
37433
+ "example": "Could not find the addon with ID \"12345\".",
37434
+ "description": "A description of what went wrong."
37435
+ }
37436
+ }
37437
+ }
37438
+ }
37439
+ }
37440
+ }
37441
+ },
37442
+ "parameters": [
37443
+ {
37444
+ "name": "projectId",
37445
+ "in": "path",
37446
+ "required": true,
37447
+ "schema": {
37448
+ "type": "string"
37449
+ }
37450
+ }
37451
+ ]
37452
+ }
37453
+ },
36054
37454
  "/api/admin/projects/{projectId}/features/{featureName}/lifecycle": {
36055
37455
  "get": {
36056
37456
  "tags": [
@@ -37886,7 +39286,7 @@
37886
39286
  "description": "instanceAdminStatsSchemaCsv",
37887
39287
  "content": {
37888
39288
  "text/csv": {
37889
- "example": "\"OIDCenabled\",\"SAMLenabled\",\"clientApps\",\"contextFields\",\"environments\",\"featureExports\",\"featureImports\",\"featureToggles\",\"archivedFeatureToggles\",\"groups\",\"instanceId\",\"projects\",\"roles\",\"customRootRoles\",\"customRootRolesInUse\",\"segments\",\"strategies\",\"sum\",\"timestamp\",\"users\",\"serviceAccounts\",\"apiTokens\",\"versionEnterprise\",\"versionOSS\",\"activeUsers\",\"productionChanges\",\"previousDayMetricsBucketsCount\",\"maxEnvironmentStrategies\",\"maxConstraints\",\"maxConstraintValues\"\ntrue,false,\"[{\"\"range\"\":\"\"allTime\"\",\"\"count\"\":15},{\"\"range\"\":\"\"30d\"\",\"\"count\"\":9},{\"\"range\"\":\"\"7d\"\",\"\"count\"\":5}]\",6,2,0,0,29,10,3,\"ed3861ae-78f9-4e8c-8e57-b57efc15f82b\",4,5,2,1,2,8,\"some-sha256-hash\",\"2023-07-12T10:00:00.000Z\",10,2,\"{}\",\"5.1.7\",\"5.1.7\",\"{\"\"last90\"\":15,\"\"last60\"\":12,\"\"last30\"\":10,\"\"last7\"\":5}\",\"{\"\"last30\"\":100,\"\"last60\"\":200,\"\"last90\"\":200}\",\"{\"\"variantCount\"\":100,\"\"enabledCount\"\":200}\",20,17,123",
39289
+ "example": "\"OIDCenabled\",\"SAMLenabled\",\"passwordAuthEnabled\",\"SCIMenabled\",\"clientApps\",\"contextFields\",\"environments\",\"featureExports\",\"featureImports\",\"featureToggles\",\"archivedFeatureToggles\",\"groups\",\"instanceId\",\"projects\",\"roles\",\"customRootRoles\",\"customRootRolesInUse\",\"segments\",\"strategies\",\"sum\",\"timestamp\",\"users\",\"licensedUsers\",\"serviceAccounts\",\"apiTokens\",\"versionEnterprise\",\"versionOSS\",\"activeUsers\",\"productionChanges\",\"previousDayMetricsBucketsCount\",\"maxEnvironmentStrategies\",\"maxConstraints\",\"maxConstraintValues\"\ntrue,false,true,false,\"[{\"\"range\"\":\"\"allTime\"\",\"\"count\"\":15},{\"\"range\"\":\"\"30d\"\",\"\"count\"\":9},{\"\"range\"\":\"\"7d\"\",\"\"count\"\":5}]\",6,2,0,0,29,10,3,\"ed3861ae-78f9-4e8c-8e57-b57efc15f82b\",4,5,2,1,2,8,\"some-sha256-hash\",\"2023-07-12T10:00:00.000Z\",10,12,2,\"{}\",\"5.1.7\",\"5.1.7\",\"{\"\"last90\"\":15,\"\"last60\"\":12,\"\"last30\"\":10,\"\"last7\"\":5}\",\"{\"\"last30\"\":100,\"\"last60\"\":200,\"\"last90\"\":200}\",\"{\"\"variantCount\"\":100,\"\"enabledCount\"\":200}\",20,17,123",
37890
39290
  "schema": {
37891
39291
  "type": "string"
37892
39292
  }
@@ -38571,6 +39971,17 @@
38571
39971
  "operationId": "getStrategiesBySegmentId",
38572
39972
  "summary": "Get strategies that reference segment",
38573
39973
  "description": "Retrieve all strategies that reference the specified segment.",
39974
+ "parameters": [
39975
+ {
39976
+ "name": "id",
39977
+ "in": "path",
39978
+ "required": true,
39979
+ "schema": {
39980
+ "type": "integer"
39981
+ },
39982
+ "description": "a segment id"
39983
+ }
39984
+ ],
38574
39985
  "responses": {
38575
39986
  "200": {
38576
39987
  "description": "segmentStrategiesSchema",
@@ -38582,23 +39993,24 @@
38582
39993
  }
38583
39994
  }
38584
39995
  }
38585
- },
39996
+ }
39997
+ }
39998
+ },
39999
+ "/api/admin/segments/{id}": {
40000
+ "delete": {
40001
+ "summary": "Deletes a segment by id",
40002
+ "description": "Deletes a segment by its id, if not found returns a 409 error",
38586
40003
  "parameters": [
38587
40004
  {
38588
40005
  "name": "id",
38589
40006
  "in": "path",
38590
40007
  "required": true,
38591
40008
  "schema": {
38592
- "type": "string"
38593
- }
40009
+ "type": "integer"
40010
+ },
40011
+ "description": "a segment id"
38594
40012
  }
38595
- ]
38596
- }
38597
- },
38598
- "/api/admin/segments/{id}": {
38599
- "delete": {
38600
- "summary": "Deletes a segment by id",
38601
- "description": "Deletes a segment by its id, if not found returns a 409 error",
40013
+ ],
38602
40014
  "tags": [
38603
40015
  "Segments"
38604
40016
  ],
@@ -38688,17 +40100,7 @@
38688
40100
  }
38689
40101
  }
38690
40102
  }
38691
- },
38692
- "parameters": [
38693
- {
38694
- "name": "id",
38695
- "in": "path",
38696
- "required": true,
38697
- "schema": {
38698
- "type": "string"
38699
- }
38700
- }
38701
- ]
40103
+ }
38702
40104
  },
38703
40105
  "put": {
38704
40106
  "summary": "Update segment by id",
@@ -38707,6 +40109,17 @@
38707
40109
  "Segments"
38708
40110
  ],
38709
40111
  "operationId": "updateSegment",
40112
+ "parameters": [
40113
+ {
40114
+ "name": "id",
40115
+ "in": "path",
40116
+ "required": true,
40117
+ "schema": {
40118
+ "type": "integer"
40119
+ },
40120
+ "description": "a segment id"
40121
+ }
40122
+ ],
38710
40123
  "requestBody": {
38711
40124
  "description": "upsertSegmentSchema",
38712
40125
  "required": true,
@@ -38857,17 +40270,7 @@
38857
40270
  }
38858
40271
  }
38859
40272
  }
38860
- },
38861
- "parameters": [
38862
- {
38863
- "name": "id",
38864
- "in": "path",
38865
- "required": true,
38866
- "schema": {
38867
- "type": "string"
38868
- }
38869
- }
38870
- ]
40273
+ }
38871
40274
  },
38872
40275
  "get": {
38873
40276
  "summary": "Get a segment",
@@ -38876,6 +40279,17 @@
38876
40279
  "Segments"
38877
40280
  ],
38878
40281
  "operationId": "getSegment",
40282
+ "parameters": [
40283
+ {
40284
+ "name": "id",
40285
+ "in": "path",
40286
+ "required": true,
40287
+ "schema": {
40288
+ "type": "integer"
40289
+ },
40290
+ "description": "a segment id"
40291
+ }
40292
+ ],
38879
40293
  "responses": {
38880
40294
  "200": {
38881
40295
  "description": "adminSegmentSchema",
@@ -38914,17 +40328,7 @@
38914
40328
  }
38915
40329
  }
38916
40330
  }
38917
- },
38918
- "parameters": [
38919
- {
38920
- "name": "id",
38921
- "in": "path",
38922
- "required": true,
38923
- "schema": {
38924
- "type": "string"
38925
- }
38926
- }
38927
- ]
40331
+ }
38928
40332
  }
38929
40333
  },
38930
40334
  "/api/admin/segments": {
@@ -39466,6 +40870,15 @@
39466
40870
  "description": "The flag to indicate if the favorite features should be returned first. By default it is set to false.",
39467
40871
  "in": "query"
39468
40872
  },
40873
+ {
40874
+ "name": "archived",
40875
+ "schema": {
40876
+ "type": "string",
40877
+ "example": "IS:true"
40878
+ },
40879
+ "description": "Whether to get results for archived feature flags or active feature flags. If `true`, Unleash will return only archived flags. If `false`, it will return only active flags.",
40880
+ "in": "query"
40881
+ },
39469
40882
  {
39470
40883
  "name": "createdAt",
39471
40884
  "schema": {
@@ -39765,6 +41178,28 @@
39765
41178
  }
39766
41179
  }
39767
41180
  },
41181
+ "/api/client/features/delta": {
41182
+ "get": {
41183
+ "summary": "Get partial updates (SDK)",
41184
+ "description": "Initially returns the full set of feature flags available to the provided API key. When called again with the returned etag, only returns the flags that have changed",
41185
+ "operationId": "getDelta",
41186
+ "tags": [
41187
+ "Unstable"
41188
+ ],
41189
+ "responses": {
41190
+ "200": {
41191
+ "description": "clientFeaturesSchema",
41192
+ "content": {
41193
+ "application/json": {
41194
+ "schema": {
41195
+ "$ref": "#/components/schemas/clientFeaturesSchema"
41196
+ }
41197
+ }
41198
+ }
41199
+ }
41200
+ }
41201
+ }
41202
+ },
39768
41203
  "/api/client/features/{featureName}": {
39769
41204
  "get": {
39770
41205
  "operationId": "getClientFeature",