@opusdns/api 0.9.0 → 0.11.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/src/openapi.yaml CHANGED
@@ -1,5 +1,28 @@
1
1
  components:
2
2
  schemas:
3
+ AllocationMethodType:
4
+ enum:
5
+ - fcfs
6
+ - auction
7
+ - lottery
8
+ title: AllocationMethodType
9
+ type: string
10
+ AllowedNumberOfNameserverBase:
11
+ properties:
12
+ max:
13
+ description: Maximum number of nameserver per domain name
14
+ title: Max
15
+ type: integer
16
+ min:
17
+ description: Minimum number of nameserver per domain name
18
+ minimum: 0.0
19
+ title: Min
20
+ type: integer
21
+ required:
22
+ - min
23
+ - max
24
+ title: AllowedNumberOfNameserverBase
25
+ type: object
3
26
  Body_issue_organization_token_v1_auth_token_post:
4
27
  properties:
5
28
  client_id:
@@ -79,6 +102,27 @@ components:
79
102
  - failed
80
103
  title: BulkOperationStatus
81
104
  type: string
105
+ ContactConfigBase:
106
+ properties:
107
+ max:
108
+ description: Maximum contacts per domain name
109
+ minimum: 0.0
110
+ title: Max
111
+ type: integer
112
+ min:
113
+ description: Minimum contacts per domain name
114
+ minimum: 0.0
115
+ title: Min
116
+ type: integer
117
+ type:
118
+ $ref: '#/components/schemas/ContactRoleType'
119
+ description: The type of contact
120
+ required:
121
+ - type
122
+ - min
123
+ - max
124
+ title: ContactConfigBase
125
+ type: object
82
126
  ContactCreate:
83
127
  properties:
84
128
  city:
@@ -266,6 +310,14 @@ components:
266
310
  - disclose
267
311
  title: ContactResponse
268
312
  type: object
313
+ ContactRoleType:
314
+ enum:
315
+ - registrant
316
+ - admin
317
+ - tech
318
+ - billing
319
+ title: ContactRoleType
320
+ type: string
269
321
  ContactSchema:
270
322
  properties:
271
323
  city:
@@ -567,12 +619,79 @@ components:
567
619
  - type
568
620
  title: ContactVerificationResponse
569
621
  type: object
622
+ ContactsBase:
623
+ properties:
624
+ authinfo_required:
625
+ anyOf:
626
+ - type: boolean
627
+ - type: 'null'
628
+ description: Whether the registry requires authinfo for contact creation
629
+ title: Authinfo Required
630
+ is_thick:
631
+ anyOf:
632
+ - type: boolean
633
+ - type: 'null'
634
+ description: Whether the registry supports thick contacts
635
+ title: Is Thick
636
+ privacy_proxy:
637
+ anyOf:
638
+ - type: boolean
639
+ - type: 'null'
640
+ description: Whether a privacy service is allowed
641
+ title: Privacy Proxy
642
+ registrant_change:
643
+ anyOf:
644
+ - $ref: '#/components/schemas/RegistrantChangeType'
645
+ - type: 'null'
646
+ description: Whether the registrant can change through update or trade
647
+ support_check:
648
+ anyOf:
649
+ - type: boolean
650
+ - type: 'null'
651
+ description: Whether the registry supports contact checks
652
+ title: Support Check
653
+ support_client_contact_id:
654
+ anyOf:
655
+ - type: boolean
656
+ - type: 'null'
657
+ description: Whether the registry supports client defined contact ID
658
+ title: Support Client Contact Id
659
+ support_transfer:
660
+ anyOf:
661
+ - type: boolean
662
+ - type: 'null'
663
+ description: Whether the registry supports contact transfer
664
+ title: Support Transfer
665
+ supported_postal_types:
666
+ anyOf:
667
+ - items:
668
+ $ref: '#/components/schemas/PostalAddressType'
669
+ type: array
670
+ - type: 'null'
671
+ description: Supported postal address types
672
+ title: Supported Postal Types
673
+ supported_roles:
674
+ anyOf:
675
+ - items:
676
+ $ref: '#/components/schemas/ContactConfigBase'
677
+ type: array
678
+ - type: 'null'
679
+ description: Supported contact roles
680
+ title: Supported Roles
681
+ title: ContactsBase
682
+ type: object
570
683
  Currency:
571
684
  enum:
572
685
  - USD
573
686
  - EUR
574
687
  title: Currency
575
688
  type: string
689
+ DeletePolicyType:
690
+ enum:
691
+ - immediate
692
+ - expiration
693
+ title: DeletePolicyType
694
+ type: string
576
695
  DeletedEvent:
577
696
  properties:
578
697
  date:
@@ -648,6 +767,60 @@ components:
648
767
  - changes
649
768
  title: DnsChangesResponse
650
769
  type: object
770
+ DnsConfigurationBase:
771
+ properties:
772
+ allowed_number_of_nameserver:
773
+ $ref: '#/components/schemas/AllowedNumberOfNameserverBase'
774
+ czds_available:
775
+ anyOf:
776
+ - type: boolean
777
+ - type: 'null'
778
+ description: Whether the zone is available in CZDS
779
+ title: Czds Available
780
+ dnssec_allowed:
781
+ description: Whether the registry supports DNSSEC
782
+ title: Dnssec Allowed
783
+ type: boolean
784
+ dnssec_mandatory:
785
+ anyOf:
786
+ - type: boolean
787
+ - type: 'null'
788
+ description: Whether DNSSEC is mandatory for a domain name
789
+ title: Dnssec Mandatory
790
+ dnssec_mode:
791
+ anyOf:
792
+ - $ref: '#/components/schemas/DnssecModeType'
793
+ - type: 'null'
794
+ description: DNSSEC mode
795
+ host_objects:
796
+ description: Whether the registry supports host objects or use attributes
797
+ title: Host Objects
798
+ type: boolean
799
+ host_parent_check_tlds:
800
+ anyOf:
801
+ - items:
802
+ type: string
803
+ type: array
804
+ - type: 'null'
805
+ description: TLDs that require parent-host checks (ns1.example.com => example.com)
806
+ title: Host Parent Check Tlds
807
+ registry_nameserver_check:
808
+ description: Whether the registry checks the nameserver configuration
809
+ title: Registry Nameserver Check
810
+ type: boolean
811
+ registry_root_nameserver_update:
812
+ description: Number of hours until the root zone is updated, 0 = real-time
813
+ minimum: 0.0
814
+ title: Registry Root Nameserver Update
815
+ type: integer
816
+ required:
817
+ - allowed_number_of_nameserver
818
+ - registry_nameserver_check
819
+ - dnssec_allowed
820
+ - registry_root_nameserver_update
821
+ - host_objects
822
+ title: DnsConfigurationBase
823
+ type: object
651
824
  DnsRecordCreate:
652
825
  properties:
653
826
  rdata:
@@ -887,6 +1060,12 @@ components:
887
1060
  - 6
888
1061
  title: DnssecDigestType
889
1062
  type: integer
1063
+ DnssecModeType:
1064
+ enum:
1065
+ - DS
1066
+ - DNSKEY
1067
+ title: DnssecModeType
1068
+ type: string
890
1069
  DnssecRecordType:
891
1070
  enum:
892
1071
  - ds_data
@@ -1142,6 +1321,115 @@ components:
1142
1321
  - algorithm
1143
1322
  title: DomainDnssecDataResponse
1144
1323
  type: object
1324
+ DomainLifecycleBase:
1325
+ properties:
1326
+ add_grace_period:
1327
+ anyOf:
1328
+ - examples:
1329
+ - P5D
1330
+ - P1Y
1331
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
1332
+ type: string
1333
+ - type: 'null'
1334
+ description: Add grace period in days after registration in ISO 8601 format
1335
+ (e.g., 5D, 3D)
1336
+ title: Add Grace Period
1337
+ auto_renew_before_expiration:
1338
+ anyOf:
1339
+ - examples:
1340
+ - P5D
1341
+ - P1Y
1342
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
1343
+ type: string
1344
+ - type: 'null'
1345
+ description: Time before expiration to auto-renew a domain in ISO 8601 format
1346
+ (e.g., 5D, -7D)
1347
+ title: Auto Renew Before Expiration
1348
+ delete_before_expiration:
1349
+ anyOf:
1350
+ - examples:
1351
+ - P5D
1352
+ - P1Y
1353
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
1354
+ type: string
1355
+ - type: 'null'
1356
+ description: Time before expiration to delete a domain in ISO 8601 format
1357
+ (e.g., 5D, -7D)
1358
+ title: Delete Before Expiration
1359
+ delete_policy:
1360
+ anyOf:
1361
+ - items:
1362
+ $ref: '#/components/schemas/DeletePolicyType'
1363
+ type: array
1364
+ - type: 'null'
1365
+ description: How a domain can be deleted
1366
+ title: Delete Policy
1367
+ explicit_renew:
1368
+ anyOf:
1369
+ - type: boolean
1370
+ - type: 'null'
1371
+ description: Whether an explicit renewal is possible
1372
+ title: Explicit Renew
1373
+ grace_period:
1374
+ anyOf:
1375
+ - examples:
1376
+ - P5D
1377
+ - P1Y
1378
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
1379
+ type: string
1380
+ - type: 'null'
1381
+ description: Grace period after expiration in ISO 8601 format (e.g., 5D,
1382
+ -7D)
1383
+ examples:
1384
+ - P5D
1385
+ - P30D
1386
+ title: Grace Period
1387
+ pending_delete:
1388
+ anyOf:
1389
+ - examples:
1390
+ - P5D
1391
+ - P1Y
1392
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
1393
+ type: string
1394
+ - type: 'null'
1395
+ description: Pending delete period in ISO 8601 format (e.g., 5D, 10D) after
1396
+ redemption_period
1397
+ title: Pending Delete
1398
+ redemption_period:
1399
+ anyOf:
1400
+ - examples:
1401
+ - P5D
1402
+ - P1Y
1403
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
1404
+ type: string
1405
+ - type: 'null'
1406
+ description: Redemption period for domain recovery after grace period in
1407
+ ISO 8601 format (e.g., 5D, -7D)
1408
+ title: Redemption Period
1409
+ registration_periods:
1410
+ $ref: '#/components/schemas/PeriodList'
1411
+ description: List of allowed registration periods (e.g., '1y' or ['1y',
1412
+ '2y', '5y'])
1413
+ registry_auto_renew:
1414
+ anyOf:
1415
+ - type: boolean
1416
+ - type: 'null'
1417
+ description: Does the registry enforce auto-renewal
1418
+ title: Registry Auto Renew
1419
+ renewal_periods:
1420
+ $ref: '#/components/schemas/PeriodList'
1421
+ description: List of allowed renewal periods (e.g., '1y' or ['1y', '2y',
1422
+ '5y'])
1423
+ sync_after_operations:
1424
+ anyOf:
1425
+ - items:
1426
+ $ref: '#/components/schemas/SyncOperationType'
1427
+ type: array
1428
+ - type: 'null'
1429
+ description: Operations that trigger a sync with the registry
1430
+ title: Sync After Operations
1431
+ title: DomainLifecycleBase
1432
+ type: object
1145
1433
  DomainNameParts:
1146
1434
  properties:
1147
1435
  domain:
@@ -1438,6 +1726,25 @@ components:
1438
1726
  - clientHold
1439
1727
  title: DomainStatus
1440
1728
  type: string
1729
+ DomainStatusesBase:
1730
+ properties:
1731
+ default:
1732
+ description: The default status for an active domain with no restrictions
1733
+ items:
1734
+ type: string
1735
+ title: Default
1736
+ type: array
1737
+ supported_statuses:
1738
+ description: Supported domain statuses
1739
+ items:
1740
+ $ref: '#/components/schemas/DomainStatus'
1741
+ title: Supported Statuses
1742
+ type: array
1743
+ required:
1744
+ - default
1745
+ - supported_statuses
1746
+ title: DomainStatusesBase
1747
+ type: object
1441
1748
  DomainSummaryData:
1442
1749
  properties:
1443
1750
  by_status:
@@ -1921,6 +2228,17 @@ components:
1921
2228
  - OUTBOUND_TRANSFER
1922
2229
  title: EventType
1923
2230
  type: string
2231
+ GeneralAvailabilityBase:
2232
+ properties:
2233
+ start_date:
2234
+ description: Start date of general availability
2235
+ format: date-time
2236
+ title: Start Date
2237
+ type: string
2238
+ required:
2239
+ - start_date
2240
+ title: GeneralAvailabilityBase
2241
+ type: object
1924
2242
  GrantType:
1925
2243
  enum:
1926
2244
  - client_credentials
@@ -1950,6 +2268,24 @@ components:
1950
2268
  - status
1951
2269
  title: RequestValidationError
1952
2270
  type: object
2271
+ IdnBase:
2272
+ properties:
2273
+ idn_capable:
2274
+ description: IDN allowed
2275
+ title: Idn Capable
2276
+ type: boolean
2277
+ idn_tables:
2278
+ anyOf:
2279
+ - items:
2280
+ type: string
2281
+ type: array
2282
+ - type: 'null'
2283
+ description: Allowed IDN characters, file with the IDN codes
2284
+ title: Idn Tables
2285
+ required:
2286
+ - idn_capable
2287
+ title: IdnBase
2288
+ type: object
1953
2289
  IpRestrictionCreate:
1954
2290
  properties:
1955
2291
  ip_network:
@@ -2029,6 +2365,112 @@ components:
2029
2365
  title: IpRestrictionUpdate
2030
2366
  type: object
2031
2367
  JsonValue: {}
2368
+ LaunchPhaseBase:
2369
+ properties:
2370
+ allocation:
2371
+ anyOf:
2372
+ - $ref: '#/components/schemas/AllocationMethodType'
2373
+ - type: 'null'
2374
+ description: Allocation method
2375
+ end_date:
2376
+ anyOf:
2377
+ - format: date-time
2378
+ type: string
2379
+ - type: 'null'
2380
+ description: End date of the phase
2381
+ title: End Date
2382
+ smd_required:
2383
+ anyOf:
2384
+ - type: boolean
2385
+ - type: 'null'
2386
+ description: Whether an SMD file is required for participation
2387
+ title: Smd Required
2388
+ start_date:
2389
+ anyOf:
2390
+ - format: date-time
2391
+ type: string
2392
+ - type: 'null'
2393
+ description: Start date of the phase
2394
+ title: Start Date
2395
+ supported:
2396
+ description: Whether this phase is supported
2397
+ title: Supported
2398
+ type: boolean
2399
+ type:
2400
+ $ref: '#/components/schemas/LaunchPhaseType'
2401
+ description: Type of launch phase
2402
+ required:
2403
+ - type
2404
+ - supported
2405
+ title: LaunchPhaseBase
2406
+ type: object
2407
+ LaunchPhaseType:
2408
+ enum:
2409
+ - sunrise
2410
+ - landrush
2411
+ - eap
2412
+ title: LaunchPhaseType
2413
+ type: string
2414
+ LaunchPhasesBase:
2415
+ properties:
2416
+ general_availability:
2417
+ $ref: '#/components/schemas/GeneralAvailabilityBase'
2418
+ phases:
2419
+ default: []
2420
+ items:
2421
+ $ref: '#/components/schemas/LaunchPhaseBase'
2422
+ title: Phases
2423
+ type: array
2424
+ trademark_claims:
2425
+ anyOf:
2426
+ - $ref: '#/components/schemas/TrademarkClaimsBase'
2427
+ - type: 'null'
2428
+ required:
2429
+ - general_availability
2430
+ title: LaunchPhasesBase
2431
+ type: object
2432
+ LocalPresenceBase:
2433
+ properties:
2434
+ eligible_countries:
2435
+ anyOf:
2436
+ - items:
2437
+ pattern: ^\w{2}$
2438
+ type: string
2439
+ type: array
2440
+ - type: 'null'
2441
+ description: ISO 3166-1 Alpha-2 country code
2442
+ title: Eligible Countries
2443
+ required:
2444
+ description: Whether a local presence is required to register and maintain
2445
+ a domain name
2446
+ title: Required
2447
+ type: boolean
2448
+ requirement:
2449
+ anyOf:
2450
+ - items:
2451
+ $ref: '#/components/schemas/LocalPresenceRequirementType'
2452
+ type: array
2453
+ - type: 'null'
2454
+ description: Type of local presence requirement
2455
+ title: Requirement
2456
+ type:
2457
+ anyOf:
2458
+ - items:
2459
+ $ref: '#/components/schemas/ContactRoleType'
2460
+ type: array
2461
+ - type: 'null'
2462
+ description: Who must meet the requirement
2463
+ title: Type
2464
+ required:
2465
+ - required
2466
+ title: LocalPresenceBase
2467
+ type: object
2468
+ LocalPresenceRequirementType:
2469
+ enum:
2470
+ - physical_address
2471
+ - business_entity
2472
+ title: LocalPresenceRequirementType
2473
+ type: string
2032
2474
  Nameserver:
2033
2475
  properties:
2034
2476
  hostname:
@@ -3219,6 +3661,27 @@ components:
3219
3661
  - remove
3220
3662
  title: PatchOp
3221
3663
  type: string
3664
+ Period:
3665
+ properties:
3666
+ unit:
3667
+ $ref: '#/components/schemas/PeriodUnit'
3668
+ description: The unit of the period
3669
+ value:
3670
+ description: Amount of time in the unit
3671
+ exclusiveMinimum: 0.0
3672
+ title: Value
3673
+ type: integer
3674
+ required:
3675
+ - value
3676
+ - unit
3677
+ title: Period
3678
+ type: object
3679
+ PeriodList:
3680
+ anyOf:
3681
+ - items:
3682
+ $ref: '#/components/schemas/Period'
3683
+ type: array
3684
+ - type: 'null'
3222
3685
  PeriodUnit:
3223
3686
  enum:
3224
3687
  - y
@@ -3286,6 +3749,55 @@ components:
3286
3749
  default: basic_plan
3287
3750
  title: PlanUpdate
3288
3751
  type: object
3752
+ PostTransferRequirements:
3753
+ enum:
3754
+ - update_contacts
3755
+ - tld_specific
3756
+ title: PostTransferRequirements
3757
+ type: string
3758
+ PostalAddressType:
3759
+ enum:
3760
+ - loc
3761
+ - int
3762
+ title: PostalAddressType
3763
+ type: string
3764
+ PremiumAffectsType:
3765
+ enum:
3766
+ - registration
3767
+ - renewal
3768
+ title: PremiumAffectsType
3769
+ type: string
3770
+ PremiumDomainsBase:
3771
+ properties:
3772
+ affects:
3773
+ anyOf:
3774
+ - items:
3775
+ $ref: '#/components/schemas/PremiumAffectsType'
3776
+ type: array
3777
+ - type: 'null'
3778
+ description: What operations are affected by premium status
3779
+ title: Affects
3780
+ source:
3781
+ anyOf:
3782
+ - $ref: '#/components/schemas/PremiumSourceType'
3783
+ - type: 'null'
3784
+ description: Source of premium domain information
3785
+ supported:
3786
+ description: Whether the registry has premium domains
3787
+ title: Supported
3788
+ type: boolean
3789
+ required:
3790
+ - supported
3791
+ title: PremiumDomainsBase
3792
+ type: object
3793
+ PremiumSourceType:
3794
+ enum:
3795
+ - EPP
3796
+ - API
3797
+ - CSV
3798
+ - manual
3799
+ title: PremiumSourceType
3800
+ type: string
3289
3801
  Problem:
3290
3802
  properties:
3291
3803
  detail:
@@ -3309,6 +3821,55 @@ components:
3309
3821
  - status
3310
3822
  title: Problem
3311
3823
  type: object
3824
+ RdapBase:
3825
+ properties:
3826
+ rdap_server:
3827
+ anyOf:
3828
+ - format: uri
3829
+ maxLength: 2083
3830
+ minLength: 1
3831
+ type: string
3832
+ - type: 'null'
3833
+ description: RDAP server URL
3834
+ title: Rdap Server
3835
+ title: RdapBase
3836
+ type: object
3837
+ RegistrantChangeType:
3838
+ enum:
3839
+ - update
3840
+ - trade
3841
+ title: RegistrantChangeType
3842
+ type: string
3843
+ RegistryLockBase:
3844
+ properties:
3845
+ prevents:
3846
+ anyOf:
3847
+ - items:
3848
+ type: string
3849
+ type: array
3850
+ - type: 'null'
3851
+ description: What operations are prevented by registry lock
3852
+ title: Prevents
3853
+ removal_process:
3854
+ anyOf:
3855
+ - type: string
3856
+ - type: 'null'
3857
+ description: Process for unlocking the domain
3858
+ title: Removal Process
3859
+ requires_manual_request:
3860
+ anyOf:
3861
+ - type: boolean
3862
+ - type: 'null'
3863
+ description: Whether a manual request is required
3864
+ title: Requires Manual Request
3865
+ supported:
3866
+ description: Whether the registry provides a Registry Lock feature
3867
+ title: Supported
3868
+ type: boolean
3869
+ required:
3870
+ - supported
3871
+ title: RegistryLockBase
3872
+ type: object
3312
3873
  Relation:
3313
3874
  enum:
3314
3875
  - accepted_tos
@@ -3348,6 +3909,37 @@ components:
3348
3909
  - delete
3349
3910
  title: RenewalMode
3350
3911
  type: string
3912
+ ReservedDomainsBase:
3913
+ properties:
3914
+ source:
3915
+ anyOf:
3916
+ - $ref: '#/components/schemas/ReservedSourceType'
3917
+ - type: 'null'
3918
+ description: Source of reserved domain information
3919
+ supported:
3920
+ description: Registry provides a reserved list
3921
+ title: Supported
3922
+ type: boolean
3923
+ url:
3924
+ anyOf:
3925
+ - format: uri
3926
+ maxLength: 2083
3927
+ minLength: 1
3928
+ type: string
3929
+ - type: 'null'
3930
+ description: Link to reserved list
3931
+ title: Url
3932
+ required:
3933
+ - supported
3934
+ title: ReservedDomainsBase
3935
+ type: object
3936
+ ReservedSourceType:
3937
+ enum:
3938
+ - API
3939
+ - CSV
3940
+ - manual
3941
+ title: ReservedSourceType
3942
+ type: string
3351
3943
  SignupCreate:
3352
3944
  properties:
3353
3945
  organization:
@@ -3366,6 +3958,23 @@ components:
3366
3958
  - organization
3367
3959
  title: SignupCreate
3368
3960
  type: object
3961
+ SldLength:
3962
+ properties:
3963
+ max:
3964
+ description: Maximum length of a domain name
3965
+ maximum: 63.0
3966
+ title: Max
3967
+ type: integer
3968
+ min:
3969
+ description: Minimum length of a domain name
3970
+ minimum: 1.0
3971
+ title: Min
3972
+ type: integer
3973
+ required:
3974
+ - min
3975
+ - max
3976
+ title: SldLength
3977
+ type: object
3369
3978
  SortOrder:
3370
3979
  enum:
3371
3980
  - asc
@@ -3390,6 +3999,19 @@ components:
3390
3999
  title: Remove
3391
4000
  title: SpiceDbRelationshipUpdate
3392
4001
  type: object
4002
+ SyncOperationType:
4003
+ enum:
4004
+ - registration
4005
+ - renewal
4006
+ - transfer
4007
+ title: SyncOperationType
4008
+ type: string
4009
+ TLDType:
4010
+ enum:
4011
+ - gTLD
4012
+ - ccTLD
4013
+ title: TLDType
4014
+ type: string
3393
4015
  TermsOfServiceAccept:
3394
4016
  properties:
3395
4017
  accepted:
@@ -3399,6 +4021,153 @@ components:
3399
4021
  - accepted
3400
4022
  title: TermsOfServiceAccept
3401
4023
  type: object
4024
+ TldBase:
4025
+ properties:
4026
+ name:
4027
+ description: The TLD being configured
4028
+ title: Name
4029
+ type: string
4030
+ type:
4031
+ $ref: '#/components/schemas/TLDType'
4032
+ description: The type of the TLD (e.g., gTLD, ccTLD)
4033
+ required:
4034
+ - name
4035
+ - type
4036
+ title: TldBase
4037
+ type: object
4038
+ TldResponseShort:
4039
+ properties:
4040
+ tld:
4041
+ examples:
4042
+ - com
4043
+ - org
4044
+ - net
4045
+ title: Tld
4046
+ type: string
4047
+ type:
4048
+ $ref: '#/components/schemas/TLDType'
4049
+ examples:
4050
+ - gTLD
4051
+ - ccTLD
4052
+ required:
4053
+ - tld
4054
+ - type
4055
+ title: TldResponseShort
4056
+ type: object
4057
+ TldSpecificationResponse:
4058
+ properties:
4059
+ characters:
4060
+ $ref: '#/components/schemas/SldLength'
4061
+ description: Character limits for domain names
4062
+ contacts:
4063
+ anyOf:
4064
+ - $ref: '#/components/schemas/ContactsBase'
4065
+ - type: 'null'
4066
+ description: Contacts configuration
4067
+ dns_configuration:
4068
+ $ref: '#/components/schemas/DnsConfigurationBase'
4069
+ description: DNS configuration
4070
+ domain_lifecycle:
4071
+ $ref: '#/components/schemas/DomainLifecycleBase'
4072
+ description: Domain lifecycle configuration
4073
+ domain_statuses:
4074
+ $ref: '#/components/schemas/DomainStatusesBase'
4075
+ description: Domain statuses configuration
4076
+ idn:
4077
+ $ref: '#/components/schemas/IdnBase'
4078
+ description: IDN configuration
4079
+ launch_phases:
4080
+ anyOf:
4081
+ - $ref: '#/components/schemas/LaunchPhasesBase'
4082
+ - type: 'null'
4083
+ description: Launch phases configuration
4084
+ local_presence:
4085
+ anyOf:
4086
+ - $ref: '#/components/schemas/LocalPresenceBase'
4087
+ - type: 'null'
4088
+ description: Local presence requirements
4089
+ premium_domains:
4090
+ anyOf:
4091
+ - $ref: '#/components/schemas/PremiumDomainsBase'
4092
+ - type: 'null'
4093
+ description: Premium domains configuration
4094
+ rdap:
4095
+ anyOf:
4096
+ - $ref: '#/components/schemas/RdapBase'
4097
+ - type: 'null'
4098
+ description: RDAP configuration
4099
+ registry_lock:
4100
+ anyOf:
4101
+ - $ref: '#/components/schemas/RegistryLockBase'
4102
+ - type: 'null'
4103
+ description: Registry lock configuration
4104
+ reserved_domains:
4105
+ anyOf:
4106
+ - $ref: '#/components/schemas/ReservedDomainsBase'
4107
+ - type: 'null'
4108
+ description: Reserved domains configuration
4109
+ tlds:
4110
+ description: List of TLDs being configured
4111
+ items:
4112
+ $ref: '#/components/schemas/TldBase'
4113
+ title: Tlds
4114
+ type: array
4115
+ transfer_policies:
4116
+ $ref: '#/components/schemas/TransferPoliciesBase'
4117
+ description: Transfer policies configuration
4118
+ whois:
4119
+ anyOf:
4120
+ - $ref: '#/components/schemas/WhoisBase'
4121
+ - type: 'null'
4122
+ description: WHOIS configuration
4123
+ required:
4124
+ - tlds
4125
+ - domain_lifecycle
4126
+ - domain_statuses
4127
+ - characters
4128
+ - idn
4129
+ - dns_configuration
4130
+ - transfer_policies
4131
+ title: TldSpecificationResponse
4132
+ type: object
4133
+ TrademarkClaimsBase:
4134
+ properties:
4135
+ end_date:
4136
+ anyOf:
4137
+ - format: date-time
4138
+ type: string
4139
+ - type: 'null'
4140
+ description: End date of trademark claims
4141
+ title: End Date
4142
+ start_date:
4143
+ anyOf:
4144
+ - format: date-time
4145
+ type: string
4146
+ - type: 'null'
4147
+ description: Start date of trademark claims
4148
+ title: Start Date
4149
+ supported:
4150
+ description: Whether trademark claims are supported
4151
+ title: Supported
4152
+ type: boolean
4153
+ tmch_required:
4154
+ anyOf:
4155
+ - type: boolean
4156
+ - type: 'null'
4157
+ description: If true, claim notifications are mandatory within the timeframe
4158
+ title: Tmch Required
4159
+ required:
4160
+ - supported
4161
+ title: TrademarkClaimsBase
4162
+ type: object
4163
+ TransferAckType:
4164
+ enum:
4165
+ - none
4166
+ - registrar
4167
+ - registrant
4168
+ - both
4169
+ title: TransferAckType
4170
+ type: string
3402
4171
  TransferEvent:
3403
4172
  properties:
3404
4173
  current_registrar:
@@ -3424,6 +4193,116 @@ components:
3424
4193
  - expiration_date
3425
4194
  title: TransferEvent
3426
4195
  type: object
4196
+ TransferPoliciesBase:
4197
+ properties:
4198
+ authinfo_max_length:
4199
+ anyOf:
4200
+ - minimum: 1.0
4201
+ type: integer
4202
+ - type: 'null'
4203
+ description: Maximum length of the auth info
4204
+ title: Authinfo Max Length
4205
+ authinfo_min_length:
4206
+ anyOf:
4207
+ - minimum: 1.0
4208
+ type: integer
4209
+ - type: 'null'
4210
+ description: Minimum length of the auth info
4211
+ title: Authinfo Min Length
4212
+ authinfo_required:
4213
+ description: Whether an auth info is required for transfers
4214
+ title: Authinfo Required
4215
+ type: boolean
4216
+ authinfo_time_limited:
4217
+ anyOf:
4218
+ - type: boolean
4219
+ - type: 'null'
4220
+ description: Whether an auth info has a time limit
4221
+ title: Authinfo Time Limited
4222
+ authinfo_validity_period:
4223
+ anyOf:
4224
+ - examples:
4225
+ - P5D
4226
+ - P1Y
4227
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
4228
+ type: string
4229
+ - type: 'null'
4230
+ description: Validity period of the auth info (e.g., '5D' for 5 days)
4231
+ title: Authinfo Validity Period
4232
+ info_contact_authinfo:
4233
+ anyOf:
4234
+ - type: boolean
4235
+ - type: 'null'
4236
+ description: Whether querying a foreign contact with authinfo is possible
4237
+ title: Info Contact Authinfo
4238
+ info_domain_authinfo:
4239
+ anyOf:
4240
+ - type: boolean
4241
+ - type: 'null'
4242
+ description: Whether querying a foreign domain with authinfo is possible
4243
+ title: Info Domain Authinfo
4244
+ post_transfer_requirements:
4245
+ anyOf:
4246
+ - items:
4247
+ $ref: '#/components/schemas/PostTransferRequirements'
4248
+ type: array
4249
+ - type: 'null'
4250
+ description: 'Post-transfer requirements: lists the behaviors, as in [''update_contacts'',
4251
+ ''set_transfer_lock''] or [ ''tld_specific'' ] for specific behavior'
4252
+ title: Post Transfer Requirements
4253
+ transfer_ack:
4254
+ anyOf:
4255
+ - $ref: '#/components/schemas/TransferAckType'
4256
+ - type: 'null'
4257
+ description: Whether a transfer can be approved
4258
+ transfer_email_required:
4259
+ anyOf:
4260
+ - type: boolean
4261
+ - type: 'null'
4262
+ description: Whether an email confirmation is required to perform the transfer
4263
+ title: Transfer Email Required
4264
+ transfer_lock_enabled:
4265
+ description: Whether transfers are locked by default in our system
4266
+ title: Transfer Lock Enabled
4267
+ type: boolean
4268
+ transfer_nack:
4269
+ anyOf:
4270
+ - $ref: '#/components/schemas/TransferAckType'
4271
+ - type: 'null'
4272
+ description: Whether a transfer can be denied
4273
+ transfer_renewal_period:
4274
+ anyOf:
4275
+ - examples:
4276
+ - P5D
4277
+ - P1Y
4278
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
4279
+ type: string
4280
+ - type: 'null'
4281
+ description: If transfer_renews_domain is true, the renewal period (e.g.,
4282
+ '1Y' for 1 year)
4283
+ title: Transfer Renewal Period
4284
+ transfer_renews_domain:
4285
+ anyOf:
4286
+ - type: boolean
4287
+ - type: 'null'
4288
+ description: Whether a transfer triggers a domain renewal
4289
+ title: Transfer Renews Domain
4290
+ transfer_time:
4291
+ anyOf:
4292
+ - examples:
4293
+ - P5D
4294
+ - P1Y
4295
+ pattern: ^\-?P?(\d+Y)?(\d+M)?(\d+D)?T?(\d+H)?(\d+M)?(\d+S)?$
4296
+ type: string
4297
+ - type: 'null'
4298
+ description: Time duration of transfers in ISO 8601 format (e.g., 5D, -7D)
4299
+ according to the policy, 0 = real-time
4300
+ title: Transfer Time
4301
+ required:
4302
+ - transfer_lock_enabled
4303
+ - authinfo_required
4304
+ title: TransferPoliciesBase
4305
+ type: object
3427
4306
  User:
3428
4307
  properties:
3429
4308
  created_on:
@@ -3970,6 +4849,16 @@ components:
3970
4849
  - email
3971
4850
  title: VerificationType
3972
4851
  type: string
4852
+ WhoisBase:
4853
+ properties:
4854
+ whois_server:
4855
+ anyOf:
4856
+ - type: string
4857
+ - type: 'null'
4858
+ description: WHOIS server
4859
+ title: Whois Server
4860
+ title: WhoisBase
4861
+ type: object
3973
4862
  ZoneSortField:
3974
4863
  enum:
3975
4864
  - name
@@ -4064,7 +4953,7 @@ info:
4064
4953
  '
4065
4954
  summary: OpusDNS - your gateway to a seamless domain management experience.
4066
4955
  title: OpusDNS API
4067
- version: 2025-07-25-140023
4956
+ version: 2025-07-31-173148
4068
4957
  x-logo:
4069
4958
  altText: OpusDNS API Reference
4070
4959
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -5952,6 +6841,15 @@ paths:
5952
6841
  title: Domain Management Error
5953
6842
  tld: Additional error context.
5954
6843
  type: domain-tld-not-available
6844
+ Domain Transfer Error:
6845
+ value:
6846
+ code: ERROR_DOMAIN_TRANSFER
6847
+ detail: An unspecified error occurred
6848
+ domain_name: Additional error context.
6849
+ reason: There was an error transferring the domain
6850
+ status: 400
6851
+ title: Domain Transfer Error
6852
+ type: domain-transfer
5955
6853
  schema:
5956
6854
  $ref: '#/components/schemas/Problem'
5957
6855
  description: Bad Request
@@ -6420,11 +7318,11 @@ paths:
6420
7318
  application/problem+json:
6421
7319
  example:
6422
7320
  code: ERROR_DOMAIN_TRANSFER
6423
- detail: There was an error transferring the domain
7321
+ detail: An unspecified error occurred
6424
7322
  domain_name: Additional error context.
6425
7323
  reason: There was an error transferring the domain
6426
7324
  status: 400
6427
- title: Domain Management Error
7325
+ title: Domain Transfer Error
6428
7326
  type: domain-transfer
6429
7327
  schema:
6430
7328
  $ref: '#/components/schemas/Problem'
@@ -7655,6 +8553,64 @@ paths:
7655
8553
  summary: Change Plan
7656
8554
  tags:
7657
8555
  - organization
8556
+ /v1/tlds/portfolio:
8557
+ get:
8558
+ operationId: get_tld_portfolio_v1_tlds_portfolio_get
8559
+ responses:
8560
+ '200':
8561
+ content:
8562
+ application/json:
8563
+ schema:
8564
+ items:
8565
+ $ref: '#/components/schemas/TldResponseShort'
8566
+ title: Response Get Tld Portfolio V1 Tlds Portfolio Get
8567
+ type: array
8568
+ description: Successful Response
8569
+ security:
8570
+ - OAuth2PasswordBearer: []
8571
+ summary: Get Tld Portfolio
8572
+ tags:
8573
+ - tld
8574
+ /v1/tlds/{tld}:
8575
+ get:
8576
+ operationId: get_tld_spec_v1_tlds__tld__get
8577
+ parameters:
8578
+ - in: path
8579
+ name: tld
8580
+ required: true
8581
+ schema:
8582
+ title: Tld
8583
+ type: string
8584
+ responses:
8585
+ '200':
8586
+ content:
8587
+ application/json:
8588
+ schema:
8589
+ $ref: '#/components/schemas/TldSpecificationResponse'
8590
+ description: Successful Response
8591
+ '404':
8592
+ content:
8593
+ application/problem+json:
8594
+ example:
8595
+ code: ERROR_TLD_NOT_FOUND
8596
+ detail: Unknown TLD
8597
+ status: 404
8598
+ title: TLD ERROR
8599
+ type: tld-not-found
8600
+ schema:
8601
+ $ref: '#/components/schemas/Problem'
8602
+ description: Not Found
8603
+ '422':
8604
+ content:
8605
+ application/problem+json:
8606
+ schema:
8607
+ $ref: '#/components/schemas/HTTPValidationError'
8608
+ description: Validation Error
8609
+ security:
8610
+ - OAuth2PasswordBearer: []
8611
+ summary: Get Tld Spec
8612
+ tags:
8613
+ - tld
7658
8614
  /v1/users:
7659
8615
  post:
7660
8616
  operationId: create_user_v1_users_post