@confighub/api 0.8.9 → 0.8.11

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.
Files changed (3) hide show
  1. package/dist/index.d.cts +1766 -177
  2. package/dist/index.d.ts +1766 -177
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -34,6 +34,30 @@ interface paths {
34
34
  patch: operations["BulkPatchComponents"];
35
35
  trace?: never;
36
36
  };
37
+ "/_service_account": {
38
+ parameters: {
39
+ query?: never;
40
+ header?: never;
41
+ path?: never;
42
+ cookie?: never;
43
+ };
44
+ get?: never;
45
+ put?: never;
46
+ post?: never;
47
+ /**
48
+ * Bulk delete multiple service accounts
49
+ * @description Delete multiple service accounts selected by query parameters
50
+ */
51
+ delete: operations["BulkDeleteServiceAccounts"];
52
+ options?: never;
53
+ head?: never;
54
+ /**
55
+ * Bulk patch multiple service accounts
56
+ * @description Apply JSON merge patch to multiple service accounts selected by query parameters
57
+ */
58
+ patch: operations["BulkPatchServiceAccounts"];
59
+ trace?: never;
60
+ };
37
61
  "/_space": {
38
62
  parameters: {
39
63
  query?: never;
@@ -641,12 +665,12 @@ interface paths {
641
665
  put?: never;
642
666
  /**
643
667
  * Add a bot User to a Group
644
- * @description Add the bot User of a BridgeWorker in the caller's Organization to the Group. Other Users' Group memberships are managed in the identity provider. An organization admin or manager may. So may a member of the Group who has Manage permission on the bot User's BridgeWorker. Adding a bot that is already a member does nothing. Returns the bot User with its GroupIDs.
668
+ * @description Add the User of a ServiceAccount, or the bot User of a BridgeWorker, in the caller's Organization to the Group. Other Users' Group memberships are managed in the identity provider. An organization admin or manager may. So may a member of the Group who has Manage permission on the bot User's ServiceAccount or BridgeWorker. Adding a bot that is already a member does nothing. Returns the bot User with its GroupIDs.
645
669
  */
646
670
  post: operations["AddGroupBotUser"];
647
671
  /**
648
672
  * Remove a bot User from a Group
649
- * @description Remove the bot User of a BridgeWorker in the caller's Organization from the Group. An organization admin or manager may. So may a member of the Group who has Manage permission on the bot User's BridgeWorker. Removing a bot that is not a member does nothing. Returns the bot User with its GroupIDs.
673
+ * @description Remove the User of a ServiceAccount, or the bot User of a BridgeWorker, in the caller's Organization from the Group. An organization admin or manager may. So may a member of the Group who has Manage permission on the bot User's ServiceAccount or BridgeWorker. Removing a bot that is not a member does nothing. Returns the bot User with its GroupIDs.
650
674
  */
651
675
  delete: operations["RemoveGroupBotUser"];
652
676
  options?: never;
@@ -1094,6 +1118,106 @@ interface paths {
1094
1118
  patch?: never;
1095
1119
  trace?: never;
1096
1120
  };
1121
+ "/service_account": {
1122
+ parameters: {
1123
+ query?: never;
1124
+ header?: never;
1125
+ path?: never;
1126
+ cookie?: never;
1127
+ };
1128
+ /**
1129
+ * List ServiceAccounts
1130
+ * @description List ServiceAccounts
1131
+ */
1132
+ get: operations["ListServiceAccounts"];
1133
+ put?: never;
1134
+ /**
1135
+ * Create ServiceAccount
1136
+ * @description Create ServiceAccount
1137
+ */
1138
+ post: operations["CreateServiceAccount"];
1139
+ delete?: never;
1140
+ options?: never;
1141
+ head?: never;
1142
+ patch?: never;
1143
+ trace?: never;
1144
+ };
1145
+ "/service_account/{service_account_id}": {
1146
+ parameters: {
1147
+ query?: never;
1148
+ header?: never;
1149
+ path?: never;
1150
+ cookie?: never;
1151
+ };
1152
+ /**
1153
+ * Get ServiceAccount
1154
+ * @description Get ServiceAccount
1155
+ */
1156
+ get: operations["GetServiceAccount"];
1157
+ /**
1158
+ * Update ServiceAccount
1159
+ * @description Update ServiceAccount
1160
+ */
1161
+ put: operations["UpdateServiceAccount"];
1162
+ post?: never;
1163
+ /**
1164
+ * Delete ServiceAccount
1165
+ * @description Delete ServiceAccount
1166
+ */
1167
+ delete: operations["DeleteServiceAccount"];
1168
+ options?: never;
1169
+ head?: never;
1170
+ /**
1171
+ * Patch ServiceAccount
1172
+ * @description Patch ServiceAccount
1173
+ */
1174
+ patch: operations["PatchServiceAccount"];
1175
+ trace?: never;
1176
+ };
1177
+ "/service_account/{service_account_id}/key": {
1178
+ parameters: {
1179
+ query?: never;
1180
+ header?: never;
1181
+ path?: never;
1182
+ cookie?: never;
1183
+ };
1184
+ /**
1185
+ * List a service account's public keys
1186
+ * @description List the public keys registered for a service account. Keys are returned unredacted, deliberately: they are public material, and an operator noticing a key nobody registered is how an injected one is caught. Requires View permission on the service account.
1187
+ */
1188
+ get: operations["ListServiceAccountKeys"];
1189
+ put?: never;
1190
+ /**
1191
+ * Register a public key for a service account
1192
+ * @description Register a public key for a service account. The holder of the matching private key then authenticates as the service account by signing a short-lived assertion (RFC 7523 private_key_jwt), so no secret is exchanged and none is stored. Requires Impersonate permission on the service account, which Manage does not include; a service account cannot register a key for itself.
1193
+ */
1194
+ post: operations["CreateServiceAccountKey"];
1195
+ delete?: never;
1196
+ options?: never;
1197
+ head?: never;
1198
+ patch?: never;
1199
+ trace?: never;
1200
+ };
1201
+ "/service_account/{service_account_id}/key/{kid}": {
1202
+ parameters: {
1203
+ query?: never;
1204
+ header?: never;
1205
+ path?: never;
1206
+ cookie?: never;
1207
+ };
1208
+ get?: never;
1209
+ put?: never;
1210
+ post?: never;
1211
+ /**
1212
+ * Remove a public key from a service account
1213
+ * @description Remove one of a service account's public keys by its thumbprint. This is the second half of rotation, and the response to a compromised private key. Requires Impersonate permission on the service account.
1214
+ */
1215
+ delete: operations["DeleteServiceAccountKey"];
1216
+ options?: never;
1217
+ head?: never;
1218
+ patch?: never;
1219
+ trace?: never;
1220
+ };
1097
1221
  "/space": {
1098
1222
  parameters: {
1099
1223
  query?: never;
@@ -4911,6 +5035,11 @@ interface components {
4911
5035
  Unit?: components["schemas"]["Unit"];
4912
5036
  User?: components["schemas"]["User"];
4913
5037
  };
5038
+ ExtendedServiceAccount: {
5039
+ Error?: components["schemas"]["ResponseError"];
5040
+ Organization?: components["schemas"]["Organization"];
5041
+ ServiceAccount?: components["schemas"]["ServiceAccount"];
5042
+ };
4914
5043
  ExtendedSpace: {
4915
5044
  AttributeFilter?: components["schemas"]["Filter"];
4916
5045
  Attributes?: components["schemas"]["Attribute"][];
@@ -6338,6 +6467,10 @@ interface components {
6338
6467
  * @description Monotonically increasing sequence number of the Release within its Target, assigned at publish time. The highest ReleaseNum is the latest Release for the Target.
6339
6468
  */
6340
6469
  readonly ReleaseNum?: number;
6470
+ /** @description SkippedUnits names the Units assigned to the Release's Target that the Release does not bundle, mapped to the reason. Publishing with a TagID leaves out a Unit that has never been released and that the Tag marks no Revision of; a Unit that has been released must be marked. (readonly) */
6471
+ readonly SkippedUnits?: {
6472
+ [key: string]: string;
6473
+ };
6341
6474
  /**
6342
6475
  * Format: uuid
6343
6476
  * @example 248df4b7-aa70-47b8-a036-33ac447e668d
@@ -6439,7 +6572,7 @@ interface components {
6439
6572
  Permissions?: components["schemas"]["Permissions"];
6440
6573
  /**
6441
6574
  * Format: uuid
6442
- * @description Optional Tag ID identifying the tagged Revision to bundle. For each Unit assigned to the Space's ReleaseTarget, the highest-numbered Revision carrying this Tag is bundled at that Revision instead of the Unit's head Revision. A Unit with no matching tagged Revision falls back to its head Revision. When omitted, each Unit is bundled at its head Revision and publishing creates a Tag named release-<ReleaseNum>, applies it to each bundled Revision, and sets it as the Release's TagID.
6575
+ * @description Optional Tag ID identifying the tagged Revision to bundle. For each Unit assigned to the Space's ReleaseTarget, the highest-numbered Revision carrying this Tag is bundled at that Revision instead of the Unit's head Revision. A Unit with no matching tagged Revision is left out of the bundle and listed in the Release's SkippedUnits when it has never been released, and refuses the publish when it has. When omitted, each Unit is bundled at its head Revision and publishing creates a Tag named release-<ReleaseNum>, applies it to each bundled Revision, and sets it as the Release's TagID.
6443
6576
  * @example 248df4b7-aa70-47b8-a036-33ac447e668d
6444
6577
  */
6445
6578
  TagID?: string;
@@ -6965,6 +7098,72 @@ interface components {
6965
7098
  Slug?: string;
6966
7099
  SpaceSlug?: string;
6967
7100
  };
7101
+ /** @description An identity of the organization that is not a person and does not log in through the identity provider, such as an automation or an agent. Each ServiceAccount is backed by a User, which is what other entities' Permissions and Groups name to grant it access. The ServiceAccount's own Permissions say who may manage it. */
7102
+ ServiceAccount: {
7103
+ /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
7104
+ Annotations?: {
7105
+ [key: string]: string;
7106
+ };
7107
+ /**
7108
+ * Format: date-time
7109
+ * @description The timestamp when the entity was created in "2023-01-01T12:00:00Z" format.
7110
+ * @example 2025-04-04T11:50:02.95102-07:00
7111
+ */
7112
+ readonly CreatedAt?: string;
7113
+ /** @description An optional set of gates that, if any is present, will block deletion. */
7114
+ DeleteGates?: {
7115
+ [key: string]: boolean;
7116
+ };
7117
+ /** @description Friendly name for the entity. */
7118
+ DisplayName?: string;
7119
+ /** @description The type of entity. */
7120
+ readonly EntityType?: string;
7121
+ /** @description The reason the entity is hidden, if it is. A hidden entity is left out of List and Search results, and of what bulk operations act on, unless the include_hidden parameter names its reason or is *, or the where parameter names the entity by Slug or ID. ConfigHub/YAML Units are created hidden with the reason BackingUnit unless given another. */
7122
+ HiddenReason?: string;
7123
+ /** @description An optional map of Label key/value pairs to specify identifying attributes of entities for the purpose of grouping and filtering them. */
7124
+ Labels?: {
7125
+ [key: string]: string;
7126
+ };
7127
+ /** @description Organization-level role of the ServiceAccount's User. Defaults to none, which leaves the User with only the permissions granted to it. It cannot be set above the role of the caller setting it, and changing it requires Manage permission on the service account. */
7128
+ OrgRole?: string;
7129
+ /**
7130
+ * Format: uuid
7131
+ * @description Unique identifier for an organization.
7132
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
7133
+ */
7134
+ OrganizationID?: string;
7135
+ /** @description Permissions to access this service account. */
7136
+ Permissions?: components["schemas"]["Permissions"];
7137
+ /**
7138
+ * Format: uuid
7139
+ * @description Unique identifier for a service account.
7140
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
7141
+ */
7142
+ ServiceAccountID?: string;
7143
+ /** @description Unique URL-safe identifier for the entity. */
7144
+ Slug: string;
7145
+ /**
7146
+ * Format: date-time
7147
+ * @description The timestamp when the entity was last updated in "2023-01-01T12:00:00Z" format.
7148
+ * @example 2025-04-04T11:50:02.95102-07:00
7149
+ */
7150
+ readonly UpdatedAt?: string;
7151
+ /**
7152
+ * Format: uuid
7153
+ * @description The User the service account acts as. Grant the service account access to other entities by naming this User in their Permissions, or by adding it to a Group.
7154
+ * @example 248df4b7-aa70-47b8-a036-33ac447e668d
7155
+ */
7156
+ readonly UserID?: string;
7157
+ /**
7158
+ * Format: int64
7159
+ * @description An entity-specific sequence number used for optimistic concurrency control. The value read must be sent in calls to Update.
7160
+ */
7161
+ Version?: number;
7162
+ };
7163
+ ServiceAccountCreateOrUpdateResponse: {
7164
+ Error?: components["schemas"]["ResponseError"];
7165
+ ServiceAccount?: components["schemas"]["ServiceAccount"];
7166
+ };
6968
7167
  /** @description The logical container for most entities in ConfigHub. Namespaces triggers, units, targets, workers, and other entities. */
6969
7168
  Space: {
6970
7169
  /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
@@ -8971,12 +9170,12 @@ interface operations {
8971
9170
  };
8972
9171
  };
8973
9172
  };
8974
- BulkCreateSpaces: {
9173
+ BulkDeleteServiceAccounts: {
8975
9174
  parameters: {
8976
9175
  query?: {
8977
9176
  /**
8978
9177
  * @description The specified string is an expression for the purpose of filtering
8979
- * the list of Spaces returned. The expression syntax was inspired by SQL.
9178
+ * the list of ServiceAccounts returned. The expression syntax was inspired by SQL.
8980
9179
  * It supports conjunctions using `AND` of relational expressions of the form *attribute*
8981
9180
  * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
8982
9181
  * as in the JSON encoding.
@@ -9009,17 +9208,17 @@ interface operations {
9009
9208
  * An example conjunction is:
9010
9209
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9011
9210
  *
9012
- * Supported attributes for filtering on Space: Annotations, AttributeFilterID, AttributeHash, AttributeIDs, BackingUnitID, ComponentID, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrganizationID, Permissions, ReleaseTargetID, Slug, SpaceID, TriggerFilterID, TriggerHash, TriggerIDs, UpdatedAt, UpstreamSpaceID.
9211
+ * Supported attributes for filtering on ServiceAccount: Annotations, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrgRole, OrganizationID, Permissions, ServiceAccountID, Slug, UpdatedAt, UserID.
9013
9212
  *
9014
9213
  * The whole string must be query-encoded.
9015
9214
  */
9016
9215
  where?: string;
9017
9216
  /**
9018
- * @description UUID of a Filter entity to apply to the Space list.
9217
+ * @description UUID of a Filter entity to apply to the ServiceAccount list.
9019
9218
  *
9020
9219
  * The Filter must be in the same Organization as the user credentials.
9021
9220
  *
9022
- * The Filter's From field must match the entity type being filtered (Space).
9221
+ * The Filter's From field must match the entity type being filtered (ServiceAccount).
9023
9222
  *
9024
9223
  * For Space-resident entities, if the Filter has a FromSpaceID, it must match the operation's SpaceID.
9025
9224
  *
@@ -9041,13 +9240,13 @@ interface operations {
9041
9240
  *
9042
9241
  * If both 'where' and 'contains' parameters are specified, they are combined with AND logic.
9043
9242
  *
9044
- * Searchable fields for Space include string and map-type attributes from the queryable attributes list.
9243
+ * Searchable fields for ServiceAccount include string and map-type attributes from the queryable attributes list.
9045
9244
  *
9046
9245
  * The whole string must be query-encoded.
9047
9246
  */
9048
9247
  contains?: string;
9049
9248
  /**
9050
- * @description Hidden Space entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
9249
+ * @description Hidden ServiceAccount entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
9051
9250
  *
9052
9251
  * It is a comma-separated list of HiddenReasons, or `*` for all of them.
9053
9252
  *
@@ -9057,125 +9256,25 @@ interface operations {
9057
9256
  */
9058
9257
  include_hidden?: string;
9059
9258
  /**
9060
- * @description Include clause for expanding related entities in the response for Space.
9259
+ * @description Include clause for expanding related entities in the response for ServiceAccount.
9061
9260
  * The attribute names are case-sensitive, PascalCase, and
9062
9261
  * expected in a comma-separated list format as in the JSON encoding.
9063
9262
  *
9064
- * Supported attributes for Space are AttributeFilterID, AttributeIDs, ComponentID, OrganizationID, ReleaseTargetID, TriggerFilterID, TriggerIDs.
9263
+ * Supported attributes for ServiceAccount are OrganizationID.
9065
9264
  *
9066
9265
  * The whole string must be query-encoded.
9067
9266
  */
9068
9267
  include?: string;
9069
- /** @description Maximum number of Space entities to act on, in ID order. A request that names limit or continue also stops when it runs short of time, and returns a ConfigHub-Continue header to pass as the continue parameter of the next request; keep sending requests until a response has none. If neither is specified, the request acts on every selected entity. */
9268
+ /** @description Maximum number of ServiceAccount entities to act on, in ID order. A request that names limit or continue also stops when it runs short of time, and returns a ConfigHub-Continue header to pass as the continue parameter of the next request; keep sending requests until a response has none. If neither is specified, the request acts on every selected entity. */
9070
9269
  limit?: number;
9071
- /** @description The token from the ConfigHub-Continue header of the previous request, to act on the Space entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
9270
+ /** @description The token from the ConfigHub-Continue header of the previous request, to act on the ServiceAccount entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
9072
9271
  continue?: string;
9073
- /** @description Comma-separated list of prefixes to apply to cloned Space names */
9074
- name_prefixes?: string;
9075
- /** @description Comma-separated list of labels with multiple values for cloned Space labels, in the format of key1=value1|value2,key2=value1|value2|value3 */
9076
- variant_labels?: string;
9077
- /** @description A string for clone names, use the prefix 'template:' for a Go-template with .SourceEntitySlug to access the original entity's slug and .Labels to access variant labels, example: 'template:{{.SourceEntitySlug}}-{{.Labels.env}}' */
9078
- name_pattern?: string;
9079
- /** @description Allowed values are true and false. Default is false. When true, reports success when an entity already exists and returns the existing entity */
9080
- allow_exists?: string;
9081
- /** @description Give each Space written a backing Unit if it has none: a ConfigHub/YAML Unit holding the Space's configuration, which is then kept in step with it. */
9082
- with_backing_units?: boolean;
9083
- /** @description The Space, by slug or ID, for the backing Units with_backing_units creates. Required with it: a Space is in no Space of its own to hold one. */
9084
- backing_unit_space?: string;
9085
- /** @description Create Spaces from the ConfigHub/YAML Units where_unit and filter_unit select, each in its Unit's Space, and each with its Unit as its backing Unit. The request body is applied after the Unit's document. Units of other toolchains or describing other entity types are passed over; outstanding ValidationErrors on a Unit are an error. Takes none of the parameters that select entities to clone, name the clones or choose their Spaces. */
9086
- from_backing_units?: boolean;
9087
- /**
9088
- * @description The specified string is an expression for the purpose of filtering
9089
- * the list of Units returned. The expression syntax was inspired by SQL.
9090
- * It supports conjunctions using `AND` of relational expressions of the form *attribute*
9091
- * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
9092
- * as in the JSON encoding.
9093
- * Strings support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `LIKE`, `NOT LIKE`, `ILIKE`, `~~`, `!~~`, `~`, `~*`, `!~`, `!~*`, `IN`, `NOT IN`.
9094
- * String pattern operators: `LIKE` and `~~` for pattern matching with `%` and `_` wildcards,
9095
- * `ILIKE` for case-insensitive pattern matching, `NOT LIKE` and `!~~` for negated pattern matching.
9096
- * String regex operators: `~` for regex matching, `~*` for case-insensitive regex,
9097
- * `!~` and `!~*` for regex not matching (case-sensitive and insensitive).
9098
- * Integers support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `IN`, `NOT IN`.
9099
- * UUIDs and boolean attributes support equality and inequality only.
9100
- * UUID and time literals must be quoted as string literals.
9101
- * String literals are quoted with single quotes, such as `'string'`.
9102
- * Time literals use the same form as when serialized as JSON,
9103
- * such as: `CreatedAt > '2025-02-18T23:16:34'`.
9104
- * Integer and boolean literals are also supported for attributes of those types.
9105
- * Arrays support the `?` operator to to match any element of the array,
9106
- * as in `FromLinkID ? '7c61626f-ddbe-41af-93f6-b69f4ab6d308'`.
9107
- * Arrays can perform LEN() to check for length, as in `LEN(FromLinkID) > 0`.
9108
- * An attribute naming a list of other entities can be filtered on their attributes with a `*` segment,
9109
- * as in `FromLink.*.Slug = 'upgrade-app'`, which holds when any element satisfies it.
9110
- * Without the `*` such a reference is an error, since it names no single value to compare.
9111
- * Map support the dot notation to specify a particular map key, as in `Labels.tier = 'Backend'`.
9112
- * Maps support `IS NULL` and `IS NOT NULL` with dot notation to check for key absence or presence,
9113
- * as in `Labels.tier IS NULL` (key doesn't exist) or `Labels.tier IS NOT NULL` (key exists).
9114
- * Comparison results can be tested with `IS TRUE`, `IS FALSE`, `IS NOT TRUE`, and `IS NOT FALSE`.
9115
- * These are useful for nullable columns: `MergeSourceID = '<uuid>' IS NOT FALSE` matches rows where MergeSourceID equals the value OR is NULL.
9116
- * The `IN` and `NOT IN` operators accept a comma-separated list of values in parentheses,
9117
- * such as `Slug IN ('slugone', 'slugtwo')` or `Labels.environment IN ('prod', 'staging')`.
9118
- * Conjunctions are supported using the `AND` operator.
9119
- * An example conjunction is:
9120
- * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9121
- *
9122
- * Supported attributes for filtering on Unit: Annotations, ApplyGates, ApplyWarnings, ChangeSetID, Conflicts, CreatedAt, DataHash, DeleteGates, DestroyGates, DisplayName, FromLinkID, HeadRevisionID, HeadRevisionNum, HeadUnitActionNum, HeadUnitEventNum, HiddenReason, Labels, LastChangeDescription, LastReleasedRevisionNum, NeededPaths, OrganizationID, Permissions, ProvidedPaths, ProviderType, Slug, SpaceID, TargetID, ToolchainType, UnitID, UpdatedAt, UpstreamRevisionNum, UpstreamSpaceID, UpstreamUnitID, ValidationErrors, ValidationTriggerIDs, ValidationWarnings, ValueTriggerIDs, Values.
9123
- *
9124
- * The Units to create entities from, with from_backing_units.
9125
- *
9126
- * The whole string must be query-encoded.
9127
- */
9128
- where_unit?: string;
9129
- /** @description A Filter, by ID, over the Units to create entities from, with from_backing_units. */
9130
- filter_unit?: string;
9131
- /** @description With from_backing_units, patch a Space a selected Unit already backs with what the Unit holds that it has not taken yet, as a bulk patch with from_backing_units does, rather than report that the Unit backs it. The request body is applied after it. Without it, such a Unit is an error, or with allow_exists the Space is returned as it is. */
9132
- patch_existing?: boolean;
9133
- /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
9134
- dry_run?: boolean;
9135
9272
  };
9136
9273
  header?: never;
9137
9274
  path?: never;
9138
9275
  cookie?: never;
9139
9276
  };
9140
- requestBody?: {
9141
- content: {
9142
- "application/merge-patch+json": {
9143
- /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
9144
- Annotations?: {
9145
- [key: string]: string | null;
9146
- } | null;
9147
- /** Format: uuid */
9148
- AttributeFilterID?: string | null;
9149
- /** Format: uuid */
9150
- ComponentID?: string | null;
9151
- /** @description An optional set of gates that, if any is present, will block deletion */
9152
- DeleteGates?: {
9153
- [key: string]: boolean | null;
9154
- } | null;
9155
- /** @description Friendly name for the entity. */
9156
- DisplayName?: string | null;
9157
- /** @description The reason the entity is hidden, if it is. A hidden entity is left out of List and Search results, and of what bulk operations act on, unless the include_hidden parameter names its reason or is *, or the where parameter names the entity by Slug or ID. ConfigHub/YAML Units are created hidden with the reason BackingUnit unless given another. */
9158
- HiddenReason?: string | null;
9159
- /** @description An optional map of Label key/value pairs to specify identifying attributes of entities for the purpose of grouping and filtering them. */
9160
- Labels?: {
9161
- [key: string]: string | null;
9162
- } | null;
9163
- Permissions?: {
9164
- [key: string]: Record<string, never> | null;
9165
- } | null;
9166
- /** Format: uuid */
9167
- ReleaseTargetID?: string | null;
9168
- /** @description Unique URL-safe identifier for the entity. */
9169
- Slug?: string | null;
9170
- /** Format: uuid */
9171
- TriggerFilterID?: string | null;
9172
- /** @description An entity-specific sequence number used for optimistic concurrency control. The value read must be sent in calls to Update. */
9173
- Version?: number | null;
9174
- WhereAttribute?: string | null;
9175
- WhereTrigger?: string | null;
9176
- };
9177
- };
9178
- };
9277
+ requestBody?: never;
9179
9278
  responses: {
9180
9279
  /** @description OK */
9181
9280
  200: {
@@ -9185,19 +9284,19 @@ interface operations {
9185
9284
  [name: string]: unknown;
9186
9285
  };
9187
9286
  content: {
9188
- "application/json": components["schemas"]["SpaceCreateOrUpdateResponse"][];
9287
+ "application/json": components["schemas"]["DeleteResponse"][];
9189
9288
  };
9190
9289
  };
9191
- /** @description Multi-Status (partial success) */
9290
+ /** @description Multi-Status: Mixed success and failure results */
9192
9291
  207: {
9193
9292
  headers: {
9194
9293
  [name: string]: unknown;
9195
9294
  };
9196
9295
  content: {
9197
- "application/json": components["schemas"]["SpaceCreateOrUpdateResponse"][];
9296
+ "application/json": components["schemas"]["DeleteResponse"][];
9198
9297
  };
9199
9298
  };
9200
- /** @description Space request is invalid (Bad Request). */
9299
+ /** @description ServiceAccount request is invalid (Bad Request). */
9201
9300
  400: {
9202
9301
  headers: {
9203
9302
  [name: string]: unknown;
@@ -9224,7 +9323,7 @@ interface operations {
9224
9323
  "application/json": components["schemas"]["StandardErrorResponse"];
9225
9324
  };
9226
9325
  };
9227
- /** @description Space not found. */
9326
+ /** @description ServiceAccount not found. */
9228
9327
  404: {
9229
9328
  headers: {
9230
9329
  [name: string]: unknown;
@@ -9233,7 +9332,7 @@ interface operations {
9233
9332
  "application/json": components["schemas"]["StandardErrorResponse"];
9234
9333
  };
9235
9334
  };
9236
- /** @description Space data conflict. Data has changed since last read. */
9335
+ /** @description ServiceAccount is still in use: it has DeleteGates, or other entities still reference it. Or data has changed since last read. */
9237
9336
  409: {
9238
9337
  headers: {
9239
9338
  [name: string]: unknown;
@@ -9242,7 +9341,7 @@ interface operations {
9242
9341
  "application/json": components["schemas"]["StandardErrorResponse"];
9243
9342
  };
9244
9343
  };
9245
- /** @description A backing Unit has outstanding ValidationErrors */
9344
+ /** @description Unable to delete entity */
9246
9345
  422: {
9247
9346
  headers: {
9248
9347
  [name: string]: unknown;
@@ -9251,7 +9350,7 @@ interface operations {
9251
9350
  "application/json": components["schemas"]["StandardErrorResponse"];
9252
9351
  };
9253
9352
  };
9254
- /** @description Something went wrong while processing Space. */
9353
+ /** @description Something went wrong while processing ServiceAccount. */
9255
9354
  500: {
9256
9355
  headers: {
9257
9356
  [name: string]: unknown;
@@ -9271,12 +9370,12 @@ interface operations {
9271
9370
  };
9272
9371
  };
9273
9372
  };
9274
- BulkDeleteSpaces: {
9373
+ BulkPatchServiceAccounts: {
9275
9374
  parameters: {
9276
9375
  query?: {
9277
9376
  /**
9278
9377
  * @description The specified string is an expression for the purpose of filtering
9279
- * the list of Spaces returned. The expression syntax was inspired by SQL.
9378
+ * the list of ServiceAccounts returned. The expression syntax was inspired by SQL.
9280
9379
  * It supports conjunctions using `AND` of relational expressions of the form *attribute*
9281
9380
  * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
9282
9381
  * as in the JSON encoding.
@@ -9309,17 +9408,17 @@ interface operations {
9309
9408
  * An example conjunction is:
9310
9409
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9311
9410
  *
9312
- * Supported attributes for filtering on Space: Annotations, AttributeFilterID, AttributeHash, AttributeIDs, BackingUnitID, ComponentID, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrganizationID, Permissions, ReleaseTargetID, Slug, SpaceID, TriggerFilterID, TriggerHash, TriggerIDs, UpdatedAt, UpstreamSpaceID.
9411
+ * Supported attributes for filtering on ServiceAccount: Annotations, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrgRole, OrganizationID, Permissions, ServiceAccountID, Slug, UpdatedAt, UserID.
9313
9412
  *
9314
9413
  * The whole string must be query-encoded.
9315
9414
  */
9316
9415
  where?: string;
9317
9416
  /**
9318
- * @description UUID of a Filter entity to apply to the Space list.
9417
+ * @description UUID of a Filter entity to apply to the ServiceAccount list.
9319
9418
  *
9320
9419
  * The Filter must be in the same Organization as the user credentials.
9321
9420
  *
9322
- * The Filter's From field must match the entity type being filtered (Space).
9421
+ * The Filter's From field must match the entity type being filtered (ServiceAccount).
9323
9422
  *
9324
9423
  * For Space-resident entities, if the Filter has a FromSpaceID, it must match the operation's SpaceID.
9325
9424
  *
@@ -9341,13 +9440,13 @@ interface operations {
9341
9440
  *
9342
9441
  * If both 'where' and 'contains' parameters are specified, they are combined with AND logic.
9343
9442
  *
9344
- * Searchable fields for Space include string and map-type attributes from the queryable attributes list.
9443
+ * Searchable fields for ServiceAccount include string and map-type attributes from the queryable attributes list.
9345
9444
  *
9346
9445
  * The whole string must be query-encoded.
9347
9446
  */
9348
9447
  contains?: string;
9349
9448
  /**
9350
- * @description Hidden Space entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
9449
+ * @description Hidden ServiceAccount entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
9351
9450
  *
9352
9451
  * It is a comma-separated list of HiddenReasons, or `*` for all of them.
9353
9452
  *
@@ -9357,33 +9456,56 @@ interface operations {
9357
9456
  */
9358
9457
  include_hidden?: string;
9359
9458
  /**
9360
- * @description Include clause for expanding related entities in the response for Space.
9459
+ * @description Include clause for expanding related entities in the response for ServiceAccount.
9361
9460
  * The attribute names are case-sensitive, PascalCase, and
9362
9461
  * expected in a comma-separated list format as in the JSON encoding.
9363
9462
  *
9364
- * Supported attributes for Space are AttributeFilterID, AttributeIDs, ComponentID, OrganizationID, ReleaseTargetID, TriggerFilterID, TriggerIDs.
9463
+ * Supported attributes for ServiceAccount are OrganizationID.
9365
9464
  *
9366
9465
  * The whole string must be query-encoded.
9367
9466
  */
9368
9467
  include?: string;
9369
- /** @description Maximum number of Space entities to act on, in ID order. A request that names limit or continue also stops when it runs short of time, and returns a ConfigHub-Continue header to pass as the continue parameter of the next request; keep sending requests until a response has none. If neither is specified, the request acts on every selected entity. */
9468
+ /** @description Maximum number of ServiceAccount entities to act on, in ID order. A request that names limit or continue also stops when it runs short of time, and returns a ConfigHub-Continue header to pass as the continue parameter of the next request; keep sending requests until a response has none. If neither is specified, the request acts on every selected entity. */
9370
9469
  limit?: number;
9371
- /** @description The token from the ConfigHub-Continue header of the previous request, to act on the Space entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
9470
+ /** @description The token from the ConfigHub-Continue header of the previous request, to act on the ServiceAccount entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
9372
9471
  continue?: string;
9373
- /** @description Valid values are true and false. False is the default if unspecified. If true, recursively delete all entities within the deleted space(s) so long as none have delete gates. */
9374
- recursive?: string;
9375
- /** @description Valid values are true and false. False is the default if unspecified. If true, recursively delete all entities within the deleted space(s) regardless whether any have delete gates. */
9376
- recursive_force?: string;
9377
- /** @description If true, remove the references to the deleted entities from entities the request does not delete, instead of refusing the delete while any remain. References that cannot be removed still refuse it. For a Space, applies to everything the recursive delete removes. */
9378
- detach?: boolean;
9379
- /** @description Prune: of the Spaces selected, delete those whose backing Unit is empty, which says the Space should not exist, and keep the Unit, empty and backing nothing, so that it keeps the Space's history and a document that comes back revives it. The others are left alone and are not in the response, so a broad selection deletes only what was emptied. */
9380
- from_backing_units?: boolean;
9472
+ /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
9473
+ dry_run?: boolean;
9381
9474
  };
9382
9475
  header?: never;
9383
9476
  path?: never;
9384
9477
  cookie?: never;
9385
9478
  };
9386
- requestBody?: never;
9479
+ requestBody?: {
9480
+ content: {
9481
+ "application/merge-patch+json": {
9482
+ /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
9483
+ Annotations?: {
9484
+ [key: string]: string | null;
9485
+ } | null;
9486
+ /** @description An optional set of gates that, if any is present, will block deletion */
9487
+ DeleteGates?: {
9488
+ [key: string]: boolean | null;
9489
+ } | null;
9490
+ /** @description Friendly name for the entity. */
9491
+ DisplayName?: string | null;
9492
+ /** @description The reason the entity is hidden, if it is. A hidden entity is left out of List and Search results, and of what bulk operations act on, unless the include_hidden parameter names its reason or is *, or the where parameter names the entity by Slug or ID. ConfigHub/YAML Units are created hidden with the reason BackingUnit unless given another. */
9493
+ HiddenReason?: string | null;
9494
+ /** @description An optional map of Label key/value pairs to specify identifying attributes of entities for the purpose of grouping and filtering them. */
9495
+ Labels?: {
9496
+ [key: string]: string | null;
9497
+ } | null;
9498
+ OrgRole?: string | null;
9499
+ Permissions?: {
9500
+ [key: string]: Record<string, never> | null;
9501
+ } | null;
9502
+ /** @description Unique URL-safe identifier for the entity. */
9503
+ Slug?: string | null;
9504
+ /** @description An entity-specific sequence number used for optimistic concurrency control. The value read must be sent in calls to Update. */
9505
+ Version?: number | null;
9506
+ };
9507
+ };
9508
+ };
9387
9509
  responses: {
9388
9510
  /** @description OK */
9389
9511
  200: {
@@ -9393,7 +9515,7 @@ interface operations {
9393
9515
  [name: string]: unknown;
9394
9516
  };
9395
9517
  content: {
9396
- "application/json": components["schemas"]["DeleteResponse"][];
9518
+ "application/json": components["schemas"]["ServiceAccountCreateOrUpdateResponse"][];
9397
9519
  };
9398
9520
  };
9399
9521
  /** @description Multi-Status: Mixed success and failure results */
@@ -9402,10 +9524,10 @@ interface operations {
9402
9524
  [name: string]: unknown;
9403
9525
  };
9404
9526
  content: {
9405
- "application/json": components["schemas"]["DeleteResponse"][];
9527
+ "application/json": components["schemas"]["ServiceAccountCreateOrUpdateResponse"][];
9406
9528
  };
9407
9529
  };
9408
- /** @description Space request is invalid (Bad Request). */
9530
+ /** @description ServiceAccount request is invalid (Bad Request). */
9409
9531
  400: {
9410
9532
  headers: {
9411
9533
  [name: string]: unknown;
@@ -9432,7 +9554,7 @@ interface operations {
9432
9554
  "application/json": components["schemas"]["StandardErrorResponse"];
9433
9555
  };
9434
9556
  };
9435
- /** @description Space not found. */
9557
+ /** @description ServiceAccount not found. */
9436
9558
  404: {
9437
9559
  headers: {
9438
9560
  [name: string]: unknown;
@@ -9441,7 +9563,7 @@ interface operations {
9441
9563
  "application/json": components["schemas"]["StandardErrorResponse"];
9442
9564
  };
9443
9565
  };
9444
- /** @description Space is still in use: it has DeleteGates, or other entities still reference it. Or data has changed since last read. */
9566
+ /** @description ServiceAccount data conflict. Data has changed since last read. */
9445
9567
  409: {
9446
9568
  headers: {
9447
9569
  [name: string]: unknown;
@@ -9450,16 +9572,7 @@ interface operations {
9450
9572
  "application/json": components["schemas"]["StandardErrorResponse"];
9451
9573
  };
9452
9574
  };
9453
- /** @description Unable to delete entity */
9454
- 422: {
9455
- headers: {
9456
- [name: string]: unknown;
9457
- };
9458
- content: {
9459
- "application/json": components["schemas"]["StandardErrorResponse"];
9460
- };
9461
- };
9462
- /** @description Something went wrong while processing Space. */
9575
+ /** @description Something went wrong while processing ServiceAccount. */
9463
9576
  500: {
9464
9577
  headers: {
9465
9578
  [name: string]: unknown;
@@ -9479,7 +9592,7 @@ interface operations {
9479
9592
  };
9480
9593
  };
9481
9594
  };
9482
- BulkPatchSpaces: {
9595
+ BulkCreateSpaces: {
9483
9596
  parameters: {
9484
9597
  query?: {
9485
9598
  /**
@@ -9578,14 +9691,66 @@ interface operations {
9578
9691
  limit?: number;
9579
9692
  /** @description The token from the ConfigHub-Continue header of the previous request, to act on the Space entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
9580
9693
  continue?: string;
9581
- /** @description If true, re-list the Triggers the Space selects (with WhereTrigger and/or TriggerFilterID, or the ones in it with neither) even if these fields have not changed */
9582
- refresh_triggers?: boolean;
9694
+ /** @description Comma-separated list of prefixes to apply to cloned Space names */
9695
+ name_prefixes?: string;
9696
+ /** @description Comma-separated list of labels with multiple values for cloned Space labels, in the format of key1=value1|value2,key2=value1|value2|value3 */
9697
+ variant_labels?: string;
9698
+ /** @description A string for clone names, use the prefix 'template:' for a Go-template with .SourceEntitySlug to access the original entity's slug and .Labels to access variant labels, example: 'template:{{.SourceEntitySlug}}-{{.Labels.env}}' */
9699
+ name_pattern?: string;
9700
+ /** @description Allowed values are true and false. Default is false. When true, reports success when an entity already exists and returns the existing entity */
9701
+ allow_exists?: string;
9583
9702
  /** @description Give each Space written a backing Unit if it has none: a ConfigHub/YAML Unit holding the Space's configuration, which is then kept in step with it. */
9584
9703
  with_backing_units?: boolean;
9585
9704
  /** @description The Space, by slug or ID, for the backing Units with_backing_units creates. Required with it: a Space is in no Space of its own to hold one. */
9586
9705
  backing_unit_space?: string;
9587
- /** @description Patch each selected Space with what its backing Unit holds that it has not taken yet: the change to the Unit since its LastReleasedRevisionNum. The request body is applied after it. Selecting one with no backing Unit is an error, and so are outstanding ValidationErrors on a backing Unit. */
9706
+ /** @description Create Spaces from the ConfigHub/YAML Units where_unit and filter_unit select, each in its Unit's Space, and each with its Unit as its backing Unit. The request body is applied after the Unit's document. Units of other toolchains or describing other entity types are passed over; outstanding ValidationErrors on a Unit are an error. Takes none of the parameters that select entities to clone, name the clones or choose their Spaces. */
9588
9707
  from_backing_units?: boolean;
9708
+ /**
9709
+ * @description The specified string is an expression for the purpose of filtering
9710
+ * the list of Units returned. The expression syntax was inspired by SQL.
9711
+ * It supports conjunctions using `AND` of relational expressions of the form *attribute*
9712
+ * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
9713
+ * as in the JSON encoding.
9714
+ * Strings support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `LIKE`, `NOT LIKE`, `ILIKE`, `~~`, `!~~`, `~`, `~*`, `!~`, `!~*`, `IN`, `NOT IN`.
9715
+ * String pattern operators: `LIKE` and `~~` for pattern matching with `%` and `_` wildcards,
9716
+ * `ILIKE` for case-insensitive pattern matching, `NOT LIKE` and `!~~` for negated pattern matching.
9717
+ * String regex operators: `~` for regex matching, `~*` for case-insensitive regex,
9718
+ * `!~` and `!~*` for regex not matching (case-sensitive and insensitive).
9719
+ * Integers support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `IN`, `NOT IN`.
9720
+ * UUIDs and boolean attributes support equality and inequality only.
9721
+ * UUID and time literals must be quoted as string literals.
9722
+ * String literals are quoted with single quotes, such as `'string'`.
9723
+ * Time literals use the same form as when serialized as JSON,
9724
+ * such as: `CreatedAt > '2025-02-18T23:16:34'`.
9725
+ * Integer and boolean literals are also supported for attributes of those types.
9726
+ * Arrays support the `?` operator to to match any element of the array,
9727
+ * as in `FromLinkID ? '7c61626f-ddbe-41af-93f6-b69f4ab6d308'`.
9728
+ * Arrays can perform LEN() to check for length, as in `LEN(FromLinkID) > 0`.
9729
+ * An attribute naming a list of other entities can be filtered on their attributes with a `*` segment,
9730
+ * as in `FromLink.*.Slug = 'upgrade-app'`, which holds when any element satisfies it.
9731
+ * Without the `*` such a reference is an error, since it names no single value to compare.
9732
+ * Map support the dot notation to specify a particular map key, as in `Labels.tier = 'Backend'`.
9733
+ * Maps support `IS NULL` and `IS NOT NULL` with dot notation to check for key absence or presence,
9734
+ * as in `Labels.tier IS NULL` (key doesn't exist) or `Labels.tier IS NOT NULL` (key exists).
9735
+ * Comparison results can be tested with `IS TRUE`, `IS FALSE`, `IS NOT TRUE`, and `IS NOT FALSE`.
9736
+ * These are useful for nullable columns: `MergeSourceID = '<uuid>' IS NOT FALSE` matches rows where MergeSourceID equals the value OR is NULL.
9737
+ * The `IN` and `NOT IN` operators accept a comma-separated list of values in parentheses,
9738
+ * such as `Slug IN ('slugone', 'slugtwo')` or `Labels.environment IN ('prod', 'staging')`.
9739
+ * Conjunctions are supported using the `AND` operator.
9740
+ * An example conjunction is:
9741
+ * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9742
+ *
9743
+ * Supported attributes for filtering on Unit: Annotations, ApplyGates, ApplyWarnings, ChangeSetID, Conflicts, CreatedAt, DataHash, DeleteGates, DestroyGates, DisplayName, FromLinkID, HeadRevisionID, HeadRevisionNum, HeadUnitActionNum, HeadUnitEventNum, HiddenReason, Labels, LastChangeDescription, LastReleasedRevisionNum, NeededPaths, OrganizationID, Permissions, ProvidedPaths, ProviderType, Slug, SpaceID, TargetID, ToolchainType, UnitID, UpdatedAt, UpstreamRevisionNum, UpstreamSpaceID, UpstreamUnitID, ValidationErrors, ValidationTriggerIDs, ValidationWarnings, ValueTriggerIDs, Values.
9744
+ *
9745
+ * The Units to create entities from, with from_backing_units.
9746
+ *
9747
+ * The whole string must be query-encoded.
9748
+ */
9749
+ where_unit?: string;
9750
+ /** @description A Filter, by ID, over the Units to create entities from, with from_backing_units. */
9751
+ filter_unit?: string;
9752
+ /** @description With from_backing_units, patch a Space a selected Unit already backs with what the Unit holds that it has not taken yet, as a bulk patch with from_backing_units does, rather than report that the Unit backs it. The request body is applied after it. Without it, such a Unit is an error, or with allow_exists the Space is returned as it is. */
9753
+ patch_existing?: boolean;
9589
9754
  /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
9590
9755
  dry_run?: boolean;
9591
9756
  };
@@ -9644,7 +9809,7 @@ interface operations {
9644
9809
  "application/json": components["schemas"]["SpaceCreateOrUpdateResponse"][];
9645
9810
  };
9646
9811
  };
9647
- /** @description Multi-Status: Mixed success and failure results */
9812
+ /** @description Multi-Status (partial success) */
9648
9813
  207: {
9649
9814
  headers: {
9650
9815
  [name: string]: unknown;
@@ -9727,41 +9892,497 @@ interface operations {
9727
9892
  };
9728
9893
  };
9729
9894
  };
9730
- Attest: {
9895
+ BulkDeleteSpaces: {
9731
9896
  parameters: {
9732
9897
  query?: {
9733
- /** @description Resolve the Revisions that would be covered and return the same response without writing anything. */
9734
- dry_run?: boolean;
9898
+ /**
9899
+ * @description The specified string is an expression for the purpose of filtering
9900
+ * the list of Spaces returned. The expression syntax was inspired by SQL.
9901
+ * It supports conjunctions using `AND` of relational expressions of the form *attribute*
9902
+ * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
9903
+ * as in the JSON encoding.
9904
+ * Strings support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `LIKE`, `NOT LIKE`, `ILIKE`, `~~`, `!~~`, `~`, `~*`, `!~`, `!~*`, `IN`, `NOT IN`.
9905
+ * String pattern operators: `LIKE` and `~~` for pattern matching with `%` and `_` wildcards,
9906
+ * `ILIKE` for case-insensitive pattern matching, `NOT LIKE` and `!~~` for negated pattern matching.
9907
+ * String regex operators: `~` for regex matching, `~*` for case-insensitive regex,
9908
+ * `!~` and `!~*` for regex not matching (case-sensitive and insensitive).
9909
+ * Integers support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `IN`, `NOT IN`.
9910
+ * UUIDs and boolean attributes support equality and inequality only.
9911
+ * UUID and time literals must be quoted as string literals.
9912
+ * String literals are quoted with single quotes, such as `'string'`.
9913
+ * Time literals use the same form as when serialized as JSON,
9914
+ * such as: `CreatedAt > '2025-02-18T23:16:34'`.
9915
+ * Integer and boolean literals are also supported for attributes of those types.
9916
+ * Arrays support the `?` operator to to match any element of the array,
9917
+ * as in `FromLinkID ? '7c61626f-ddbe-41af-93f6-b69f4ab6d308'`.
9918
+ * Arrays can perform LEN() to check for length, as in `LEN(FromLinkID) > 0`.
9919
+ * An attribute naming a list of other entities can be filtered on their attributes with a `*` segment,
9920
+ * as in `FromLink.*.Slug = 'upgrade-app'`, which holds when any element satisfies it.
9921
+ * Without the `*` such a reference is an error, since it names no single value to compare.
9922
+ * Map support the dot notation to specify a particular map key, as in `Labels.tier = 'Backend'`.
9923
+ * Maps support `IS NULL` and `IS NOT NULL` with dot notation to check for key absence or presence,
9924
+ * as in `Labels.tier IS NULL` (key doesn't exist) or `Labels.tier IS NOT NULL` (key exists).
9925
+ * Comparison results can be tested with `IS TRUE`, `IS FALSE`, `IS NOT TRUE`, and `IS NOT FALSE`.
9926
+ * These are useful for nullable columns: `MergeSourceID = '<uuid>' IS NOT FALSE` matches rows where MergeSourceID equals the value OR is NULL.
9927
+ * The `IN` and `NOT IN` operators accept a comma-separated list of values in parentheses,
9928
+ * such as `Slug IN ('slugone', 'slugtwo')` or `Labels.environment IN ('prod', 'staging')`.
9929
+ * Conjunctions are supported using the `AND` operator.
9930
+ * An example conjunction is:
9931
+ * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
9932
+ *
9933
+ * Supported attributes for filtering on Space: Annotations, AttributeFilterID, AttributeHash, AttributeIDs, BackingUnitID, ComponentID, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrganizationID, Permissions, ReleaseTargetID, Slug, SpaceID, TriggerFilterID, TriggerHash, TriggerIDs, UpdatedAt, UpstreamSpaceID.
9934
+ *
9935
+ * The whole string must be query-encoded.
9936
+ */
9937
+ where?: string;
9938
+ /**
9939
+ * @description UUID of a Filter entity to apply to the Space list.
9940
+ *
9941
+ * The Filter must be in the same Organization as the user credentials.
9942
+ *
9943
+ * The Filter's From field must match the entity type being filtered (Space).
9944
+ *
9945
+ * For Space-resident entities, if the Filter has a FromSpaceID, it must match the operation's SpaceID.
9946
+ *
9947
+ * The Filter's Where clause will be combined with any explicit 'where' parameter using AND logic.
9948
+ *
9949
+ * If both 'filter' and 'where' parameters are specified, they are combined with AND logic.
9950
+ */
9951
+ filter?: string;
9952
+ /**
9953
+ * @description Free text search that approximately matches the specified string against string fields and map keys/values.
9954
+ *
9955
+ * The search is case-insensitive and uses pattern matching to find entities containing the text.
9956
+ *
9957
+ * Searchable string fields include attributes like Slug, DisplayName, and string-typed custom fields.
9958
+ *
9959
+ * For map fields (like Labels and Annotations), the search matches both map keys and values.
9960
+ *
9961
+ * The search uses OR logic across all searchable fields, so matching any field will return the entity.
9962
+ *
9963
+ * If both 'where' and 'contains' parameters are specified, they are combined with AND logic.
9964
+ *
9965
+ * Searchable fields for Space include string and map-type attributes from the queryable attributes list.
9966
+ *
9967
+ * The whole string must be query-encoded.
9968
+ */
9969
+ contains?: string;
9970
+ /**
9971
+ * @description Hidden Space entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
9972
+ *
9973
+ * It is a comma-separated list of HiddenReasons, or `*` for all of them.
9974
+ *
9975
+ * A where clause naming the entities, by their Slug or ID with `=` or `IN`, or naming HiddenReason at all, also returns hidden entities it selects.
9976
+ *
9977
+ * ConfigHub/YAML Units, which hold the configuration of entities, are hidden with the HiddenReason `BackingUnit`.
9978
+ */
9979
+ include_hidden?: string;
9980
+ /**
9981
+ * @description Include clause for expanding related entities in the response for Space.
9982
+ * The attribute names are case-sensitive, PascalCase, and
9983
+ * expected in a comma-separated list format as in the JSON encoding.
9984
+ *
9985
+ * Supported attributes for Space are AttributeFilterID, AttributeIDs, ComponentID, OrganizationID, ReleaseTargetID, TriggerFilterID, TriggerIDs.
9986
+ *
9987
+ * The whole string must be query-encoded.
9988
+ */
9989
+ include?: string;
9990
+ /** @description Maximum number of Space entities to act on, in ID order. A request that names limit or continue also stops when it runs short of time, and returns a ConfigHub-Continue header to pass as the continue parameter of the next request; keep sending requests until a response has none. If neither is specified, the request acts on every selected entity. */
9991
+ limit?: number;
9992
+ /** @description The token from the ConfigHub-Continue header of the previous request, to act on the Space entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
9993
+ continue?: string;
9994
+ /** @description Valid values are true and false. False is the default if unspecified. If true, recursively delete all entities within the deleted space(s) so long as none have delete gates. */
9995
+ recursive?: string;
9996
+ /** @description Valid values are true and false. False is the default if unspecified. If true, recursively delete all entities within the deleted space(s) regardless whether any have delete gates. */
9997
+ recursive_force?: string;
9998
+ /** @description If true, remove the references to the deleted entities from entities the request does not delete, instead of refusing the delete while any remain. References that cannot be removed still refuse it. For a Space, applies to everything the recursive delete removes. */
9999
+ detach?: boolean;
10000
+ /** @description Prune: of the Spaces selected, delete those whose backing Unit is empty, which says the Space should not exist, and keep the Unit, empty and backing nothing, so that it keeps the Space's history and a document that comes back revives it. The others are left alone and are not in the response, so a broad selection deletes only what was emptied. */
10001
+ from_backing_units?: boolean;
9735
10002
  };
9736
10003
  header?: never;
9737
10004
  path?: never;
9738
10005
  cookie?: never;
9739
10006
  };
9740
- requestBody?: {
9741
- content: {
9742
- "application/json": components["schemas"]["AttestRequest"];
9743
- };
9744
- };
10007
+ requestBody?: never;
9745
10008
  responses: {
9746
10009
  /** @description OK */
9747
10010
  200: {
9748
10011
  headers: {
10012
+ /** @description The token to pass as the continue parameter of the next request, when there may be more entities after this page. It is absent on the last page. A page can hold fewer entities than the limit, or none, and still have one. */
10013
+ "ConfigHub-Continue"?: string;
9749
10014
  [name: string]: unknown;
9750
10015
  };
9751
10016
  content: {
9752
- "application/json": components["schemas"]["AttestResult"];
10017
+ "application/json": components["schemas"]["DeleteResponse"][];
9753
10018
  };
9754
10019
  };
9755
- /** @description Recording failed in some Spaces; each Space's result carries its own error */
10020
+ /** @description Multi-Status: Mixed success and failure results */
9756
10021
  207: {
9757
10022
  headers: {
9758
10023
  [name: string]: unknown;
9759
10024
  };
9760
10025
  content: {
9761
- "application/json": components["schemas"]["AttestResult"];
10026
+ "application/json": components["schemas"]["DeleteResponse"][];
9762
10027
  };
9763
10028
  };
9764
- /** @description Attest request is invalid (Bad Request). */
10029
+ /** @description Space request is invalid (Bad Request). */
10030
+ 400: {
10031
+ headers: {
10032
+ [name: string]: unknown;
10033
+ };
10034
+ content: {
10035
+ "application/json": components["schemas"]["StandardErrorResponse"];
10036
+ };
10037
+ };
10038
+ /** @description Unauthorized access. */
10039
+ 401: {
10040
+ headers: {
10041
+ [name: string]: unknown;
10042
+ };
10043
+ content: {
10044
+ "application/json": components["schemas"]["StandardErrorResponse"];
10045
+ };
10046
+ };
10047
+ /** @description Forbidden access. */
10048
+ 403: {
10049
+ headers: {
10050
+ [name: string]: unknown;
10051
+ };
10052
+ content: {
10053
+ "application/json": components["schemas"]["StandardErrorResponse"];
10054
+ };
10055
+ };
10056
+ /** @description Space not found. */
10057
+ 404: {
10058
+ headers: {
10059
+ [name: string]: unknown;
10060
+ };
10061
+ content: {
10062
+ "application/json": components["schemas"]["StandardErrorResponse"];
10063
+ };
10064
+ };
10065
+ /** @description Space is still in use: it has DeleteGates, or other entities still reference it. Or data has changed since last read. */
10066
+ 409: {
10067
+ headers: {
10068
+ [name: string]: unknown;
10069
+ };
10070
+ content: {
10071
+ "application/json": components["schemas"]["StandardErrorResponse"];
10072
+ };
10073
+ };
10074
+ /** @description Unable to delete entity */
10075
+ 422: {
10076
+ headers: {
10077
+ [name: string]: unknown;
10078
+ };
10079
+ content: {
10080
+ "application/json": components["schemas"]["StandardErrorResponse"];
10081
+ };
10082
+ };
10083
+ /** @description Something went wrong while processing Space. */
10084
+ 500: {
10085
+ headers: {
10086
+ [name: string]: unknown;
10087
+ };
10088
+ content: {
10089
+ "application/json": components["schemas"]["StandardErrorResponse"];
10090
+ };
10091
+ };
10092
+ /** @description Unexpected error. */
10093
+ default: {
10094
+ headers: {
10095
+ [name: string]: unknown;
10096
+ };
10097
+ content: {
10098
+ "application/json": components["schemas"]["StandardErrorResponse"];
10099
+ };
10100
+ };
10101
+ };
10102
+ };
10103
+ BulkPatchSpaces: {
10104
+ parameters: {
10105
+ query?: {
10106
+ /**
10107
+ * @description The specified string is an expression for the purpose of filtering
10108
+ * the list of Spaces returned. The expression syntax was inspired by SQL.
10109
+ * It supports conjunctions using `AND` of relational expressions of the form *attribute*
10110
+ * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
10111
+ * as in the JSON encoding.
10112
+ * Strings support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `LIKE`, `NOT LIKE`, `ILIKE`, `~~`, `!~~`, `~`, `~*`, `!~`, `!~*`, `IN`, `NOT IN`.
10113
+ * String pattern operators: `LIKE` and `~~` for pattern matching with `%` and `_` wildcards,
10114
+ * `ILIKE` for case-insensitive pattern matching, `NOT LIKE` and `!~~` for negated pattern matching.
10115
+ * String regex operators: `~` for regex matching, `~*` for case-insensitive regex,
10116
+ * `!~` and `!~*` for regex not matching (case-sensitive and insensitive).
10117
+ * Integers support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `IN`, `NOT IN`.
10118
+ * UUIDs and boolean attributes support equality and inequality only.
10119
+ * UUID and time literals must be quoted as string literals.
10120
+ * String literals are quoted with single quotes, such as `'string'`.
10121
+ * Time literals use the same form as when serialized as JSON,
10122
+ * such as: `CreatedAt > '2025-02-18T23:16:34'`.
10123
+ * Integer and boolean literals are also supported for attributes of those types.
10124
+ * Arrays support the `?` operator to to match any element of the array,
10125
+ * as in `FromLinkID ? '7c61626f-ddbe-41af-93f6-b69f4ab6d308'`.
10126
+ * Arrays can perform LEN() to check for length, as in `LEN(FromLinkID) > 0`.
10127
+ * An attribute naming a list of other entities can be filtered on their attributes with a `*` segment,
10128
+ * as in `FromLink.*.Slug = 'upgrade-app'`, which holds when any element satisfies it.
10129
+ * Without the `*` such a reference is an error, since it names no single value to compare.
10130
+ * Map support the dot notation to specify a particular map key, as in `Labels.tier = 'Backend'`.
10131
+ * Maps support `IS NULL` and `IS NOT NULL` with dot notation to check for key absence or presence,
10132
+ * as in `Labels.tier IS NULL` (key doesn't exist) or `Labels.tier IS NOT NULL` (key exists).
10133
+ * Comparison results can be tested with `IS TRUE`, `IS FALSE`, `IS NOT TRUE`, and `IS NOT FALSE`.
10134
+ * These are useful for nullable columns: `MergeSourceID = '<uuid>' IS NOT FALSE` matches rows where MergeSourceID equals the value OR is NULL.
10135
+ * The `IN` and `NOT IN` operators accept a comma-separated list of values in parentheses,
10136
+ * such as `Slug IN ('slugone', 'slugtwo')` or `Labels.environment IN ('prod', 'staging')`.
10137
+ * Conjunctions are supported using the `AND` operator.
10138
+ * An example conjunction is:
10139
+ * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
10140
+ *
10141
+ * Supported attributes for filtering on Space: Annotations, AttributeFilterID, AttributeHash, AttributeIDs, BackingUnitID, ComponentID, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrganizationID, Permissions, ReleaseTargetID, Slug, SpaceID, TriggerFilterID, TriggerHash, TriggerIDs, UpdatedAt, UpstreamSpaceID.
10142
+ *
10143
+ * The whole string must be query-encoded.
10144
+ */
10145
+ where?: string;
10146
+ /**
10147
+ * @description UUID of a Filter entity to apply to the Space list.
10148
+ *
10149
+ * The Filter must be in the same Organization as the user credentials.
10150
+ *
10151
+ * The Filter's From field must match the entity type being filtered (Space).
10152
+ *
10153
+ * For Space-resident entities, if the Filter has a FromSpaceID, it must match the operation's SpaceID.
10154
+ *
10155
+ * The Filter's Where clause will be combined with any explicit 'where' parameter using AND logic.
10156
+ *
10157
+ * If both 'filter' and 'where' parameters are specified, they are combined with AND logic.
10158
+ */
10159
+ filter?: string;
10160
+ /**
10161
+ * @description Free text search that approximately matches the specified string against string fields and map keys/values.
10162
+ *
10163
+ * The search is case-insensitive and uses pattern matching to find entities containing the text.
10164
+ *
10165
+ * Searchable string fields include attributes like Slug, DisplayName, and string-typed custom fields.
10166
+ *
10167
+ * For map fields (like Labels and Annotations), the search matches both map keys and values.
10168
+ *
10169
+ * The search uses OR logic across all searchable fields, so matching any field will return the entity.
10170
+ *
10171
+ * If both 'where' and 'contains' parameters are specified, they are combined with AND logic.
10172
+ *
10173
+ * Searchable fields for Space include string and map-type attributes from the queryable attributes list.
10174
+ *
10175
+ * The whole string must be query-encoded.
10176
+ */
10177
+ contains?: string;
10178
+ /**
10179
+ * @description Hidden Space entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
10180
+ *
10181
+ * It is a comma-separated list of HiddenReasons, or `*` for all of them.
10182
+ *
10183
+ * A where clause naming the entities, by their Slug or ID with `=` or `IN`, or naming HiddenReason at all, also returns hidden entities it selects.
10184
+ *
10185
+ * ConfigHub/YAML Units, which hold the configuration of entities, are hidden with the HiddenReason `BackingUnit`.
10186
+ */
10187
+ include_hidden?: string;
10188
+ /**
10189
+ * @description Include clause for expanding related entities in the response for Space.
10190
+ * The attribute names are case-sensitive, PascalCase, and
10191
+ * expected in a comma-separated list format as in the JSON encoding.
10192
+ *
10193
+ * Supported attributes for Space are AttributeFilterID, AttributeIDs, ComponentID, OrganizationID, ReleaseTargetID, TriggerFilterID, TriggerIDs.
10194
+ *
10195
+ * The whole string must be query-encoded.
10196
+ */
10197
+ include?: string;
10198
+ /** @description Maximum number of Space entities to act on, in ID order. A request that names limit or continue also stops when it runs short of time, and returns a ConfigHub-Continue header to pass as the continue parameter of the next request; keep sending requests until a response has none. If neither is specified, the request acts on every selected entity. */
10199
+ limit?: number;
10200
+ /** @description The token from the ConfigHub-Continue header of the previous request, to act on the Space entities after the last one it acted on. The request's other parameters, except limit, must be the same as those of the request that returned the token. */
10201
+ continue?: string;
10202
+ /** @description If true, re-list the Triggers the Space selects (with WhereTrigger and/or TriggerFilterID, or the ones in it with neither) even if these fields have not changed */
10203
+ refresh_triggers?: boolean;
10204
+ /** @description Give each Space written a backing Unit if it has none: a ConfigHub/YAML Unit holding the Space's configuration, which is then kept in step with it. */
10205
+ with_backing_units?: boolean;
10206
+ /** @description The Space, by slug or ID, for the backing Units with_backing_units creates. Required with it: a Space is in no Space of its own to hold one. */
10207
+ backing_unit_space?: string;
10208
+ /** @description Patch each selected Space with what its backing Unit holds that it has not taken yet: the change to the Unit since its LastReleasedRevisionNum. The request body is applied after it. Selecting one with no backing Unit is an error, and so are outstanding ValidationErrors on a backing Unit. */
10209
+ from_backing_units?: boolean;
10210
+ /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
10211
+ dry_run?: boolean;
10212
+ };
10213
+ header?: never;
10214
+ path?: never;
10215
+ cookie?: never;
10216
+ };
10217
+ requestBody?: {
10218
+ content: {
10219
+ "application/merge-patch+json": {
10220
+ /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
10221
+ Annotations?: {
10222
+ [key: string]: string | null;
10223
+ } | null;
10224
+ /** Format: uuid */
10225
+ AttributeFilterID?: string | null;
10226
+ /** Format: uuid */
10227
+ ComponentID?: string | null;
10228
+ /** @description An optional set of gates that, if any is present, will block deletion */
10229
+ DeleteGates?: {
10230
+ [key: string]: boolean | null;
10231
+ } | null;
10232
+ /** @description Friendly name for the entity. */
10233
+ DisplayName?: string | null;
10234
+ /** @description The reason the entity is hidden, if it is. A hidden entity is left out of List and Search results, and of what bulk operations act on, unless the include_hidden parameter names its reason or is *, or the where parameter names the entity by Slug or ID. ConfigHub/YAML Units are created hidden with the reason BackingUnit unless given another. */
10235
+ HiddenReason?: string | null;
10236
+ /** @description An optional map of Label key/value pairs to specify identifying attributes of entities for the purpose of grouping and filtering them. */
10237
+ Labels?: {
10238
+ [key: string]: string | null;
10239
+ } | null;
10240
+ Permissions?: {
10241
+ [key: string]: Record<string, never> | null;
10242
+ } | null;
10243
+ /** Format: uuid */
10244
+ ReleaseTargetID?: string | null;
10245
+ /** @description Unique URL-safe identifier for the entity. */
10246
+ Slug?: string | null;
10247
+ /** Format: uuid */
10248
+ TriggerFilterID?: string | null;
10249
+ /** @description An entity-specific sequence number used for optimistic concurrency control. The value read must be sent in calls to Update. */
10250
+ Version?: number | null;
10251
+ WhereAttribute?: string | null;
10252
+ WhereTrigger?: string | null;
10253
+ };
10254
+ };
10255
+ };
10256
+ responses: {
10257
+ /** @description OK */
10258
+ 200: {
10259
+ headers: {
10260
+ /** @description The token to pass as the continue parameter of the next request, when there may be more entities after this page. It is absent on the last page. A page can hold fewer entities than the limit, or none, and still have one. */
10261
+ "ConfigHub-Continue"?: string;
10262
+ [name: string]: unknown;
10263
+ };
10264
+ content: {
10265
+ "application/json": components["schemas"]["SpaceCreateOrUpdateResponse"][];
10266
+ };
10267
+ };
10268
+ /** @description Multi-Status: Mixed success and failure results */
10269
+ 207: {
10270
+ headers: {
10271
+ [name: string]: unknown;
10272
+ };
10273
+ content: {
10274
+ "application/json": components["schemas"]["SpaceCreateOrUpdateResponse"][];
10275
+ };
10276
+ };
10277
+ /** @description Space request is invalid (Bad Request). */
10278
+ 400: {
10279
+ headers: {
10280
+ [name: string]: unknown;
10281
+ };
10282
+ content: {
10283
+ "application/json": components["schemas"]["StandardErrorResponse"];
10284
+ };
10285
+ };
10286
+ /** @description Unauthorized access. */
10287
+ 401: {
10288
+ headers: {
10289
+ [name: string]: unknown;
10290
+ };
10291
+ content: {
10292
+ "application/json": components["schemas"]["StandardErrorResponse"];
10293
+ };
10294
+ };
10295
+ /** @description Forbidden access. */
10296
+ 403: {
10297
+ headers: {
10298
+ [name: string]: unknown;
10299
+ };
10300
+ content: {
10301
+ "application/json": components["schemas"]["StandardErrorResponse"];
10302
+ };
10303
+ };
10304
+ /** @description Space not found. */
10305
+ 404: {
10306
+ headers: {
10307
+ [name: string]: unknown;
10308
+ };
10309
+ content: {
10310
+ "application/json": components["schemas"]["StandardErrorResponse"];
10311
+ };
10312
+ };
10313
+ /** @description Space data conflict. Data has changed since last read. */
10314
+ 409: {
10315
+ headers: {
10316
+ [name: string]: unknown;
10317
+ };
10318
+ content: {
10319
+ "application/json": components["schemas"]["StandardErrorResponse"];
10320
+ };
10321
+ };
10322
+ /** @description A backing Unit has outstanding ValidationErrors */
10323
+ 422: {
10324
+ headers: {
10325
+ [name: string]: unknown;
10326
+ };
10327
+ content: {
10328
+ "application/json": components["schemas"]["StandardErrorResponse"];
10329
+ };
10330
+ };
10331
+ /** @description Something went wrong while processing Space. */
10332
+ 500: {
10333
+ headers: {
10334
+ [name: string]: unknown;
10335
+ };
10336
+ content: {
10337
+ "application/json": components["schemas"]["StandardErrorResponse"];
10338
+ };
10339
+ };
10340
+ /** @description Unexpected error. */
10341
+ default: {
10342
+ headers: {
10343
+ [name: string]: unknown;
10344
+ };
10345
+ content: {
10346
+ "application/json": components["schemas"]["StandardErrorResponse"];
10347
+ };
10348
+ };
10349
+ };
10350
+ };
10351
+ Attest: {
10352
+ parameters: {
10353
+ query?: {
10354
+ /** @description Resolve the Revisions that would be covered and return the same response without writing anything. */
10355
+ dry_run?: boolean;
10356
+ };
10357
+ header?: never;
10358
+ path?: never;
10359
+ cookie?: never;
10360
+ };
10361
+ requestBody?: {
10362
+ content: {
10363
+ "application/json": components["schemas"]["AttestRequest"];
10364
+ };
10365
+ };
10366
+ responses: {
10367
+ /** @description OK */
10368
+ 200: {
10369
+ headers: {
10370
+ [name: string]: unknown;
10371
+ };
10372
+ content: {
10373
+ "application/json": components["schemas"]["AttestResult"];
10374
+ };
10375
+ };
10376
+ /** @description Recording failed in some Spaces; each Space's result carries its own error */
10377
+ 207: {
10378
+ headers: {
10379
+ [name: string]: unknown;
10380
+ };
10381
+ content: {
10382
+ "application/json": components["schemas"]["AttestResult"];
10383
+ };
10384
+ };
10385
+ /** @description Attest request is invalid (Bad Request). */
9765
10386
  400: {
9766
10387
  headers: {
9767
10388
  [name: string]: unknown;
@@ -22379,7 +23000,7 @@ interface operations {
22379
23000
  * An example conjunction is:
22380
23001
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
22381
23002
  *
22382
- * Supported attributes for filtering on Release: Annotations, ChangeOrderID, CreatedAt, DeleteGates, Digest, HiddenReason, Labels, LiveStatus, ManifestDigest, OrganizationID, Permissions, Published, ReleaseID, ReleaseNum, SpaceID, TagID, TargetID, UnitCount, UpdatedAt, UserID.
23003
+ * Supported attributes for filtering on Release: Annotations, ChangeOrderID, CreatedAt, DeleteGates, Digest, HiddenReason, Labels, LiveStatus, ManifestDigest, OrganizationID, Permissions, Published, ReleaseID, ReleaseNum, SkippedUnits, SpaceID, TagID, TargetID, UnitCount, UpdatedAt, UserID.
22383
23004
  *
22384
23005
  * The whole string must be query-encoded.
22385
23006
  */
@@ -24039,6 +24660,974 @@ interface operations {
24039
24660
  };
24040
24661
  };
24041
24662
  };
24663
+ ListServiceAccounts: {
24664
+ parameters: {
24665
+ query?: {
24666
+ /**
24667
+ * @description The specified string is an expression for the purpose of filtering
24668
+ * the list of ServiceAccounts returned. The expression syntax was inspired by SQL.
24669
+ * It supports conjunctions using `AND` of relational expressions of the form *attribute*
24670
+ * *operator* *attribute_or_literal*. The attribute names are case-sensitive and PascalCase,
24671
+ * as in the JSON encoding.
24672
+ * Strings support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `LIKE`, `NOT LIKE`, `ILIKE`, `~~`, `!~~`, `~`, `~*`, `!~`, `!~*`, `IN`, `NOT IN`.
24673
+ * String pattern operators: `LIKE` and `~~` for pattern matching with `%` and `_` wildcards,
24674
+ * `ILIKE` for case-insensitive pattern matching, `NOT LIKE` and `!~~` for negated pattern matching.
24675
+ * String regex operators: `~` for regex matching, `~*` for case-insensitive regex,
24676
+ * `!~` and `!~*` for regex not matching (case-sensitive and insensitive).
24677
+ * Integers support the following operators: `<`, `>`, `<=`, `>=`, `=`, `!=`, `IN`, `NOT IN`.
24678
+ * UUIDs and boolean attributes support equality and inequality only.
24679
+ * UUID and time literals must be quoted as string literals.
24680
+ * String literals are quoted with single quotes, such as `'string'`.
24681
+ * Time literals use the same form as when serialized as JSON,
24682
+ * such as: `CreatedAt > '2025-02-18T23:16:34'`.
24683
+ * Integer and boolean literals are also supported for attributes of those types.
24684
+ * Arrays support the `?` operator to to match any element of the array,
24685
+ * as in `FromLinkID ? '7c61626f-ddbe-41af-93f6-b69f4ab6d308'`.
24686
+ * Arrays can perform LEN() to check for length, as in `LEN(FromLinkID) > 0`.
24687
+ * An attribute naming a list of other entities can be filtered on their attributes with a `*` segment,
24688
+ * as in `FromLink.*.Slug = 'upgrade-app'`, which holds when any element satisfies it.
24689
+ * Without the `*` such a reference is an error, since it names no single value to compare.
24690
+ * Map support the dot notation to specify a particular map key, as in `Labels.tier = 'Backend'`.
24691
+ * Maps support `IS NULL` and `IS NOT NULL` with dot notation to check for key absence or presence,
24692
+ * as in `Labels.tier IS NULL` (key doesn't exist) or `Labels.tier IS NOT NULL` (key exists).
24693
+ * Comparison results can be tested with `IS TRUE`, `IS FALSE`, `IS NOT TRUE`, and `IS NOT FALSE`.
24694
+ * These are useful for nullable columns: `MergeSourceID = '<uuid>' IS NOT FALSE` matches rows where MergeSourceID equals the value OR is NULL.
24695
+ * The `IN` and `NOT IN` operators accept a comma-separated list of values in parentheses,
24696
+ * such as `Slug IN ('slugone', 'slugtwo')` or `Labels.environment IN ('prod', 'staging')`.
24697
+ * Conjunctions are supported using the `AND` operator.
24698
+ * An example conjunction is:
24699
+ * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
24700
+ *
24701
+ * Supported attributes for filtering on ServiceAccount: Annotations, CreatedAt, DeleteGates, DisplayName, HiddenReason, Labels, OrgRole, OrganizationID, Permissions, ServiceAccountID, Slug, UpdatedAt, UserID.
24702
+ *
24703
+ * The whole string must be query-encoded.
24704
+ */
24705
+ where?: string;
24706
+ /**
24707
+ * @description UUID of a Filter entity to apply to the ServiceAccount list.
24708
+ *
24709
+ * The Filter must be in the same Organization as the user credentials.
24710
+ *
24711
+ * The Filter's From field must match the entity type being filtered (ServiceAccount).
24712
+ *
24713
+ * For Space-resident entities, if the Filter has a FromSpaceID, it must match the operation's SpaceID.
24714
+ *
24715
+ * The Filter's Where clause will be combined with any explicit 'where' parameter using AND logic.
24716
+ *
24717
+ * If both 'filter' and 'where' parameters are specified, they are combined with AND logic.
24718
+ */
24719
+ filter?: string;
24720
+ /**
24721
+ * @description Free text search that approximately matches the specified string against string fields and map keys/values.
24722
+ *
24723
+ * The search is case-insensitive and uses pattern matching to find entities containing the text.
24724
+ *
24725
+ * Searchable string fields include attributes like Slug, DisplayName, and string-typed custom fields.
24726
+ *
24727
+ * For map fields (like Labels and Annotations), the search matches both map keys and values.
24728
+ *
24729
+ * The search uses OR logic across all searchable fields, so matching any field will return the entity.
24730
+ *
24731
+ * If both 'where' and 'contains' parameters are specified, they are combined with AND logic.
24732
+ *
24733
+ * Searchable fields for ServiceAccount include string and map-type attributes from the queryable attributes list.
24734
+ *
24735
+ * The whole string must be query-encoded.
24736
+ */
24737
+ contains?: string;
24738
+ /**
24739
+ * @description Include clause for expanding related entities in the response for ServiceAccount.
24740
+ * The attribute names are case-sensitive, PascalCase, and
24741
+ * expected in a comma-separated list format as in the JSON encoding.
24742
+ *
24743
+ * Supported attributes for ServiceAccount are OrganizationID.
24744
+ *
24745
+ * The whole string must be query-encoded.
24746
+ */
24747
+ include?: string;
24748
+ /**
24749
+ * @description Select clause for specifying which fields to include in the response for ServiceAccount.
24750
+ * The attribute names are case-sensitive, PascalCase, and
24751
+ * expected in a comma-separated list format as in the JSON encoding.
24752
+ * If not specified, all fields are returned.
24753
+ * Entity and parent IDs (like OrganizationID, SpaceID, ServiceAccountID) and Slug are always returned regardless of the select parameter.
24754
+ * Fields used in where and contains filters, and fields named by order_by, are also automatically included.
24755
+ * Example: 'DisplayName,CreatedAt,Labels' will return only those fields plus the required ID and Slug fields.
24756
+ * The whole string must be query-encoded.
24757
+ */
24758
+ select?: string;
24759
+ /**
24760
+ * @description Hidden ServiceAccount entities, those with a HiddenReason, are left out of the results, or of what a bulk operation acts on, unless this names their HiddenReason.
24761
+ *
24762
+ * It is a comma-separated list of HiddenReasons, or `*` for all of them.
24763
+ *
24764
+ * A where clause naming the entities, by their Slug or ID with `=` or `IN`, or naming HiddenReason at all, also returns hidden entities it selects.
24765
+ *
24766
+ * ConfigHub/YAML Units, which hold the configuration of entities, are hidden with the HiddenReason `BackingUnit`.
24767
+ */
24768
+ include_hidden?: string;
24769
+ /** @description Maximum number of ServiceAccount entities to return. If not specified, all matching entities are returned. Values greater than 1000 are rejected with 400. When there may be more entities, the response has a ConfigHub-Continue header to pass as the continue parameter of the next request. */
24770
+ limit?: number;
24771
+ /**
24772
+ * @description Comma-separated list of fields to sort ServiceAccount results by, each in the form 'ASC|DESC:FieldName' or just 'FieldName'.
24773
+ *
24774
+ * Field names are case-sensitive and PascalCase, as in the JSON encoding. Sort direction defaults to ASC when the 'DIRECTION:' prefix is omitted.
24775
+ *
24776
+ * Supported attributes for ordering ServiceAccount: CreatedAt, DisplayName, HiddenReason, OrgRole, OrganizationID, ServiceAccountID, Slug, UpdatedAt, UserID.
24777
+ *
24778
+ * Example: 'DESC:CreatedAt' or 'DisplayName,DESC:CreatedAt'.
24779
+ *
24780
+ * Results are ordered by the ServiceAccount's ID after the fields named, and by the ID alone if none are.
24781
+ *
24782
+ * The whole string must be query-encoded.
24783
+ */
24784
+ order_by?: string;
24785
+ /**
24786
+ * @description The token from the ConfigHub-Continue header of the previous page, to return the ServiceAccount entities after it.
24787
+ *
24788
+ * The request's other parameters, except limit, must be the same as those of the request that returned the token.
24789
+ *
24790
+ * Keep reading until a response has no such header: a page can hold fewer entities than the limit, or none, and still be followed by more.
24791
+ */
24792
+ continue?: string;
24793
+ };
24794
+ header?: never;
24795
+ path?: never;
24796
+ cookie?: never;
24797
+ };
24798
+ requestBody?: never;
24799
+ responses: {
24800
+ /** @description OK */
24801
+ 200: {
24802
+ headers: {
24803
+ /** @description The token to pass as the continue parameter of the next request, when there may be more entities after this page. It is absent on the last page. A page can hold fewer entities than the limit, or none, and still have one. */
24804
+ "ConfigHub-Continue"?: string;
24805
+ [name: string]: unknown;
24806
+ };
24807
+ content: {
24808
+ "application/json": components["schemas"]["ExtendedServiceAccount"][];
24809
+ };
24810
+ };
24811
+ /** @description ServiceAccount request is invalid (Bad Request). */
24812
+ 400: {
24813
+ headers: {
24814
+ [name: string]: unknown;
24815
+ };
24816
+ content: {
24817
+ "application/json": components["schemas"]["StandardErrorResponse"];
24818
+ };
24819
+ };
24820
+ /** @description Unauthorized access. */
24821
+ 401: {
24822
+ headers: {
24823
+ [name: string]: unknown;
24824
+ };
24825
+ content: {
24826
+ "application/json": components["schemas"]["StandardErrorResponse"];
24827
+ };
24828
+ };
24829
+ /** @description Forbidden access. */
24830
+ 403: {
24831
+ headers: {
24832
+ [name: string]: unknown;
24833
+ };
24834
+ content: {
24835
+ "application/json": components["schemas"]["StandardErrorResponse"];
24836
+ };
24837
+ };
24838
+ /** @description ServiceAccount not found. */
24839
+ 404: {
24840
+ headers: {
24841
+ [name: string]: unknown;
24842
+ };
24843
+ content: {
24844
+ "application/json": components["schemas"]["StandardErrorResponse"];
24845
+ };
24846
+ };
24847
+ /** @description Something went wrong while processing ServiceAccount. */
24848
+ 500: {
24849
+ headers: {
24850
+ [name: string]: unknown;
24851
+ };
24852
+ content: {
24853
+ "application/json": components["schemas"]["StandardErrorResponse"];
24854
+ };
24855
+ };
24856
+ /** @description Unexpected error. */
24857
+ default: {
24858
+ headers: {
24859
+ [name: string]: unknown;
24860
+ };
24861
+ content: {
24862
+ "application/json": components["schemas"]["StandardErrorResponse"];
24863
+ };
24864
+ };
24865
+ };
24866
+ };
24867
+ CreateServiceAccount: {
24868
+ parameters: {
24869
+ query?: {
24870
+ /** @description Allowed values are true and false. Default is false. When true, reports success when an entity already exists and returns the existing entity */
24871
+ allow_exists?: string;
24872
+ /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
24873
+ dry_run?: boolean;
24874
+ };
24875
+ header?: never;
24876
+ path?: never;
24877
+ cookie?: never;
24878
+ };
24879
+ requestBody?: {
24880
+ content: {
24881
+ "application/json": components["schemas"]["ServiceAccount"];
24882
+ };
24883
+ };
24884
+ responses: {
24885
+ /** @description An identity of the organization that is not a person and does not log in through the identity provider, such as an automation or an agent. Each ServiceAccount is backed by a User, which is what other entities' Permissions and Groups name to grant it access. The ServiceAccount's own Permissions say who may manage it. */
24886
+ 200: {
24887
+ headers: {
24888
+ [name: string]: unknown;
24889
+ };
24890
+ content: {
24891
+ "application/json": components["schemas"]["ServiceAccount"];
24892
+ };
24893
+ };
24894
+ /** @description ServiceAccount request is invalid (Bad Request). */
24895
+ 400: {
24896
+ headers: {
24897
+ [name: string]: unknown;
24898
+ };
24899
+ content: {
24900
+ "application/json": components["schemas"]["StandardErrorResponse"];
24901
+ };
24902
+ };
24903
+ /** @description Unauthorized access. */
24904
+ 401: {
24905
+ headers: {
24906
+ [name: string]: unknown;
24907
+ };
24908
+ content: {
24909
+ "application/json": components["schemas"]["StandardErrorResponse"];
24910
+ };
24911
+ };
24912
+ /** @description Forbidden access. */
24913
+ 403: {
24914
+ headers: {
24915
+ [name: string]: unknown;
24916
+ };
24917
+ content: {
24918
+ "application/json": components["schemas"]["StandardErrorResponse"];
24919
+ };
24920
+ };
24921
+ /** @description ServiceAccount not found. */
24922
+ 404: {
24923
+ headers: {
24924
+ [name: string]: unknown;
24925
+ };
24926
+ content: {
24927
+ "application/json": components["schemas"]["StandardErrorResponse"];
24928
+ };
24929
+ };
24930
+ /** @description ServiceAccount data conflict. Data has changed since last read. */
24931
+ 409: {
24932
+ headers: {
24933
+ [name: string]: unknown;
24934
+ };
24935
+ content: {
24936
+ "application/json": components["schemas"]["StandardErrorResponse"];
24937
+ };
24938
+ };
24939
+ /** @description Something went wrong while processing ServiceAccount. */
24940
+ 500: {
24941
+ headers: {
24942
+ [name: string]: unknown;
24943
+ };
24944
+ content: {
24945
+ "application/json": components["schemas"]["StandardErrorResponse"];
24946
+ };
24947
+ };
24948
+ /** @description Unexpected error. */
24949
+ default: {
24950
+ headers: {
24951
+ [name: string]: unknown;
24952
+ };
24953
+ content: {
24954
+ "application/json": components["schemas"]["StandardErrorResponse"];
24955
+ };
24956
+ };
24957
+ };
24958
+ };
24959
+ GetServiceAccount: {
24960
+ parameters: {
24961
+ query?: {
24962
+ /**
24963
+ * @description Include clause for expanding related entities in the response for ServiceAccount.
24964
+ * The attribute names are case-sensitive, PascalCase, and
24965
+ * expected in a comma-separated list format as in the JSON encoding.
24966
+ *
24967
+ * Supported attributes for ServiceAccount are OrganizationID.
24968
+ *
24969
+ * The whole string must be query-encoded.
24970
+ */
24971
+ include?: string;
24972
+ /**
24973
+ * @description Select clause for specifying which fields to include in the response for ServiceAccount.
24974
+ * The attribute names are case-sensitive, PascalCase, and
24975
+ * expected in a comma-separated list format as in the JSON encoding.
24976
+ * If not specified, all fields are returned.
24977
+ * Entity and parent IDs (like OrganizationID, SpaceID, ServiceAccountID) and Slug are always returned regardless of the select parameter.
24978
+ * Fields used in where and contains filters, and fields named by order_by, are also automatically included.
24979
+ * Example: 'DisplayName,CreatedAt,Labels' will return only those fields plus the required ID and Slug fields.
24980
+ * The whole string must be query-encoded.
24981
+ */
24982
+ select?: string;
24983
+ };
24984
+ header?: never;
24985
+ path: {
24986
+ /** @description Unique identifier for a service_account_id */
24987
+ service_account_id: string;
24988
+ };
24989
+ cookie?: never;
24990
+ };
24991
+ requestBody?: never;
24992
+ responses: {
24993
+ /** @description OK */
24994
+ 200: {
24995
+ headers: {
24996
+ [name: string]: unknown;
24997
+ };
24998
+ content: {
24999
+ "application/json": components["schemas"]["ExtendedServiceAccount"];
25000
+ };
25001
+ };
25002
+ /** @description ServiceAccount request is invalid (Bad Request). */
25003
+ 400: {
25004
+ headers: {
25005
+ [name: string]: unknown;
25006
+ };
25007
+ content: {
25008
+ "application/json": components["schemas"]["StandardErrorResponse"];
25009
+ };
25010
+ };
25011
+ /** @description Unauthorized access. */
25012
+ 401: {
25013
+ headers: {
25014
+ [name: string]: unknown;
25015
+ };
25016
+ content: {
25017
+ "application/json": components["schemas"]["StandardErrorResponse"];
25018
+ };
25019
+ };
25020
+ /** @description Forbidden access. */
25021
+ 403: {
25022
+ headers: {
25023
+ [name: string]: unknown;
25024
+ };
25025
+ content: {
25026
+ "application/json": components["schemas"]["StandardErrorResponse"];
25027
+ };
25028
+ };
25029
+ /** @description ServiceAccount not found. */
25030
+ 404: {
25031
+ headers: {
25032
+ [name: string]: unknown;
25033
+ };
25034
+ content: {
25035
+ "application/json": components["schemas"]["StandardErrorResponse"];
25036
+ };
25037
+ };
25038
+ /** @description Something went wrong while processing ServiceAccount. */
25039
+ 500: {
25040
+ headers: {
25041
+ [name: string]: unknown;
25042
+ };
25043
+ content: {
25044
+ "application/json": components["schemas"]["StandardErrorResponse"];
25045
+ };
25046
+ };
25047
+ /** @description Unexpected error. */
25048
+ default: {
25049
+ headers: {
25050
+ [name: string]: unknown;
25051
+ };
25052
+ content: {
25053
+ "application/json": components["schemas"]["StandardErrorResponse"];
25054
+ };
25055
+ };
25056
+ };
25057
+ };
25058
+ UpdateServiceAccount: {
25059
+ parameters: {
25060
+ query?: {
25061
+ /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
25062
+ dry_run?: boolean;
25063
+ };
25064
+ header?: never;
25065
+ path: {
25066
+ /** @description Unique identifier for a service_account_id */
25067
+ service_account_id: string;
25068
+ };
25069
+ cookie?: never;
25070
+ };
25071
+ requestBody?: {
25072
+ content: {
25073
+ "application/json": components["schemas"]["ServiceAccount"];
25074
+ };
25075
+ };
25076
+ responses: {
25077
+ /** @description An identity of the organization that is not a person and does not log in through the identity provider, such as an automation or an agent. Each ServiceAccount is backed by a User, which is what other entities' Permissions and Groups name to grant it access. The ServiceAccount's own Permissions say who may manage it. */
25078
+ 200: {
25079
+ headers: {
25080
+ [name: string]: unknown;
25081
+ };
25082
+ content: {
25083
+ "application/json": components["schemas"]["ServiceAccount"];
25084
+ };
25085
+ };
25086
+ /** @description ServiceAccount request is invalid (Bad Request). */
25087
+ 400: {
25088
+ headers: {
25089
+ [name: string]: unknown;
25090
+ };
25091
+ content: {
25092
+ "application/json": components["schemas"]["StandardErrorResponse"];
25093
+ };
25094
+ };
25095
+ /** @description Unauthorized access. */
25096
+ 401: {
25097
+ headers: {
25098
+ [name: string]: unknown;
25099
+ };
25100
+ content: {
25101
+ "application/json": components["schemas"]["StandardErrorResponse"];
25102
+ };
25103
+ };
25104
+ /** @description Forbidden access. */
25105
+ 403: {
25106
+ headers: {
25107
+ [name: string]: unknown;
25108
+ };
25109
+ content: {
25110
+ "application/json": components["schemas"]["StandardErrorResponse"];
25111
+ };
25112
+ };
25113
+ /** @description ServiceAccount not found. */
25114
+ 404: {
25115
+ headers: {
25116
+ [name: string]: unknown;
25117
+ };
25118
+ content: {
25119
+ "application/json": components["schemas"]["StandardErrorResponse"];
25120
+ };
25121
+ };
25122
+ /** @description ServiceAccount data conflict. Data has changed since last read. */
25123
+ 409: {
25124
+ headers: {
25125
+ [name: string]: unknown;
25126
+ };
25127
+ content: {
25128
+ "application/json": components["schemas"]["StandardErrorResponse"];
25129
+ };
25130
+ };
25131
+ /** @description Something went wrong while processing ServiceAccount. */
25132
+ 500: {
25133
+ headers: {
25134
+ [name: string]: unknown;
25135
+ };
25136
+ content: {
25137
+ "application/json": components["schemas"]["StandardErrorResponse"];
25138
+ };
25139
+ };
25140
+ /** @description Unexpected error. */
25141
+ default: {
25142
+ headers: {
25143
+ [name: string]: unknown;
25144
+ };
25145
+ content: {
25146
+ "application/json": components["schemas"]["StandardErrorResponse"];
25147
+ };
25148
+ };
25149
+ };
25150
+ };
25151
+ DeleteServiceAccount: {
25152
+ parameters: {
25153
+ query?: never;
25154
+ header?: never;
25155
+ path: {
25156
+ /** @description Unique identifier for a service_account_id */
25157
+ service_account_id: string;
25158
+ };
25159
+ cookie?: never;
25160
+ };
25161
+ requestBody?: never;
25162
+ responses: {
25163
+ /** @description Response for successful delete operation */
25164
+ 200: {
25165
+ headers: {
25166
+ [name: string]: unknown;
25167
+ };
25168
+ content: {
25169
+ "application/json": components["schemas"]["DeleteResponse"];
25170
+ };
25171
+ };
25172
+ /** @description ServiceAccount request is invalid (Bad Request). */
25173
+ 400: {
25174
+ headers: {
25175
+ [name: string]: unknown;
25176
+ };
25177
+ content: {
25178
+ "application/json": components["schemas"]["StandardErrorResponse"];
25179
+ };
25180
+ };
25181
+ /** @description Unauthorized access. */
25182
+ 401: {
25183
+ headers: {
25184
+ [name: string]: unknown;
25185
+ };
25186
+ content: {
25187
+ "application/json": components["schemas"]["StandardErrorResponse"];
25188
+ };
25189
+ };
25190
+ /** @description Forbidden access. */
25191
+ 403: {
25192
+ headers: {
25193
+ [name: string]: unknown;
25194
+ };
25195
+ content: {
25196
+ "application/json": components["schemas"]["StandardErrorResponse"];
25197
+ };
25198
+ };
25199
+ /** @description ServiceAccount not found. */
25200
+ 404: {
25201
+ headers: {
25202
+ [name: string]: unknown;
25203
+ };
25204
+ content: {
25205
+ "application/json": components["schemas"]["StandardErrorResponse"];
25206
+ };
25207
+ };
25208
+ /** @description ServiceAccount is still in use: it has DeleteGates, or other entities still reference it. Or data has changed since last read. */
25209
+ 409: {
25210
+ headers: {
25211
+ [name: string]: unknown;
25212
+ };
25213
+ content: {
25214
+ "application/json": components["schemas"]["StandardErrorResponse"];
25215
+ };
25216
+ };
25217
+ /** @description ServiceAccount could not be deleted. */
25218
+ 422: {
25219
+ headers: {
25220
+ [name: string]: unknown;
25221
+ };
25222
+ content: {
25223
+ "application/json": components["schemas"]["StandardErrorResponse"];
25224
+ };
25225
+ };
25226
+ /** @description Something went wrong while processing ServiceAccount. */
25227
+ 500: {
25228
+ headers: {
25229
+ [name: string]: unknown;
25230
+ };
25231
+ content: {
25232
+ "application/json": components["schemas"]["StandardErrorResponse"];
25233
+ };
25234
+ };
25235
+ /** @description Unexpected error. */
25236
+ default: {
25237
+ headers: {
25238
+ [name: string]: unknown;
25239
+ };
25240
+ content: {
25241
+ "application/json": components["schemas"]["StandardErrorResponse"];
25242
+ };
25243
+ };
25244
+ };
25245
+ };
25246
+ PatchServiceAccount: {
25247
+ parameters: {
25248
+ query?: {
25249
+ /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
25250
+ dry_run?: boolean;
25251
+ };
25252
+ header?: never;
25253
+ path: {
25254
+ /** @description Unique identifier for a service_account_id */
25255
+ service_account_id: string;
25256
+ };
25257
+ cookie?: never;
25258
+ };
25259
+ requestBody?: {
25260
+ content: {
25261
+ "application/merge-patch+json": {
25262
+ /** @description An optional map of Annotation key/value pairs for tools to attach information to entities. */
25263
+ Annotations?: {
25264
+ [key: string]: string | null;
25265
+ } | null;
25266
+ /** @description An optional set of gates that, if any is present, will block deletion */
25267
+ DeleteGates?: {
25268
+ [key: string]: boolean | null;
25269
+ } | null;
25270
+ /** @description Friendly name for the entity. */
25271
+ DisplayName?: string | null;
25272
+ /** @description The reason the entity is hidden, if it is. A hidden entity is left out of List and Search results, and of what bulk operations act on, unless the include_hidden parameter names its reason or is *, or the where parameter names the entity by Slug or ID. ConfigHub/YAML Units are created hidden with the reason BackingUnit unless given another. */
25273
+ HiddenReason?: string | null;
25274
+ /** @description An optional map of Label key/value pairs to specify identifying attributes of entities for the purpose of grouping and filtering them. */
25275
+ Labels?: {
25276
+ [key: string]: string | null;
25277
+ } | null;
25278
+ OrgRole?: string | null;
25279
+ Permissions?: {
25280
+ [key: string]: Record<string, never> | null;
25281
+ } | null;
25282
+ /** @description Unique URL-safe identifier for the entity. */
25283
+ Slug?: string | null;
25284
+ /** @description An entity-specific sequence number used for optimistic concurrency control. The value read must be sent in calls to Update. */
25285
+ Version?: number | null;
25286
+ };
25287
+ };
25288
+ };
25289
+ responses: {
25290
+ /** @description An identity of the organization that is not a person and does not log in through the identity provider, such as an automation or an agent. Each ServiceAccount is backed by a User, which is what other entities' Permissions and Groups name to grant it access. The ServiceAccount's own Permissions say who may manage it. */
25291
+ 200: {
25292
+ headers: {
25293
+ [name: string]: unknown;
25294
+ };
25295
+ content: {
25296
+ "application/json": components["schemas"]["ServiceAccount"];
25297
+ };
25298
+ };
25299
+ /** @description ServiceAccount request is invalid (Bad Request). */
25300
+ 400: {
25301
+ headers: {
25302
+ [name: string]: unknown;
25303
+ };
25304
+ content: {
25305
+ "application/json": components["schemas"]["StandardErrorResponse"];
25306
+ };
25307
+ };
25308
+ /** @description Unauthorized access. */
25309
+ 401: {
25310
+ headers: {
25311
+ [name: string]: unknown;
25312
+ };
25313
+ content: {
25314
+ "application/json": components["schemas"]["StandardErrorResponse"];
25315
+ };
25316
+ };
25317
+ /** @description Forbidden access. */
25318
+ 403: {
25319
+ headers: {
25320
+ [name: string]: unknown;
25321
+ };
25322
+ content: {
25323
+ "application/json": components["schemas"]["StandardErrorResponse"];
25324
+ };
25325
+ };
25326
+ /** @description ServiceAccount not found. */
25327
+ 404: {
25328
+ headers: {
25329
+ [name: string]: unknown;
25330
+ };
25331
+ content: {
25332
+ "application/json": components["schemas"]["StandardErrorResponse"];
25333
+ };
25334
+ };
25335
+ /** @description ServiceAccount data conflict. Data has changed since last read. */
25336
+ 409: {
25337
+ headers: {
25338
+ [name: string]: unknown;
25339
+ };
25340
+ content: {
25341
+ "application/json": components["schemas"]["StandardErrorResponse"];
25342
+ };
25343
+ };
25344
+ /** @description Something went wrong while processing ServiceAccount. */
25345
+ 500: {
25346
+ headers: {
25347
+ [name: string]: unknown;
25348
+ };
25349
+ content: {
25350
+ "application/json": components["schemas"]["StandardErrorResponse"];
25351
+ };
25352
+ };
25353
+ /** @description Unexpected error. */
25354
+ default: {
25355
+ headers: {
25356
+ [name: string]: unknown;
25357
+ };
25358
+ content: {
25359
+ "application/json": components["schemas"]["StandardErrorResponse"];
25360
+ };
25361
+ };
25362
+ };
25363
+ };
25364
+ ListServiceAccountKeys: {
25365
+ parameters: {
25366
+ query?: never;
25367
+ header?: never;
25368
+ path: {
25369
+ /** @description UUID of the service account whose keys are being managed. */
25370
+ service_account_id: string;
25371
+ };
25372
+ cookie?: never;
25373
+ };
25374
+ requestBody?: never;
25375
+ responses: {
25376
+ /** @description OK */
25377
+ 200: {
25378
+ headers: {
25379
+ [name: string]: unknown;
25380
+ };
25381
+ content: {
25382
+ "application/json": components["schemas"]["UserKey"][];
25383
+ };
25384
+ };
25385
+ /** @description ServiceAccount request is invalid (Bad Request). */
25386
+ 400: {
25387
+ headers: {
25388
+ [name: string]: unknown;
25389
+ };
25390
+ content: {
25391
+ "application/json": components["schemas"]["StandardErrorResponse"];
25392
+ };
25393
+ };
25394
+ /** @description Unauthorized access. */
25395
+ 401: {
25396
+ headers: {
25397
+ [name: string]: unknown;
25398
+ };
25399
+ content: {
25400
+ "application/json": components["schemas"]["StandardErrorResponse"];
25401
+ };
25402
+ };
25403
+ /** @description Forbidden access. */
25404
+ 403: {
25405
+ headers: {
25406
+ [name: string]: unknown;
25407
+ };
25408
+ content: {
25409
+ "application/json": components["schemas"]["StandardErrorResponse"];
25410
+ };
25411
+ };
25412
+ /** @description ServiceAccount not found. */
25413
+ 404: {
25414
+ headers: {
25415
+ [name: string]: unknown;
25416
+ };
25417
+ content: {
25418
+ "application/json": components["schemas"]["StandardErrorResponse"];
25419
+ };
25420
+ };
25421
+ /** @description Something went wrong while processing ServiceAccount. */
25422
+ 500: {
25423
+ headers: {
25424
+ [name: string]: unknown;
25425
+ };
25426
+ content: {
25427
+ "application/json": components["schemas"]["StandardErrorResponse"];
25428
+ };
25429
+ };
25430
+ /** @description Unexpected error. */
25431
+ default: {
25432
+ headers: {
25433
+ [name: string]: unknown;
25434
+ };
25435
+ content: {
25436
+ "application/json": components["schemas"]["StandardErrorResponse"];
25437
+ };
25438
+ };
25439
+ };
25440
+ };
25441
+ CreateServiceAccountKey: {
25442
+ parameters: {
25443
+ query?: {
25444
+ /** @description If true, report what the write would do without doing it: the write runs, including every check it makes, and is then rolled back. The response is the one the write would return, with the entities as they would be written. An entity a dry run creates is given an ID that the real create will not reuse. */
25445
+ dry_run?: boolean;
25446
+ };
25447
+ header?: never;
25448
+ path: {
25449
+ /** @description UUID of the service account whose keys are being managed. */
25450
+ service_account_id: string;
25451
+ };
25452
+ cookie?: never;
25453
+ };
25454
+ requestBody?: {
25455
+ content: {
25456
+ "application/json": components["schemas"]["CreateUserKeyRequest"];
25457
+ };
25458
+ };
25459
+ responses: {
25460
+ /** @description OK */
25461
+ 200: {
25462
+ headers: {
25463
+ [name: string]: unknown;
25464
+ };
25465
+ content: {
25466
+ "application/json": components["schemas"]["UserKey"];
25467
+ };
25468
+ };
25469
+ /** @description ServiceAccount request is invalid (Bad Request). */
25470
+ 400: {
25471
+ headers: {
25472
+ [name: string]: unknown;
25473
+ };
25474
+ content: {
25475
+ "application/json": components["schemas"]["StandardErrorResponse"];
25476
+ };
25477
+ };
25478
+ /** @description Unauthorized access. */
25479
+ 401: {
25480
+ headers: {
25481
+ [name: string]: unknown;
25482
+ };
25483
+ content: {
25484
+ "application/json": components["schemas"]["StandardErrorResponse"];
25485
+ };
25486
+ };
25487
+ /** @description Forbidden access. */
25488
+ 403: {
25489
+ headers: {
25490
+ [name: string]: unknown;
25491
+ };
25492
+ content: {
25493
+ "application/json": components["schemas"]["StandardErrorResponse"];
25494
+ };
25495
+ };
25496
+ /** @description ServiceAccount not found. */
25497
+ 404: {
25498
+ headers: {
25499
+ [name: string]: unknown;
25500
+ };
25501
+ content: {
25502
+ "application/json": components["schemas"]["StandardErrorResponse"];
25503
+ };
25504
+ };
25505
+ /** @description ServiceAccount data conflict. Data has changed since last read. */
25506
+ 409: {
25507
+ headers: {
25508
+ [name: string]: unknown;
25509
+ };
25510
+ content: {
25511
+ "application/json": components["schemas"]["StandardErrorResponse"];
25512
+ };
25513
+ };
25514
+ /** @description Something went wrong while processing ServiceAccount. */
25515
+ 500: {
25516
+ headers: {
25517
+ [name: string]: unknown;
25518
+ };
25519
+ content: {
25520
+ "application/json": components["schemas"]["StandardErrorResponse"];
25521
+ };
25522
+ };
25523
+ /** @description Unexpected error. */
25524
+ default: {
25525
+ headers: {
25526
+ [name: string]: unknown;
25527
+ };
25528
+ content: {
25529
+ "application/json": components["schemas"]["StandardErrorResponse"];
25530
+ };
25531
+ };
25532
+ };
25533
+ };
25534
+ DeleteServiceAccountKey: {
25535
+ parameters: {
25536
+ query?: never;
25537
+ header?: never;
25538
+ path: {
25539
+ /** @description UUID of the service account whose keys are being managed. */
25540
+ service_account_id: string;
25541
+ /** @description RFC 7638 thumbprint of the key to remove. The key names itself, so a holder can address it without asking what it was called. */
25542
+ kid: string;
25543
+ };
25544
+ cookie?: never;
25545
+ };
25546
+ requestBody?: never;
25547
+ responses: {
25548
+ /** @description Response for successful delete operation */
25549
+ 200: {
25550
+ headers: {
25551
+ [name: string]: unknown;
25552
+ };
25553
+ content: {
25554
+ "application/json": components["schemas"]["DeleteResponse"];
25555
+ };
25556
+ };
25557
+ /** @description ServiceAccount request is invalid (Bad Request). */
25558
+ 400: {
25559
+ headers: {
25560
+ [name: string]: unknown;
25561
+ };
25562
+ content: {
25563
+ "application/json": components["schemas"]["StandardErrorResponse"];
25564
+ };
25565
+ };
25566
+ /** @description Unauthorized access. */
25567
+ 401: {
25568
+ headers: {
25569
+ [name: string]: unknown;
25570
+ };
25571
+ content: {
25572
+ "application/json": components["schemas"]["StandardErrorResponse"];
25573
+ };
25574
+ };
25575
+ /** @description Forbidden access. */
25576
+ 403: {
25577
+ headers: {
25578
+ [name: string]: unknown;
25579
+ };
25580
+ content: {
25581
+ "application/json": components["schemas"]["StandardErrorResponse"];
25582
+ };
25583
+ };
25584
+ /** @description ServiceAccount not found. */
25585
+ 404: {
25586
+ headers: {
25587
+ [name: string]: unknown;
25588
+ };
25589
+ content: {
25590
+ "application/json": components["schemas"]["StandardErrorResponse"];
25591
+ };
25592
+ };
25593
+ /** @description ServiceAccount is still in use: it has DeleteGates, or other entities still reference it. Or data has changed since last read. */
25594
+ 409: {
25595
+ headers: {
25596
+ [name: string]: unknown;
25597
+ };
25598
+ content: {
25599
+ "application/json": components["schemas"]["StandardErrorResponse"];
25600
+ };
25601
+ };
25602
+ /** @description ServiceAccount could not be deleted. */
25603
+ 422: {
25604
+ headers: {
25605
+ [name: string]: unknown;
25606
+ };
25607
+ content: {
25608
+ "application/json": components["schemas"]["StandardErrorResponse"];
25609
+ };
25610
+ };
25611
+ /** @description Something went wrong while processing ServiceAccount. */
25612
+ 500: {
25613
+ headers: {
25614
+ [name: string]: unknown;
25615
+ };
25616
+ content: {
25617
+ "application/json": components["schemas"]["StandardErrorResponse"];
25618
+ };
25619
+ };
25620
+ /** @description Unexpected error. */
25621
+ default: {
25622
+ headers: {
25623
+ [name: string]: unknown;
25624
+ };
25625
+ content: {
25626
+ "application/json": components["schemas"]["StandardErrorResponse"];
25627
+ };
25628
+ };
25629
+ };
25630
+ };
24042
25631
  ListSpaces: {
24043
25632
  parameters: {
24044
25633
  query?: {
@@ -32684,7 +34273,7 @@ interface operations {
32684
34273
  * An example conjunction is:
32685
34274
  * `CreatedAt >= '2025-01-07' AND Slug = 'test' AND Labels.mykey = 'myvalue'`.
32686
34275
  *
32687
- * Supported attributes for filtering on Release: Annotations, ChangeOrderID, CreatedAt, DeleteGates, Digest, HiddenReason, Labels, LiveStatus, ManifestDigest, OrganizationID, Permissions, Published, ReleaseID, ReleaseNum, SpaceID, TagID, TargetID, UnitCount, UpdatedAt, UserID.
34276
+ * Supported attributes for filtering on Release: Annotations, ChangeOrderID, CreatedAt, DeleteGates, Digest, HiddenReason, Labels, LiveStatus, ManifestDigest, OrganizationID, Permissions, Published, ReleaseID, ReleaseNum, SkippedUnits, SpaceID, TagID, TargetID, UnitCount, UpdatedAt, UserID.
32688
34277
  *
32689
34278
  * The whole string must be query-encoded.
32690
34279
  */