@opusdns/api 0.197.0 → 0.199.0

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.
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "@opusdns/api-spec-ts-generator": "^0.19.0"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "0.197.0",
6
+ "version": "0.199.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -21,7 +21,7 @@
21
21
  * ```
22
22
  */
23
23
 
24
- import { AllocationMethodType, AttributeType, BillingTransactionAction, BillingTransactionProductType, BillingTransactionSortField, BillingTransactionStatus, ComplianceStatus, ContactSortField, Currency, DeletePolicyType, DnsChangeAction, DnsRrsetType, DnssecAlgorithm, DnssecDigestType, DnssecModeType, DnssecRecordType, DnssecStatus, DomainAttributeKey, DomainAvailabilityStatus, DomainClientStatus, DomainContactType, DomainForwardSortField, DomainForwardZoneSortField, DomainSortField, DomainStatus, EmailForwardLogSortField, EmailForwardLogStatus, EmailForwardSortField, EmailForwardZoneSortField, EmailVerificationStatus, EventObjectType, EventSortField, EventSubtype, EventType, ExecutingEntity, GrantType, HTTPMethod, HostStatus, HttpProtocol, InvoiceResponsePaymentStatus, InvoiceResponseStatus, InvoiceResponseType, LaunchPhaseType, LocalPresenceRequirementType, MetricsGrouping, ObjectEventType, ObjectLogSortField, OrganizationStatus, ParkingSortField, PatchOp, PeriodUnit, Permission, PostTransferRequirements, PostalAddressType, PremiumAffectsType, PremiumSourceType, Protocol, RedirectCode, RegistrantChangeType, RegistryHandleAttributeType, Relation, RenewalMode, RequestHistorySortField, ReservedSourceType, SortOrder, SyncOperationType, TLDType, TimeRange, TransferAckType, UserStatus, VerificationType, ZoneSortField } from './schemas';
24
+ import { AllocationMethodType, AttributeType, BillingTransactionAction, BillingTransactionProductType, BillingTransactionSortField, BillingTransactionStatus, ComplianceStatus, ConditionOperator, ContactSortField, Currency, DeletePolicyType, DnsChangeAction, DnsRrsetType, DnssecAlgorithm, DnssecDigestType, DnssecModeType, DnssecRecordType, DnssecStatus, DomainAttributeKey, DomainAvailabilityStatus, DomainClientStatus, DomainContactType, DomainForwardSortField, DomainForwardZoneSortField, DomainSortField, DomainStatus, EmailForwardLogSortField, EmailForwardLogStatus, EmailForwardSortField, EmailForwardZoneSortField, EmailVerificationStatus, EventObjectType, EventSortField, EventSubtype, EventType, ExecutingEntity, GrantType, HTTPMethod, HostStatus, HttpProtocol, InvoiceResponsePaymentStatus, InvoiceResponseStatus, InvoiceResponseType, LaunchPhaseType, LocalPresenceRequirementType, MetricsGrouping, ObjectEventType, ObjectLogSortField, OrganizationStatus, ParkingSortField, PatchOp, PeriodUnit, Permission, PostTransferRequirements, PostalAddressType, PremiumAffectsType, PremiumSourceType, Protocol, RedirectCode, RegistrantChangeType, RegistryHandleAttributeType, Relation, RenewalMode, RequestHistorySortField, ReservedSourceType, SortOrder, SyncOperationType, TLDType, TimeRange, TransferAckType, UserStatus, VerificationType, ZoneSortField } from './schemas';
25
25
 
26
26
  /**
27
27
  * AllocationMethodType. Auto-generated enum for AllocationMethodType
@@ -413,6 +413,60 @@ export const COMPLIANCE_STATUS_VALUES = [
413
413
  'disapproved'
414
414
  ] as const satisfies [string, ...string[]] | ComplianceStatus[];
415
415
 
416
+ /**
417
+ * ConditionOperator. Auto-generated enum for ConditionOperator
418
+ *
419
+ * @remarks
420
+ * This constant provides both object and array forms for the ConditionOperator enum.
421
+ * The object form allows key-value access, while the array form enables iteration and validation.
422
+ *
423
+ * @example
424
+ * ```typescript
425
+ * // Using the object form for key-value access
426
+ * const status = CONDITION_OPERATOR.SUCCESS;
427
+ *
428
+ * // Using the array form for iteration
429
+ * const allStatuses = CONDITION_OPERATOR_VALUES;
430
+ * console.log(`Available statuses: ${allStatuses.join(', ')}`);
431
+ * ```
432
+ *
433
+ * @see {@link ConditionOperator} - The TypeScript type definition
434
+ */
435
+ export const CONDITION_OPERATOR = {
436
+ EQUALS: "equals",
437
+ NOT_EQUALS: "not_equals",
438
+ IN: "in",
439
+ NOT_IN: "not_in",
440
+ } as const satisfies Record<string, ConditionOperator>;
441
+
442
+ /**
443
+ * Array of all ConditionOperator enum values
444
+ *
445
+ * @remarks
446
+ * This constant provides a array containing all valid ConditionOperator enum values.
447
+ * Useful for iteration, validation, and generating dynamic UI components.
448
+ *
449
+ * @example
450
+ * ```typescript
451
+ * // Iterating through all values
452
+ * for (const value of CONDITION_OPERATOR_VALUES) {
453
+ * console.log(`Processing: ${value}`);
454
+ * }
455
+ *
456
+ * // Validation
457
+ * const isValid = CONDITION_OPERATOR_VALUES.includes(someValue);
458
+ * ```
459
+ *
460
+ * @see {@link ConditionOperator} - The TypeScript type definition
461
+ * @see {@link CONDITION_OPERATOR} - The object form of this enum
462
+ */
463
+ export const CONDITION_OPERATOR_VALUES = [
464
+ 'equals',
465
+ 'not_equals',
466
+ 'in',
467
+ 'not_in'
468
+ ] as const satisfies [string, ...string[]] | ConditionOperator[];
469
+
416
470
  /**
417
471
  * ContactSortField. Auto-generated enum for ContactSortField
418
472
  *
@@ -30,6 +30,7 @@
30
30
  */
31
31
 
32
32
  import { AllowedNumberOfNameserverBase } from './schemas';
33
+ import { AttributeCondition } from './schemas';
33
34
  import { BillingMetadata } from './schemas';
34
35
  import { BillingPlan } from './schemas';
35
36
  import { BillingTransaction } from './schemas';
@@ -39,7 +40,6 @@ import { ContactConfigBase } from './schemas';
39
40
  import { ContactCreate } from './schemas';
40
41
  import { ContactHandle } from './schemas';
41
42
  import { Contact } from './schemas';
42
- import { ContactRoleAttributeRequirement } from './schemas';
43
43
  import { ContactSchema } from './schemas';
44
44
  import { ContactVerificationApi } from './schemas';
45
45
  import { ContactVerificationEmail } from './schemas';
@@ -289,6 +289,108 @@ export const KEYS_ALLOWED_NUMBER_OF_NAMESERVER_BASE = [
289
289
  KEY_ALLOWED_NUMBER_OF_NAMESERVER_BASE_MIN,
290
290
  ] as const satisfies (keyof AllowedNumberOfNameserverBase)[];
291
291
 
292
+ /**
293
+ * field property
294
+ *
295
+ * The attribute key to evaluate
296
+ *
297
+ *
298
+ *
299
+ * @remarks
300
+ * This key constant provides type-safe access to the `field` property of AttributeCondition objects.
301
+ * Use this constant when you need to access properties dynamically or ensure type safety.
302
+ *
303
+ * @example
304
+ * ```typescript
305
+ * // Direct property access
306
+ * const value = attributecondition[KEY_ATTRIBUTE_CONDITION_FIELD];
307
+ *
308
+ * // Dynamic property access
309
+ * const propertyName = KEY_ATTRIBUTE_CONDITION_FIELD;
310
+ * const value = attributecondition[propertyName];
311
+ * ```
312
+ *
313
+ * @see {@link AttributeCondition} - The TypeScript type definition
314
+ * @see {@link KEYS_ATTRIBUTE_CONDITION} - Array of all keys for this type
315
+ */
316
+ export const KEY_ATTRIBUTE_CONDITION_FIELD: keyof AttributeCondition = 'field';
317
+ /**
318
+ * operator property
319
+ *
320
+ * The comparison operator
321
+ *
322
+ *
323
+ *
324
+ * @remarks
325
+ * This key constant provides type-safe access to the `operator` property of AttributeCondition objects.
326
+ * Use this constant when you need to access properties dynamically or ensure type safety.
327
+ *
328
+ * @example
329
+ * ```typescript
330
+ * // Direct property access
331
+ * const value = attributecondition[KEY_ATTRIBUTE_CONDITION_OPERATOR];
332
+ *
333
+ * // Dynamic property access
334
+ * const propertyName = KEY_ATTRIBUTE_CONDITION_OPERATOR;
335
+ * const value = attributecondition[propertyName];
336
+ * ```
337
+ *
338
+ * @see {@link AttributeCondition} - The TypeScript type definition
339
+ * @see {@link KEYS_ATTRIBUTE_CONDITION} - Array of all keys for this type
340
+ */
341
+ export const KEY_ATTRIBUTE_CONDITION_OPERATOR: keyof AttributeCondition = 'operator';
342
+ /**
343
+ * Value
344
+ *
345
+ * The value(s) to compare against
346
+ *
347
+ *
348
+ *
349
+ * @remarks
350
+ * This key constant provides type-safe access to the `value` property of AttributeCondition objects.
351
+ * Use this constant when you need to access properties dynamically or ensure type safety.
352
+ *
353
+ * @example
354
+ * ```typescript
355
+ * // Direct property access
356
+ * const value = attributecondition[KEY_ATTRIBUTE_CONDITION_VALUE];
357
+ *
358
+ * // Dynamic property access
359
+ * const propertyName = KEY_ATTRIBUTE_CONDITION_VALUE;
360
+ * const value = attributecondition[propertyName];
361
+ * ```
362
+ *
363
+ * @see {@link AttributeCondition} - The TypeScript type definition
364
+ * @see {@link KEYS_ATTRIBUTE_CONDITION} - Array of all keys for this type
365
+ */
366
+ export const KEY_ATTRIBUTE_CONDITION_VALUE: keyof AttributeCondition = 'value';
367
+
368
+ /**
369
+ * Array of all AttributeCondition property keys
370
+ *
371
+ * @remarks
372
+ * This constant provides a readonly array containing all valid property keys for AttributeCondition objects.
373
+ * Useful for iteration, validation, and generating dynamic UI components.
374
+ *
375
+ * @example
376
+ * ```typescript
377
+ * // Iterating through all keys
378
+ * for (const key of KEYS_ATTRIBUTE_CONDITION) {
379
+ * console.log(`Property: ${key}, Value: ${attributecondition[key]}`);
380
+ * }
381
+ *
382
+ * // Validation
383
+ * const isValidKey = KEYS_ATTRIBUTE_CONDITION.includes(someKey);
384
+ * ```
385
+ *
386
+ * @see {@link AttributeCondition} - The TypeScript type definition
387
+ */
388
+ export const KEYS_ATTRIBUTE_CONDITION = [
389
+ KEY_ATTRIBUTE_CONDITION_FIELD,
390
+ KEY_ATTRIBUTE_CONDITION_OPERATOR,
391
+ KEY_ATTRIBUTE_CONDITION_VALUE,
392
+ ] as const satisfies (keyof AttributeCondition)[];
393
+
292
394
  /**
293
395
  * Billing Model
294
396
  *
@@ -1042,6 +1144,56 @@ export const KEYS_BROWSER_STATS_BUCKET = [
1042
1144
  KEY_BROWSER_STATS_BUCKET_UNIQUE,
1043
1145
  ] as const satisfies (keyof BrowserStatsBucket)[];
1044
1146
 
1147
+ /**
1148
+ * Conditions
1149
+ *
1150
+ * Conditions that must ALL be true for this attribute to be active. None means always active.
1151
+ *
1152
+ *
1153
+ *
1154
+ * @remarks
1155
+ * This key constant provides type-safe access to the `conditions` property of ContactAttributeDefinition objects.
1156
+ * Use this constant when you need to access properties dynamically or ensure type safety.
1157
+ *
1158
+ * @example
1159
+ * ```typescript
1160
+ * // Direct property access
1161
+ * const value = contactattributedefinition[KEY_CONTACT_ATTRIBUTE_DEFINITION_CONDITIONS];
1162
+ *
1163
+ * // Dynamic property access
1164
+ * const propertyName = KEY_CONTACT_ATTRIBUTE_DEFINITION_CONDITIONS;
1165
+ * const value = contactattributedefinition[propertyName];
1166
+ * ```
1167
+ *
1168
+ * @see {@link ContactAttributeDefinition} - The TypeScript type definition
1169
+ * @see {@link KEYS_CONTACT_ATTRIBUTE_DEFINITION} - Array of all keys for this type
1170
+ */
1171
+ export const KEY_CONTACT_ATTRIBUTE_DEFINITION_CONDITIONS: keyof ContactAttributeDefinition = 'conditions';
1172
+ /**
1173
+ * Contact Roles
1174
+ *
1175
+ * Contact roles this attribute applies to. None means all roles.
1176
+ *
1177
+ *
1178
+ *
1179
+ * @remarks
1180
+ * This key constant provides type-safe access to the `contact_roles` property of ContactAttributeDefinition objects.
1181
+ * Use this constant when you need to access properties dynamically or ensure type safety.
1182
+ *
1183
+ * @example
1184
+ * ```typescript
1185
+ * // Direct property access
1186
+ * const value = contactattributedefinition[KEY_CONTACT_ATTRIBUTE_DEFINITION_CONTACT_ROLES];
1187
+ *
1188
+ * // Dynamic property access
1189
+ * const propertyName = KEY_CONTACT_ATTRIBUTE_DEFINITION_CONTACT_ROLES;
1190
+ * const value = contactattributedefinition[propertyName];
1191
+ * ```
1192
+ *
1193
+ * @see {@link ContactAttributeDefinition} - The TypeScript type definition
1194
+ * @see {@link KEYS_CONTACT_ATTRIBUTE_DEFINITION} - Array of all keys for this type
1195
+ */
1196
+ export const KEY_CONTACT_ATTRIBUTE_DEFINITION_CONTACT_ROLES: keyof ContactAttributeDefinition = 'contact_roles';
1045
1197
  /**
1046
1198
  * key property
1047
1199
  *
@@ -1067,6 +1219,32 @@ export const KEYS_BROWSER_STATS_BUCKET = [
1067
1219
  * @see {@link KEYS_CONTACT_ATTRIBUTE_DEFINITION} - Array of all keys for this type
1068
1220
  */
1069
1221
  export const KEY_CONTACT_ATTRIBUTE_DEFINITION_KEY: keyof ContactAttributeDefinition = 'key';
1222
+ /**
1223
+ * Required
1224
+ *
1225
+ * Whether this attribute is required when its conditions are met
1226
+ *
1227
+ * @type {boolean}
1228
+ *
1229
+ *
1230
+ * @remarks
1231
+ * This key constant provides type-safe access to the `required` property of ContactAttributeDefinition objects.
1232
+ * Use this constant when you need to access properties dynamically or ensure type safety.
1233
+ *
1234
+ * @example
1235
+ * ```typescript
1236
+ * // Direct property access
1237
+ * const value = contactattributedefinition[KEY_CONTACT_ATTRIBUTE_DEFINITION_REQUIRED];
1238
+ *
1239
+ * // Dynamic property access
1240
+ * const propertyName = KEY_CONTACT_ATTRIBUTE_DEFINITION_REQUIRED;
1241
+ * const value = contactattributedefinition[propertyName];
1242
+ * ```
1243
+ *
1244
+ * @see {@link ContactAttributeDefinition} - The TypeScript type definition
1245
+ * @see {@link KEYS_CONTACT_ATTRIBUTE_DEFINITION} - Array of all keys for this type
1246
+ */
1247
+ export const KEY_CONTACT_ATTRIBUTE_DEFINITION_REQUIRED: keyof ContactAttributeDefinition = 'required';
1070
1248
  /**
1071
1249
  * type property
1072
1250
  *
@@ -1139,7 +1317,10 @@ export const KEY_CONTACT_ATTRIBUTE_DEFINITION_VALUES: keyof ContactAttributeDefi
1139
1317
  * @see {@link ContactAttributeDefinition} - The TypeScript type definition
1140
1318
  */
1141
1319
  export const KEYS_CONTACT_ATTRIBUTE_DEFINITION = [
1320
+ KEY_CONTACT_ATTRIBUTE_DEFINITION_CONDITIONS,
1321
+ KEY_CONTACT_ATTRIBUTE_DEFINITION_CONTACT_ROLES,
1142
1322
  KEY_CONTACT_ATTRIBUTE_DEFINITION_KEY,
1323
+ KEY_CONTACT_ATTRIBUTE_DEFINITION_REQUIRED,
1143
1324
  KEY_CONTACT_ATTRIBUTE_DEFINITION_TYPE,
1144
1325
  KEY_CONTACT_ATTRIBUTE_DEFINITION_VALUES,
1145
1326
  ] as const satisfies (keyof ContactAttributeDefinition)[];
@@ -2067,83 +2248,6 @@ export const KEYS_CONTACT = [
2067
2248
  KEY_CONTACT_TITLE,
2068
2249
  ] as const satisfies (keyof Contact)[];
2069
2250
 
2070
- /**
2071
- * Attributes
2072
- *
2073
- * List of required attribute keys for this role
2074
- *
2075
- * @type {array}
2076
- *
2077
- *
2078
- * @remarks
2079
- * This key constant provides type-safe access to the `attributes` property of ContactRoleAttributeRequirement objects.
2080
- * Use this constant when you need to access properties dynamically or ensure type safety.
2081
- *
2082
- * @example
2083
- * ```typescript
2084
- * // Direct property access
2085
- * const value = contactroleattributerequirement[KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ATTRIBUTES];
2086
- *
2087
- * // Dynamic property access
2088
- * const propertyName = KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ATTRIBUTES;
2089
- * const value = contactroleattributerequirement[propertyName];
2090
- * ```
2091
- *
2092
- * @see {@link ContactRoleAttributeRequirement} - The TypeScript type definition
2093
- * @see {@link KEYS_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT} - Array of all keys for this type
2094
- */
2095
- export const KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ATTRIBUTES: keyof ContactRoleAttributeRequirement = 'attributes';
2096
- /**
2097
- * role property
2098
- *
2099
- * The role this requirement applies to
2100
- *
2101
- *
2102
- *
2103
- * @remarks
2104
- * This key constant provides type-safe access to the `role` property of ContactRoleAttributeRequirement objects.
2105
- * Use this constant when you need to access properties dynamically or ensure type safety.
2106
- *
2107
- * @example
2108
- * ```typescript
2109
- * // Direct property access
2110
- * const value = contactroleattributerequirement[KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ROLE];
2111
- *
2112
- * // Dynamic property access
2113
- * const propertyName = KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ROLE;
2114
- * const value = contactroleattributerequirement[propertyName];
2115
- * ```
2116
- *
2117
- * @see {@link ContactRoleAttributeRequirement} - The TypeScript type definition
2118
- * @see {@link KEYS_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT} - Array of all keys for this type
2119
- */
2120
- export const KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ROLE: keyof ContactRoleAttributeRequirement = 'role';
2121
-
2122
- /**
2123
- * Array of all ContactRoleAttributeRequirement property keys
2124
- *
2125
- * @remarks
2126
- * This constant provides a readonly array containing all valid property keys for ContactRoleAttributeRequirement objects.
2127
- * Useful for iteration, validation, and generating dynamic UI components.
2128
- *
2129
- * @example
2130
- * ```typescript
2131
- * // Iterating through all keys
2132
- * for (const key of KEYS_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT) {
2133
- * console.log(`Property: ${key}, Value: ${contactroleattributerequirement[key]}`);
2134
- * }
2135
- *
2136
- * // Validation
2137
- * const isValidKey = KEYS_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT.includes(someKey);
2138
- * ```
2139
- *
2140
- * @see {@link ContactRoleAttributeRequirement} - The TypeScript type definition
2141
- */
2142
- export const KEYS_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT = [
2143
- KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ATTRIBUTES,
2144
- KEY_CONTACT_ROLE_ATTRIBUTE_REQUIREMENT_ROLE,
2145
- ] as const satisfies (keyof ContactRoleAttributeRequirement)[];
2146
-
2147
2251
  /**
2148
2252
  * City
2149
2253
  *
@@ -3479,32 +3583,6 @@ export const KEY_CONTACTS_BASE_PRIVACY_PROXY: keyof ContactsBase = 'privacy_prox
3479
3583
  * @see {@link KEYS_CONTACTS_BASE} - Array of all keys for this type
3480
3584
  */
3481
3585
  export const KEY_CONTACTS_BASE_REGISTRANT_CHANGE: keyof ContactsBase = 'registrant_change';
3482
- /**
3483
- * Required Attributes
3484
- *
3485
- * List of attribute requirements by role
3486
- *
3487
- * @type {array}
3488
- *
3489
- *
3490
- * @remarks
3491
- * This key constant provides type-safe access to the `required_attributes` property of ContactsBase objects.
3492
- * Use this constant when you need to access properties dynamically or ensure type safety.
3493
- *
3494
- * @example
3495
- * ```typescript
3496
- * // Direct property access
3497
- * const value = contactsbase[KEY_CONTACTS_BASE_REQUIRED_ATTRIBUTES];
3498
- *
3499
- * // Dynamic property access
3500
- * const propertyName = KEY_CONTACTS_BASE_REQUIRED_ATTRIBUTES;
3501
- * const value = contactsbase[propertyName];
3502
- * ```
3503
- *
3504
- * @see {@link ContactsBase} - The TypeScript type definition
3505
- * @see {@link KEYS_CONTACTS_BASE} - Array of all keys for this type
3506
- */
3507
- export const KEY_CONTACTS_BASE_REQUIRED_ATTRIBUTES: keyof ContactsBase = 'required_attributes';
3508
3586
  /**
3509
3587
  * Support Check
3510
3588
  *
@@ -3707,7 +3785,6 @@ export const KEYS_CONTACTS_BASE = [
3707
3785
  KEY_CONTACTS_BASE_POSSIBLE_ATTRIBUTES,
3708
3786
  KEY_CONTACTS_BASE_PRIVACY_PROXY,
3709
3787
  KEY_CONTACTS_BASE_REGISTRANT_CHANGE,
3710
- KEY_CONTACTS_BASE_REQUIRED_ATTRIBUTES,
3711
3788
  KEY_CONTACTS_BASE_SUPPORT_CHECK,
3712
3789
  KEY_CONTACTS_BASE_SUPPORT_CLIENT_CONTACT_ID,
3713
3790
  KEY_CONTACTS_BASE_SUPPORT_TRANSFER,
@@ -21,7 +21,7 @@
21
21
  * This file is auto-generated from the OpenAPI specification.
22
22
  * Do not edit manually.
23
23
  */
24
- import { DomainDnssecData, DomainDnssecDataCreate, OrganizationAttribute, OrganizationAttributeUpdate, IpRestriction, TldResponseShort, RegistryHandleAttributeType, ContactAttributeDefinition, ContactRoleAttributeRequirement, PostalAddressType, ContactConfigBase, DnsChange, DnsRecordCreate, DnsRecord, DnsRrsetCreate, DnsRecordPatchOp, DnsRrset, DnsRrsetPatchOp, DomainAvailabilityCheck, ContactHandle, Nameserver, BrowserStatsBucket, GeoStatsBucket, TimeSeriesBucket, DomainForwardPatchOp, PlatformStatsBucket, HttpRedirectList, ReferrerStatsBucket, StatusCodeStatsBucket, UserAgentStatsBucket, VisitsByKeyBucket, DomainForward, DeletePolicyType, SyncOperationType, DomainContact, DomainHost, DomainSearchSuggestionWithPrice, DomainStatus, DomainClientStatus, EmailForwardAliasCreate, EmailForwardLogEvent, EmailForwardAliasMetrics, EmailForwardAlias, EmailForward, PriceInfo, ValidationError, LaunchPhaseBase, LocalPresenceRequirementType, DomainContactType, OrganizationAttribute2, User, OrganizationAttributeCreate, UserCreate, BillingTransaction, ContactSchema, DnsZone, DomainForwardZone, Domain, EmailForwardLog, EmailForwardZone, EventResponse, Invoice, ObjectLog, Organization, Parking, RequestHistory, UserPublic, Period, Permission, PremiumAffectsType, Relation, TldBase, PostTransferRequirements, UserAttributeBase, DomainAvailability } from './schemas.d';
24
+ import { DomainDnssecData, DomainDnssecDataCreate, OrganizationAttribute, OrganizationAttributeUpdate, IpRestriction, TldResponseShort, AttributeCondition, DomainContactType, ContactAttributeDefinition, PostalAddressType, ContactConfigBase, DnsChange, DnsRecordCreate, DnsRecord, DnsRrsetCreate, DnsRecordPatchOp, DnsRrset, DnsRrsetPatchOp, DomainAvailabilityCheck, ContactHandle, Nameserver, BrowserStatsBucket, GeoStatsBucket, TimeSeriesBucket, DomainForwardPatchOp, PlatformStatsBucket, HttpRedirectList, ReferrerStatsBucket, StatusCodeStatsBucket, UserAgentStatsBucket, VisitsByKeyBucket, DomainForward, DeletePolicyType, SyncOperationType, DomainContact, DomainHost, DomainSearchSuggestionWithPrice, DomainStatus, DomainClientStatus, EmailForwardAliasCreate, EmailForwardLogEvent, EmailForwardAliasMetrics, EmailForwardAlias, EmailForward, PriceInfo, ValidationError, LaunchPhaseBase, LocalPresenceRequirementType, OrganizationAttribute2, User, OrganizationAttributeCreate, UserCreate, BillingTransaction, ContactSchema, DnsZone, DomainForwardZone, Domain, EmailForwardLog, EmailForwardZone, EventResponse, Invoice, ObjectLog, Organization, Parking, RequestHistory, UserPublic, Period, Permission, PremiumAffectsType, Relation, TldBase, PostTransferRequirements, UserAttributeBase, DomainAvailability } from './schemas.d';
25
25
 
26
26
  /**
27
27
  * DomainDnssecDataResponse
@@ -108,47 +108,47 @@ export type IpRestrictionArray = IpRestriction[];
108
108
  */
109
109
  export type TldResponseShortArray = TldResponseShort[];
110
110
  /**
111
- * RegistryHandleAttributeType. Registry handle attribute types for type-safe attribute key access.
111
+ * AttributeCondition
112
112
  *
113
113
  * @remarks
114
- * Array type for RegistryHandleAttributeType objects. Used when the API returns a collection of RegistryHandleAttributeType instances.
114
+ * Array type for AttributeCondition objects. Used when the API returns a collection of AttributeCondition instances.
115
115
  *
116
116
  * @example
117
117
  * ```typescript
118
- * const items: RegistryHandleAttributeTypeArray = await api.getRegistryHandleAttributeTypes();
118
+ * const items: AttributeConditionArray = await api.getAttributeConditions();
119
119
  * ```
120
120
  *
121
- * @see {@link RegistryHandleAttributeType} - The individual RegistryHandleAttributeType type definition
121
+ * @see {@link AttributeCondition} - The individual AttributeCondition type definition
122
122
  */
123
- export type RegistryHandleAttributeTypeArray = RegistryHandleAttributeType[];
123
+ export type AttributeConditionArray = AttributeCondition[];
124
124
  /**
125
- * ContactAttributeDefinition. Definition of a possible attribute for a TLD.
125
+ * DomainContactType
126
126
  *
127
127
  * @remarks
128
- * Array type for ContactAttributeDefinition objects. Used when the API returns a collection of ContactAttributeDefinition instances.
128
+ * Array type for DomainContactType objects. Used when the API returns a collection of DomainContactType instances.
129
129
  *
130
130
  * @example
131
131
  * ```typescript
132
- * const items: ContactAttributeDefinitionArray = await api.getContactAttributeDefinitions();
132
+ * const items: DomainContactTypeArray = await api.getDomainContactTypes();
133
133
  * ```
134
134
  *
135
- * @see {@link ContactAttributeDefinition} - The individual ContactAttributeDefinition type definition
135
+ * @see {@link DomainContactType} - The individual DomainContactType type definition
136
136
  */
137
- export type ContactAttributeDefinitionArray = ContactAttributeDefinition[];
137
+ export type DomainContactTypeArray = DomainContactType[];
138
138
  /**
139
- * ContactRoleAttributeRequirement. Attribute requirements for a specific contact role.
139
+ * ContactAttributeDefinition. Definition of a possible attribute for a TLD.
140
140
  *
141
141
  * @remarks
142
- * Array type for ContactRoleAttributeRequirement objects. Used when the API returns a collection of ContactRoleAttributeRequirement instances.
142
+ * Array type for ContactAttributeDefinition objects. Used when the API returns a collection of ContactAttributeDefinition instances.
143
143
  *
144
144
  * @example
145
145
  * ```typescript
146
- * const items: ContactRoleAttributeRequirementArray = await api.getContactRoleAttributeRequirements();
146
+ * const items: ContactAttributeDefinitionArray = await api.getContactAttributeDefinitions();
147
147
  * ```
148
148
  *
149
- * @see {@link ContactRoleAttributeRequirement} - The individual ContactRoleAttributeRequirement type definition
149
+ * @see {@link ContactAttributeDefinition} - The individual ContactAttributeDefinition type definition
150
150
  */
151
- export type ContactRoleAttributeRequirementArray = ContactRoleAttributeRequirement[];
151
+ export type ContactAttributeDefinitionArray = ContactAttributeDefinition[];
152
152
  /**
153
153
  * PostalAddressType
154
154
  *
@@ -695,20 +695,6 @@ export type LaunchPhaseBaseArray = LaunchPhaseBase[];
695
695
  * @see {@link LocalPresenceRequirementType} - The individual LocalPresenceRequirementType type definition
696
696
  */
697
697
  export type LocalPresenceRequirementTypeArray = LocalPresenceRequirementType[];
698
- /**
699
- * DomainContactType
700
- *
701
- * @remarks
702
- * Array type for DomainContactType objects. Used when the API returns a collection of DomainContactType instances.
703
- *
704
- * @example
705
- * ```typescript
706
- * const items: DomainContactTypeArray = await api.getDomainContactTypes();
707
- * ```
708
- *
709
- * @see {@link DomainContactType} - The individual DomainContactType type definition
710
- */
711
- export type DomainContactTypeArray = DomainContactType[];
712
698
  /**
713
699
  * OrganizationAttribute
714
700
  *
@@ -58,6 +58,22 @@ export type AllocationMethodType = components['schemas']['AllocationMethodType']
58
58
  * @see {@link components} - The OpenAPI components schema definition
59
59
  */
60
60
  export type AllowedNumberOfNameserverBase = components['schemas']['AllowedNumberOfNameserverBase'];
61
+ /**
62
+ * AttributeCondition
63
+ *
64
+ * @remarks
65
+ * Type alias for the `AttributeCondition` OpenAPI schema.
66
+ * This type represents attributecondition data structures used in API requests and responses.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const response = await api.getAttributeCondition();
71
+ * const item: AttributeCondition = response.results;
72
+ * ```
73
+ *
74
+ * @see {@link components} - The OpenAPI components schema definition
75
+ */
76
+ export type AttributeCondition = components['schemas']['AttributeCondition'];
61
77
  /**
62
78
  * AttributeType
63
79
  *
@@ -218,6 +234,22 @@ export type BrowserStatsBucket = components['schemas']['BrowserStatsBucket'];
218
234
  * @see {@link components} - The OpenAPI components schema definition
219
235
  */
220
236
  export type ComplianceStatus = components['schemas']['ComplianceStatus'];
237
+ /**
238
+ * ConditionOperator
239
+ *
240
+ * @remarks
241
+ * Type alias for the `ConditionOperator` OpenAPI schema.
242
+ * This type represents conditionoperator data structures used in API requests and responses.
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * const response = await api.getConditionOperator();
247
+ * const item: ConditionOperator = response.results;
248
+ * ```
249
+ *
250
+ * @see {@link components} - The OpenAPI components schema definition
251
+ */
252
+ export type ConditionOperator = components['schemas']['ConditionOperator'];
221
253
  /**
222
254
  * ContactAttributeDefinition. Definition of a possible attribute for a TLD.
223
255
  *
@@ -314,22 +346,6 @@ export type ContactIdList = components['schemas']['ContactIdList'];
314
346
  * @see {@link components} - The OpenAPI components schema definition
315
347
  */
316
348
  export type Contact = components['schemas']['ContactResponse'];
317
- /**
318
- * ContactRoleAttributeRequirement. Attribute requirements for a specific contact role.
319
- *
320
- * @remarks
321
- * Type alias for the `ContactRoleAttributeRequirement` OpenAPI schema.
322
- * This type represents contactroleattributerequirement data structures used in API requests and responses.
323
- *
324
- * @example
325
- * ```typescript
326
- * const response = await api.getContactRoleAttributeRequirement();
327
- * const item: ContactRoleAttributeRequirement = response.results;
328
- * ```
329
- *
330
- * @see {@link components} - The OpenAPI components schema definition
331
- */
332
- export type ContactRoleAttributeRequirement = components['schemas']['ContactRoleAttributeRequirement'];
333
349
  /**
334
350
  * ContactSchema
335
351
  *
package/src/openapi.yaml CHANGED
@@ -23,6 +23,28 @@ components:
23
23
  - max
24
24
  title: AllowedNumberOfNameserverBase
25
25
  type: object
26
+ AttributeCondition:
27
+ properties:
28
+ field:
29
+ $ref: '#/components/schemas/RegistryHandleAttributeType'
30
+ description: The attribute key to evaluate
31
+ operator:
32
+ $ref: '#/components/schemas/ConditionOperator'
33
+ description: The comparison operator
34
+ value:
35
+ anyOf:
36
+ - type: string
37
+ - items:
38
+ type: string
39
+ type: array
40
+ description: The value(s) to compare against
41
+ title: Value
42
+ required:
43
+ - field
44
+ - operator
45
+ - value
46
+ title: AttributeCondition
47
+ type: object
26
48
  AttributeType:
27
49
  enum:
28
50
  - enum
@@ -231,12 +253,43 @@ components:
231
253
  - disapproved
232
254
  title: ComplianceStatus
233
255
  type: string
256
+ ConditionOperator:
257
+ enum:
258
+ - equals
259
+ - not_equals
260
+ - in
261
+ - not_in
262
+ title: ConditionOperator
263
+ type: string
234
264
  ContactAttributeDefinition:
235
265
  description: Definition of a possible attribute for a TLD.
236
266
  properties:
267
+ conditions:
268
+ anyOf:
269
+ - items:
270
+ $ref: '#/components/schemas/AttributeCondition'
271
+ type: array
272
+ - type: 'null'
273
+ description: Conditions that must ALL be true for this attribute to be active.
274
+ None means always active.
275
+ title: Conditions
276
+ contact_roles:
277
+ anyOf:
278
+ - items:
279
+ $ref: '#/components/schemas/DomainContactType'
280
+ type: array
281
+ - type: 'null'
282
+ description: Contact roles this attribute applies to. None means all roles.
283
+ title: Contact Roles
237
284
  key:
238
285
  $ref: '#/components/schemas/RegistryHandleAttributeType'
239
286
  description: Unique identifier for the attribute
287
+ required:
288
+ default: false
289
+ description: Whether this attribute is required when its conditions are
290
+ met
291
+ title: Required
292
+ type: boolean
240
293
  type:
241
294
  $ref: '#/components/schemas/AttributeType'
242
295
  description: Type of the attribute (e.g., 'enum', 'string', 'boolean')
@@ -491,23 +544,6 @@ components:
491
544
  - disclose
492
545
  title: ContactResponse
493
546
  type: object
494
- ContactRoleAttributeRequirement:
495
- description: Attribute requirements for a specific contact role.
496
- properties:
497
- attributes:
498
- description: List of required attribute keys for this role
499
- items:
500
- $ref: '#/components/schemas/RegistryHandleAttributeType'
501
- title: Attributes
502
- type: array
503
- role:
504
- $ref: '#/components/schemas/DomainContactType'
505
- description: The role this requirement applies to
506
- required:
507
- - role
508
- - attributes
509
- title: ContactRoleAttributeRequirement
510
- type: object
511
547
  ContactSchema:
512
548
  properties:
513
549
  city:
@@ -842,12 +878,6 @@ components:
842
878
  - $ref: '#/components/schemas/RegistrantChangeType'
843
879
  - type: 'null'
844
880
  description: Whether the registrant can change through update or trade
845
- required_attributes:
846
- description: List of attribute requirements by role
847
- items:
848
- $ref: '#/components/schemas/ContactRoleAttributeRequirement'
849
- title: Required Attributes
850
- type: array
851
881
  support_check:
852
882
  anyOf:
853
883
  - type: boolean
@@ -7001,7 +7031,7 @@ info:
7001
7031
  '
7002
7032
  summary: OpusDNS - your gateway to a seamless domain management experience.
7003
7033
  title: OpusDNS API
7004
- version: 2026-02-19-195050
7034
+ version: 2026-02-20-105000
7005
7035
  x-logo:
7006
7036
  altText: OpusDNS API Reference
7007
7037
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
package/src/schema.d.ts CHANGED
@@ -1859,6 +1859,18 @@ export interface components {
1859
1859
  */
1860
1860
  min: number;
1861
1861
  };
1862
+ /** AttributeCondition */
1863
+ AttributeCondition: {
1864
+ /** @description The attribute key to evaluate */
1865
+ field: components["schemas"]["RegistryHandleAttributeType"];
1866
+ /** @description The comparison operator */
1867
+ operator: components["schemas"]["ConditionOperator"];
1868
+ /**
1869
+ * Value
1870
+ * @description The value(s) to compare against
1871
+ */
1872
+ value: string | string[];
1873
+ };
1862
1874
  /**
1863
1875
  * AttributeType
1864
1876
  * @enum {string}
@@ -2008,13 +2020,34 @@ export interface components {
2008
2020
  * @enum {string}
2009
2021
  */
2010
2022
  ComplianceStatus: "preparing" | "pending" | "approved" | "disapproved";
2023
+ /**
2024
+ * ConditionOperator
2025
+ * @enum {string}
2026
+ */
2027
+ ConditionOperator: "equals" | "not_equals" | "in" | "not_in";
2011
2028
  /**
2012
2029
  * ContactAttributeDefinition
2013
2030
  * @description Definition of a possible attribute for a TLD.
2014
2031
  */
2015
2032
  ContactAttributeDefinition: {
2033
+ /**
2034
+ * Conditions
2035
+ * @description Conditions that must ALL be true for this attribute to be active. None means always active.
2036
+ */
2037
+ conditions?: components["schemas"]["AttributeCondition"][] | null;
2038
+ /**
2039
+ * Contact Roles
2040
+ * @description Contact roles this attribute applies to. None means all roles.
2041
+ */
2042
+ contact_roles?: components["schemas"]["DomainContactType"][] | null;
2016
2043
  /** @description Unique identifier for the attribute */
2017
2044
  key: components["schemas"]["RegistryHandleAttributeType"];
2045
+ /**
2046
+ * Required
2047
+ * @description Whether this attribute is required when its conditions are met
2048
+ * @default false
2049
+ */
2050
+ required: boolean;
2018
2051
  /** @description Type of the attribute (e.g., 'enum', 'string', 'boolean') */
2019
2052
  type: components["schemas"]["AttributeType"];
2020
2053
  /**
@@ -2201,19 +2234,6 @@ export interface components {
2201
2234
  */
2202
2235
  title?: string | null;
2203
2236
  };
2204
- /**
2205
- * ContactRoleAttributeRequirement
2206
- * @description Attribute requirements for a specific contact role.
2207
- */
2208
- ContactRoleAttributeRequirement: {
2209
- /**
2210
- * Attributes
2211
- * @description List of required attribute keys for this role
2212
- */
2213
- attributes: components["schemas"]["RegistryHandleAttributeType"][];
2214
- /** @description The role this requirement applies to */
2215
- role: components["schemas"]["DomainContactType"];
2216
- };
2217
2237
  /** ContactSchema */
2218
2238
  ContactSchema: {
2219
2239
  /**
@@ -2482,11 +2502,6 @@ export interface components {
2482
2502
  privacy_proxy?: boolean | null;
2483
2503
  /** @description Whether the registrant can change through update or trade */
2484
2504
  registrant_change?: components["schemas"]["RegistrantChangeType"] | null;
2485
- /**
2486
- * Required Attributes
2487
- * @description List of attribute requirements by role
2488
- */
2489
- required_attributes?: components["schemas"]["ContactRoleAttributeRequirement"][];
2490
2505
  /**
2491
2506
  * Support Check
2492
2507
  * @description Whether the registry supports contact checks