@opusdns/api 1.126.0 → 1.127.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": "^1.5.0"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "1.126.0",
6
+ "version": "1.127.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -28,6 +28,7 @@ import type {
28
28
  DnssecDigestType,
29
29
  DnssecModeType,
30
30
  DnssecRecordType,
31
+ DnssecRegistryPublishOutcome,
31
32
  DnssecStatus,
32
33
  DomainAttributeKey,
33
34
  DomainAvailabilityStatus,
@@ -605,6 +606,22 @@ export const DNSSEC_RECORD_TYPE_VALUES = [
605
606
  'key_data',
606
607
  ] as const satisfies ReadonlyArray<DnssecRecordType>;
607
608
 
609
+ export const DNSSEC_REGISTRY_PUBLISH_OUTCOME = {
610
+ PUBLISHED: "published",
611
+ DEFERRED: "deferred",
612
+ SKIPPED: "skipped",
613
+ WITHDRAWN: "withdrawn",
614
+ FAILED: "failed",
615
+ } as const satisfies Record<string, DnssecRegistryPublishOutcome>;
616
+
617
+ export const DNSSEC_REGISTRY_PUBLISH_OUTCOME_VALUES = [
618
+ 'published',
619
+ 'deferred',
620
+ 'skipped',
621
+ 'withdrawn',
622
+ 'failed',
623
+ ] as const satisfies ReadonlyArray<DnssecRegistryPublishOutcome>;
624
+
608
625
  export const DNSSEC_STATUS = {
609
626
  ENABLED: "enabled",
610
627
  DISABLED: "disabled",
@@ -1394,12 +1394,14 @@ export const KEYS_DNS_CHANGE = [
1394
1394
 
1395
1395
  export const KEY_DNS_CHANGES_CHANGES = 'changes' satisfies keyof DnsChanges;
1396
1396
  export const KEY_DNS_CHANGES_CHANGESET_ID = 'changeset_id' satisfies keyof DnsChanges;
1397
+ export const KEY_DNS_CHANGES_DNSSEC_REGISTRY_PUBLISH = 'dnssec_registry_publish' satisfies keyof DnsChanges;
1397
1398
  export const KEY_DNS_CHANGES_NUM_CHANGES = 'num_changes' satisfies keyof DnsChanges;
1398
1399
  export const KEY_DNS_CHANGES_ZONE_NAME = 'zone_name' satisfies keyof DnsChanges;
1399
1400
 
1400
1401
  export const KEYS_DNS_CHANGES = [
1401
1402
  KEY_DNS_CHANGES_CHANGES,
1402
1403
  KEY_DNS_CHANGES_CHANGESET_ID,
1404
+ KEY_DNS_CHANGES_DNSSEC_REGISTRY_PUBLISH,
1403
1405
  KEY_DNS_CHANGES_NUM_CHANGES,
1404
1406
  KEY_DNS_CHANGES_ZONE_NAME,
1405
1407
  ] as const satisfies (keyof DnsChanges)[];
@@ -1145,9 +1145,10 @@ export type POST_DomainsByDomainReferenceDnssecDisable_Response = POST_DomainsBy
1145
1145
  export type POST_DomainsByDomainReferenceDnssecDisable_Response_404 = Problem;
1146
1146
  export type POST_DomainsByDomainReferenceDnssecDisable_Response_422 = HTTPValidationError;
1147
1147
 
1148
- export type POST_DomainsByDomainReferenceDnssecEnable_Response = POST_DomainsByDomainReferenceDnssecEnable_Response_200 | POST_DomainsByDomainReferenceDnssecEnable_Response_404 | POST_DomainsByDomainReferenceDnssecEnable_Response_409 | POST_DomainsByDomainReferenceDnssecEnable_Response_422;
1148
+ export type POST_DomainsByDomainReferenceDnssecEnable_Response = POST_DomainsByDomainReferenceDnssecEnable_Response_200 | POST_DomainsByDomainReferenceDnssecEnable_Response_202 | POST_DomainsByDomainReferenceDnssecEnable_Response_404 | POST_DomainsByDomainReferenceDnssecEnable_Response_409 | POST_DomainsByDomainReferenceDnssecEnable_Response_422;
1149
1149
 
1150
1150
  export type POST_DomainsByDomainReferenceDnssecEnable_Response_200 = DomainDnssecData[];
1151
+ export type POST_DomainsByDomainReferenceDnssecEnable_Response_202 = DomainDnssecData[];
1151
1152
  export type POST_DomainsByDomainReferenceDnssecEnable_Response_404 = Problem;
1152
1153
  export type POST_DomainsByDomainReferenceDnssecEnable_Response_409 = Problem;
1153
1154
  export type POST_DomainsByDomainReferenceDnssecEnable_Response_422 = Problem;
@@ -148,6 +148,7 @@ export type DnssecAlgorithm = components['schemas']['DnssecAlgorithm'];
148
148
  export type DnssecDigestType = components['schemas']['DnssecDigestType'];
149
149
  export type DnssecModeType = components['schemas']['DnssecModeType'];
150
150
  export type DnssecRecordType = components['schemas']['DnssecRecordType'];
151
+ export type DnssecRegistryPublishOutcome = components['schemas']['DnssecRegistryPublishOutcome'];
151
152
  export type DnssecStatus = components['schemas']['DnssecStatus'];
152
153
  export type DomainAttributeKey = components['schemas']['DomainAttributeKey'];
153
154
  export type DomainAvailability = components['schemas']['DomainAvailability'];
package/src/openapi.yaml CHANGED
@@ -2654,6 +2654,10 @@ components:
2654
2654
  type: string
2655
2655
  - type: 'null'
2656
2656
  title: Changeset Id
2657
+ dnssec_registry_publish:
2658
+ anyOf:
2659
+ - $ref: '#/components/schemas/DnssecRegistryPublishOutcome'
2660
+ - type: 'null'
2657
2661
  num_changes:
2658
2662
  title: Num Changes
2659
2663
  type: integer
@@ -3763,6 +3767,48 @@ components:
3763
3767
  - key_data
3764
3768
  title: DnssecRecordType
3765
3769
  type: string
3770
+ DnssecRegistryPublishOutcome:
3771
+ description: 'Fate of the DS/DNSKEY submission that follows signing a zone.
3772
+
3773
+
3774
+ DEFERRED means the zone is signed but the parent holds no DS yet: the registry
3775
+
3776
+ rejected the submission because the public nameservers had not served the
3777
+ new key
3778
+
3779
+ material yet, and a background job is retrying. A signed zone with no DS at
3780
+ the
3781
+
3782
+ parent resolves as unsigned, so the intermediate state is safe.
3783
+
3784
+
3785
+ WITHDRAWN means the zone stopped being signed while the DS was in flight,
3786
+ so the DS
3787
+
3788
+ was taken back off the parent: the enablement did not take effect. It is kept
3789
+ apart
3790
+
3791
+ from SKIPPED because SKIPPED also covers "there was nothing to submit", and
3792
+ a caller
3793
+
3794
+ must not render an enablement that was undone as a success.
3795
+
3796
+
3797
+ FAILED means the zone is signed and nothing is working towards a DS. Only
3798
+ the zone
3799
+
3800
+ create path can report it, because that is the one caller that cannot propagate
3801
+ the
3802
+
3803
+ error. Null means the response makes no statement about a registry DS submission.'
3804
+ enum:
3805
+ - published
3806
+ - deferred
3807
+ - skipped
3808
+ - withdrawn
3809
+ - failed
3810
+ title: DnssecRegistryPublishOutcome
3811
+ type: string
3766
3812
  DnssecStatus:
3767
3813
  enum:
3768
3814
  - enabled
@@ -15588,7 +15634,7 @@ info:
15588
15634
  \n\n"
15589
15635
  summary: OpusDNS - your gateway to a seamless domain management experience.
15590
15636
  title: OpusDNS API
15591
- version: 2026-08-20-165512
15637
+ version: 2026-08-21-183123
15592
15638
  x-logo:
15593
15639
  altText: OpusDNS API Reference
15594
15640
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -20018,6 +20064,59 @@ paths:
20018
20064
  schema:
20019
20065
  $ref: '#/components/schemas/DnsChangesResponse'
20020
20066
  description: DNSSEC enabled successfully
20067
+ '202':
20068
+ content:
20069
+ application/json:
20070
+ examples:
20071
+ dnssec_publish_deferred:
20072
+ description: Changeset response with `dnssec_registry_publish` set
20073
+ to `deferred`
20074
+ summary: DNSSEC enabled, registry publish deferred
20075
+ value:
20076
+ changes:
20077
+ - action: delete_record
20078
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111801
20079
+ 10800 3600 604800 300
20080
+ rrset_name: example.com.
20081
+ rrset_type: SOA
20082
+ ttl: 3600
20083
+ - action: create_record
20084
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111802
20085
+ 10800 3600 604800 300
20086
+ rrset_name: example.com.
20087
+ rrset_type: SOA
20088
+ ttl: 3600
20089
+ - action: create_record
20090
+ record_data: 256 3 13 5OmhbRQw0+xlqw4iYjM9SojiKkpfReE8LoMzzb3uDSvfvaePyreODC0Pf0eMti2hz/q9by5G7jh5nqQBRp8qAA==
20091
+ rrset_name: example.com.
20092
+ rrset_type: DNSKEY
20093
+ ttl: 300
20094
+ - action: create_record
20095
+ record_data: 257 3 13 4knSelKBhrAmgwkLMDbJGXmpdO2vkPf6uwGn52BQmlgWXjIXnGqv9CYPTwplRf4mRbFKFDkhU8dn9AsNOL+8EQ==
20096
+ rrset_name: example.com.
20097
+ rrset_type: DNSKEY
20098
+ ttl: 300
20099
+ - action: create_record
20100
+ record_data: 41074 13 2 0f8ad1e9b0de2eb958ba571208951e71330e6d9e2afa3c84ec6bd16d77bfc718
20101
+ rrset_name: example.com.
20102
+ rrset_type: DS
20103
+ ttl: 300
20104
+ - action: create_record
20105
+ record_data: 41074 13 4 f2fa86164e45235537238dd5b86a6a2533fd17b1e8216c1d66d18ccfc79be4dca77e3bc6d76eb136e193c2cee0a6ea85
20106
+ rrset_name: example.com.
20107
+ rrset_type: DS
20108
+ ttl: 300
20109
+ - action: enable_dnssec
20110
+ changeset_id: b89527a6-b46e-4d29-bd57-6a1b6b4915c7
20111
+ dnssec_registry_publish: deferred
20112
+ num_changes: 7
20113
+ zone_name: example.com.
20114
+ description: The zone is signed, but the registry has not accepted the DS
20115
+ record yet because it could not see the new key material on the public
20116
+ nameservers. A background job resubmits it with backoff. Until it succeeds
20117
+ the zone resolves as unsigned; if the job gives up, DNSSEC is switched
20118
+ back off and a domain modification failure event carries the registry's
20119
+ diagnostic.
20021
20120
  '400':
20022
20121
  content:
20023
20122
  application/problem+json:
@@ -20033,14 +20132,25 @@ paths:
20033
20132
  '409':
20034
20133
  content:
20035
20134
  application/problem+json:
20036
- example:
20037
- code: ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE
20038
- detail: DNS zone 'example.com.' is DNSSEC-enabled but has no usable
20039
- DS records to publish
20040
- status: 409
20041
- title: DNSSEC Zone Records Unavailable
20042
- type: domain-dnssec-zone-records-unavailable
20043
- zone_name: example.com.
20135
+ examples:
20136
+ DNSSEC Enable Superseded:
20137
+ value:
20138
+ code: ERROR_DOMAIN_DNSSEC_ENABLE_SUPERSEDED
20139
+ detail: DNSSEC was disabled for 'example.com.' while it was being
20140
+ enabled; the DS record was withdrawn and DNSSEC is off
20141
+ status: 409
20142
+ title: DNSSEC Enable Superseded
20143
+ type: domain-dnssec-enable-superseded
20144
+ zone_name: example.com.
20145
+ DNSSEC Zone Records Unavailable:
20146
+ value:
20147
+ code: ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE
20148
+ detail: DNS zone 'example.com.' is DNSSEC-enabled but has no usable
20149
+ DS records to publish
20150
+ status: 409
20151
+ title: DNSSEC Zone Records Unavailable
20152
+ type: domain-dnssec-zone-records-unavailable
20153
+ zone_name: example.com.
20044
20154
  schema:
20045
20155
  $ref: '#/components/schemas/Problem'
20046
20156
  description: Conflict
@@ -25365,6 +25475,21 @@ paths:
25365
25475
  Reference Dnssec Enable Post
25366
25476
  type: array
25367
25477
  description: Successful Response
25478
+ '202':
25479
+ content:
25480
+ application/json:
25481
+ schema:
25482
+ items:
25483
+ $ref: '#/components/schemas/DomainDnssecDataResponse'
25484
+ title: Response 202 Enable And Publish Dnssec Records V1 Domains Domain
25485
+ Reference Dnssec Enable Post
25486
+ type: array
25487
+ description: The zone is signed, but the registry has not accepted the DS
25488
+ record yet because it could not see the new key material on the public
25489
+ nameservers. A background job resubmits it with backoff, so the response
25490
+ carries no records. Until it succeeds the zone resolves as unsigned; if
25491
+ the job gives up, DNSSEC is switched back off and a domain modification
25492
+ failure event carries the registry's diagnostic.
25368
25493
  '404':
25369
25494
  content:
25370
25495
  application/problem+json:
@@ -25381,14 +25506,25 @@ paths:
25381
25506
  '409':
25382
25507
  content:
25383
25508
  application/problem+json:
25384
- example:
25385
- code: ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE
25386
- detail: DNS zone 'example.com.' is DNSSEC-enabled but has no usable
25387
- DS records to publish
25388
- status: 409
25389
- title: DNSSEC Zone Records Unavailable
25390
- type: domain-dnssec-zone-records-unavailable
25391
- zone_name: example.com.
25509
+ examples:
25510
+ DNSSEC Enable Superseded:
25511
+ value:
25512
+ code: ERROR_DOMAIN_DNSSEC_ENABLE_SUPERSEDED
25513
+ detail: DNSSEC was disabled for 'example.com.' while it was being
25514
+ enabled; the DS record was withdrawn and DNSSEC is off
25515
+ status: 409
25516
+ title: DNSSEC Enable Superseded
25517
+ type: domain-dnssec-enable-superseded
25518
+ zone_name: example.com.
25519
+ DNSSEC Zone Records Unavailable:
25520
+ value:
25521
+ code: ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE
25522
+ detail: DNS zone 'example.com.' is DNSSEC-enabled but has no usable
25523
+ DS records to publish
25524
+ status: 409
25525
+ title: DNSSEC Zone Records Unavailable
25526
+ type: domain-dnssec-zone-records-unavailable
25527
+ zone_name: example.com.
25392
25528
  schema:
25393
25529
  $ref: '#/components/schemas/Problem'
25394
25530
  description: Conflict
package/src/schema.d.ts CHANGED
@@ -4752,6 +4752,7 @@ export interface components {
4752
4752
  changes: components["schemas"]["DnsChangeResponse"][];
4753
4753
  /** Changeset Id */
4754
4754
  changeset_id: string | null;
4755
+ dnssec_registry_publish?: components["schemas"]["DnssecRegistryPublishOutcome"] | null;
4755
4756
  /** Num Changes */
4756
4757
  num_changes: number;
4757
4758
  /** Zone Name */
@@ -5431,6 +5432,26 @@ export interface components {
5431
5432
  * @enum {string}
5432
5433
  */
5433
5434
  DnssecRecordType: "ds_data" | "key_data";
5435
+ /**
5436
+ * DnssecRegistryPublishOutcome
5437
+ * @description Fate of the DS/DNSKEY submission that follows signing a zone.
5438
+ *
5439
+ * DEFERRED means the zone is signed but the parent holds no DS yet: the registry
5440
+ * rejected the submission because the public nameservers had not served the new key
5441
+ * material yet, and a background job is retrying. A signed zone with no DS at the
5442
+ * parent resolves as unsigned, so the intermediate state is safe.
5443
+ *
5444
+ * WITHDRAWN means the zone stopped being signed while the DS was in flight, so the DS
5445
+ * was taken back off the parent: the enablement did not take effect. It is kept apart
5446
+ * from SKIPPED because SKIPPED also covers "there was nothing to submit", and a caller
5447
+ * must not render an enablement that was undone as a success.
5448
+ *
5449
+ * FAILED means the zone is signed and nothing is working towards a DS. Only the zone
5450
+ * create path can report it, because that is the one caller that cannot propagate the
5451
+ * error. Null means the response makes no statement about a registry DS submission.
5452
+ * @enum {string}
5453
+ */
5454
+ DnssecRegistryPublishOutcome: "published" | "deferred" | "skipped" | "withdrawn" | "failed";
5434
5455
  /**
5435
5456
  * DnssecStatus
5436
5457
  * @enum {string}
@@ -16787,6 +16808,15 @@ export interface operations {
16787
16808
  "application/json": components["schemas"]["DnsChangesResponse"];
16788
16809
  };
16789
16810
  };
16811
+ /** @description The zone is signed, but the registry has not accepted the DS record yet because it could not see the new key material on the public nameservers. A background job resubmits it with backoff. Until it succeeds the zone resolves as unsigned; if the job gives up, DNSSEC is switched back off and a domain modification failure event carries the registry's diagnostic. */
16812
+ 202: {
16813
+ headers: {
16814
+ [name: string]: unknown;
16815
+ };
16816
+ content: {
16817
+ "application/json": unknown;
16818
+ };
16819
+ };
16790
16820
  /** @description Bad Request */
16791
16821
  400: {
16792
16822
  headers: {
@@ -16809,14 +16839,6 @@ export interface operations {
16809
16839
  [name: string]: unknown;
16810
16840
  };
16811
16841
  content: {
16812
- /** @example {
16813
- * "code": "ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE",
16814
- * "detail": "DNS zone 'example.com.' is DNSSEC-enabled but has no usable DS records to publish",
16815
- * "status": 409,
16816
- * "title": "DNSSEC Zone Records Unavailable",
16817
- * "type": "domain-dnssec-zone-records-unavailable",
16818
- * "zone_name": "example.com."
16819
- * } */
16820
16842
  "application/problem+json": components["schemas"]["Problem"];
16821
16843
  };
16822
16844
  };
@@ -20893,6 +20915,15 @@ export interface operations {
20893
20915
  "application/json": components["schemas"]["DomainDnssecDataResponse"][];
20894
20916
  };
20895
20917
  };
20918
+ /** @description The zone is signed, but the registry has not accepted the DS record yet because it could not see the new key material on the public nameservers. A background job resubmits it with backoff, so the response carries no records. Until it succeeds the zone resolves as unsigned; if the job gives up, DNSSEC is switched back off and a domain modification failure event carries the registry's diagnostic. */
20919
+ 202: {
20920
+ headers: {
20921
+ [name: string]: unknown;
20922
+ };
20923
+ content: {
20924
+ "application/json": components["schemas"]["DomainDnssecDataResponse"][];
20925
+ };
20926
+ };
20896
20927
  /** @description Not Found */
20897
20928
  404: {
20898
20929
  headers: {
@@ -20916,14 +20947,6 @@ export interface operations {
20916
20947
  [name: string]: unknown;
20917
20948
  };
20918
20949
  content: {
20919
- /** @example {
20920
- * "code": "ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE",
20921
- * "detail": "DNS zone 'example.com.' is DNSSEC-enabled but has no usable DS records to publish",
20922
- * "status": 409,
20923
- * "title": "DNSSEC Zone Records Unavailable",
20924
- * "type": "domain-dnssec-zone-records-unavailable",
20925
- * "zone_name": "example.com."
20926
- * } */
20927
20950
  "application/problem+json": components["schemas"]["Problem"];
20928
20951
  };
20929
20952
  };