@opusdns/api 1.126.0 → 1.128.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.128.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",
@@ -1814,6 +1831,7 @@ export const STATUS_TAG_TYPE = {
1814
1831
  EXTERNAL: "EXTERNAL",
1815
1832
  IMPORT_REQUESTED: "IMPORT_REQUESTED",
1816
1833
  IMPORT_PENDING: "IMPORT_PENDING",
1834
+ DNSSEC_PENDING: "DNSSEC_PENDING",
1817
1835
  } as const satisfies Record<string, StatusTagType>;
1818
1836
 
1819
1837
  export const STATUS_TAG_TYPE_VALUES = [
@@ -1824,6 +1842,7 @@ export const STATUS_TAG_TYPE_VALUES = [
1824
1842
  'EXTERNAL',
1825
1843
  'IMPORT_REQUESTED',
1826
1844
  'IMPORT_PENDING',
1845
+ 'DNSSEC_PENDING',
1827
1846
  ] as const satisfies ReadonlyArray<StatusTagType>;
1828
1847
 
1829
1848
  export const SYNC_OPERATION_TYPE = {
@@ -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
@@ -12762,6 +12808,7 @@ components:
12762
12808
  - EXTERNAL
12763
12809
  - IMPORT_REQUESTED
12764
12810
  - IMPORT_PENDING
12811
+ - DNSSEC_PENDING
12765
12812
  title: StatusTagType
12766
12813
  type: string
12767
12814
  StrictMoneyDecimal:
@@ -15588,7 +15635,7 @@ info:
15588
15635
  \n\n"
15589
15636
  summary: OpusDNS - your gateway to a seamless domain management experience.
15590
15637
  title: OpusDNS API
15591
- version: 2026-08-20-165512
15638
+ version: 2026-08-22-161524
15592
15639
  x-logo:
15593
15640
  altText: OpusDNS API Reference
15594
15641
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -20018,6 +20065,59 @@ paths:
20018
20065
  schema:
20019
20066
  $ref: '#/components/schemas/DnsChangesResponse'
20020
20067
  description: DNSSEC enabled successfully
20068
+ '202':
20069
+ content:
20070
+ application/json:
20071
+ examples:
20072
+ dnssec_publish_deferred:
20073
+ description: Changeset response with `dnssec_registry_publish` set
20074
+ to `deferred`
20075
+ summary: DNSSEC enabled, registry publish deferred
20076
+ value:
20077
+ changes:
20078
+ - action: delete_record
20079
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111801
20080
+ 10800 3600 604800 300
20081
+ rrset_name: example.com.
20082
+ rrset_type: SOA
20083
+ ttl: 3600
20084
+ - action: create_record
20085
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111802
20086
+ 10800 3600 604800 300
20087
+ rrset_name: example.com.
20088
+ rrset_type: SOA
20089
+ ttl: 3600
20090
+ - action: create_record
20091
+ record_data: 256 3 13 5OmhbRQw0+xlqw4iYjM9SojiKkpfReE8LoMzzb3uDSvfvaePyreODC0Pf0eMti2hz/q9by5G7jh5nqQBRp8qAA==
20092
+ rrset_name: example.com.
20093
+ rrset_type: DNSKEY
20094
+ ttl: 300
20095
+ - action: create_record
20096
+ record_data: 257 3 13 4knSelKBhrAmgwkLMDbJGXmpdO2vkPf6uwGn52BQmlgWXjIXnGqv9CYPTwplRf4mRbFKFDkhU8dn9AsNOL+8EQ==
20097
+ rrset_name: example.com.
20098
+ rrset_type: DNSKEY
20099
+ ttl: 300
20100
+ - action: create_record
20101
+ record_data: 41074 13 2 0f8ad1e9b0de2eb958ba571208951e71330e6d9e2afa3c84ec6bd16d77bfc718
20102
+ rrset_name: example.com.
20103
+ rrset_type: DS
20104
+ ttl: 300
20105
+ - action: create_record
20106
+ record_data: 41074 13 4 f2fa86164e45235537238dd5b86a6a2533fd17b1e8216c1d66d18ccfc79be4dca77e3bc6d76eb136e193c2cee0a6ea85
20107
+ rrset_name: example.com.
20108
+ rrset_type: DS
20109
+ ttl: 300
20110
+ - action: enable_dnssec
20111
+ changeset_id: b89527a6-b46e-4d29-bd57-6a1b6b4915c7
20112
+ dnssec_registry_publish: deferred
20113
+ num_changes: 7
20114
+ zone_name: example.com.
20115
+ description: The zone is signed, but the registry has not accepted the DS
20116
+ record yet because it could not see the new key material on the public
20117
+ nameservers. A background job resubmits it with backoff. Until it succeeds
20118
+ the zone resolves as unsigned; if the job gives up, DNSSEC is switched
20119
+ back off and a domain modification failure event carries the registry's
20120
+ diagnostic.
20021
20121
  '400':
20022
20122
  content:
20023
20123
  application/problem+json:
@@ -20033,14 +20133,25 @@ paths:
20033
20133
  '409':
20034
20134
  content:
20035
20135
  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.
20136
+ examples:
20137
+ DNSSEC Enable Superseded:
20138
+ value:
20139
+ code: ERROR_DOMAIN_DNSSEC_ENABLE_SUPERSEDED
20140
+ detail: DNSSEC was disabled for 'example.com.' while it was being
20141
+ enabled; the DS record was withdrawn and DNSSEC is off
20142
+ status: 409
20143
+ title: DNSSEC Enable Superseded
20144
+ type: domain-dnssec-enable-superseded
20145
+ zone_name: example.com.
20146
+ DNSSEC Zone Records Unavailable:
20147
+ value:
20148
+ code: ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE
20149
+ detail: DNS zone 'example.com.' is DNSSEC-enabled but has no usable
20150
+ DS records to publish
20151
+ status: 409
20152
+ title: DNSSEC Zone Records Unavailable
20153
+ type: domain-dnssec-zone-records-unavailable
20154
+ zone_name: example.com.
20044
20155
  schema:
20045
20156
  $ref: '#/components/schemas/Problem'
20046
20157
  description: Conflict
@@ -25365,6 +25476,21 @@ paths:
25365
25476
  Reference Dnssec Enable Post
25366
25477
  type: array
25367
25478
  description: Successful Response
25479
+ '202':
25480
+ content:
25481
+ application/json:
25482
+ schema:
25483
+ items:
25484
+ $ref: '#/components/schemas/DomainDnssecDataResponse'
25485
+ title: Response 202 Enable And Publish Dnssec Records V1 Domains Domain
25486
+ Reference Dnssec Enable Post
25487
+ type: array
25488
+ description: The zone is signed, but the registry has not accepted the DS
25489
+ record yet because it could not see the new key material on the public
25490
+ nameservers. A background job resubmits it with backoff, so the response
25491
+ carries no records. Until it succeeds the zone resolves as unsigned; if
25492
+ the job gives up, DNSSEC is switched back off and a domain modification
25493
+ failure event carries the registry's diagnostic.
25368
25494
  '404':
25369
25495
  content:
25370
25496
  application/problem+json:
@@ -25381,14 +25507,25 @@ paths:
25381
25507
  '409':
25382
25508
  content:
25383
25509
  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.
25510
+ examples:
25511
+ DNSSEC Enable Superseded:
25512
+ value:
25513
+ code: ERROR_DOMAIN_DNSSEC_ENABLE_SUPERSEDED
25514
+ detail: DNSSEC was disabled for 'example.com.' while it was being
25515
+ enabled; the DS record was withdrawn and DNSSEC is off
25516
+ status: 409
25517
+ title: DNSSEC Enable Superseded
25518
+ type: domain-dnssec-enable-superseded
25519
+ zone_name: example.com.
25520
+ DNSSEC Zone Records Unavailable:
25521
+ value:
25522
+ code: ERROR_DOMAIN_DNSSEC_ZONE_RECORDS_UNAVAILABLE
25523
+ detail: DNS zone 'example.com.' is DNSSEC-enabled but has no usable
25524
+ DS records to publish
25525
+ status: 409
25526
+ title: DNSSEC Zone Records Unavailable
25527
+ type: domain-dnssec-zone-records-unavailable
25528
+ zone_name: example.com.
25392
25529
  schema:
25393
25530
  $ref: '#/components/schemas/Problem'
25394
25531
  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}
@@ -11325,7 +11346,7 @@ export interface components {
11325
11346
  * StatusTagType
11326
11347
  * @enum {string}
11327
11348
  */
11328
- StatusTagType: "VERIFICATION_REQUIRED" | "CREATE_REQUESTED" | "INBOUND_TRANSFER_PENDING" | "OUTBOUND_TRANSFER_PENDING" | "EXTERNAL" | "IMPORT_REQUESTED" | "IMPORT_PENDING";
11349
+ StatusTagType: "VERIFICATION_REQUIRED" | "CREATE_REQUESTED" | "INBOUND_TRANSFER_PENDING" | "OUTBOUND_TRANSFER_PENDING" | "EXTERNAL" | "IMPORT_REQUESTED" | "IMPORT_PENDING" | "DNSSEC_PENDING";
11329
11350
  /** @example 12.50 */
11330
11351
  StrictMoneyDecimal: string;
11331
11352
  /** Support */
@@ -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
  };