@opusdns/api 0.108.0 → 0.110.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.9.1"
4
4
  },
5
5
  "name": "@opusdns/api",
6
- "version": "0.108.0",
6
+ "version": "0.110.0",
7
7
  "description": "TypeScript types for the OpusDNS OpenAPI specification",
8
8
  "main": "./src/index.ts",
9
9
  "module": "./src/index.ts",
@@ -268,6 +268,31 @@ export const KEYS_ALLOWED_NUMBER_OF_NAMESERVER_BASE = [
268
268
  * @see {@link KEYS_BILLING_METADATA} - Array of all keys for this type
269
269
  */
270
270
  export const KEY_BILLING_METADATA_BILLING_MODEL = 'billing_model' as keyof BillingMetadata;
271
+ /**
272
+ * Credit Limit
273
+ *
274
+ * Credit limit for the organization.
275
+ *
276
+ *
277
+ *
278
+ * @remarks
279
+ * This key constant provides type-safe access to the `credit_limit` property of BillingMetadata objects.
280
+ * Use this constant when you need to access properties dynamically or ensure type safety.
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * // Direct property access
285
+ * const value = billingmetadata[KEY_BILLING_METADATA_CREDIT_LIMIT];
286
+ *
287
+ * // Dynamic property access
288
+ * const propertyName = KEY_BILLING_METADATA_CREDIT_LIMIT;
289
+ * const value = billingmetadata[propertyName];
290
+ * ```
291
+ *
292
+ * @see {@link BillingMetadata} - The TypeScript type definition
293
+ * @see {@link KEYS_BILLING_METADATA} - Array of all keys for this type
294
+ */
295
+ export const KEY_BILLING_METADATA_CREDIT_LIMIT = 'credit_limit' as keyof BillingMetadata;
271
296
  /**
272
297
  * Customer Number
273
298
  *
@@ -316,6 +341,7 @@ export const KEY_BILLING_METADATA_CUSTOMER_NUMBER = 'customer_number' as keyof B
316
341
  */
317
342
  export const KEYS_BILLING_METADATA = [
318
343
  KEY_BILLING_METADATA_BILLING_MODEL,
344
+ KEY_BILLING_METADATA_CREDIT_LIMIT,
319
345
  KEY_BILLING_METADATA_CUSTOMER_NUMBER,
320
346
  ] as const satisfies (keyof BillingMetadata)[];
321
347
 
@@ -1518,11 +1518,12 @@ export type GET_DnsByZoneName_Response_422 = HTTPValidationError
1518
1518
  * @param zone_name (path) - DNS zone name (trailing dot optional)
1519
1519
  *
1520
1520
  * @see {@link POST_DnsByZoneNameDnssecDisable_Response_200} - 200 response type
1521
+ * @see {@link POST_DnsByZoneNameDnssecDisable_Response_400} - 400 response type
1521
1522
  * @see {@link POST_DnsByZoneNameDnssecDisable_Response_422} - 422 response type
1522
1523
  *
1523
1524
 
1524
1525
  */
1525
- export type POST_DnsByZoneNameDnssecDisable_Response = POST_DnsByZoneNameDnssecDisable_Response_200 | POST_DnsByZoneNameDnssecDisable_Response_422;
1526
+ export type POST_DnsByZoneNameDnssecDisable_Response = POST_DnsByZoneNameDnssecDisable_Response_200 | POST_DnsByZoneNameDnssecDisable_Response_400 | POST_DnsByZoneNameDnssecDisable_Response_422;
1526
1527
 
1527
1528
  /**
1528
1529
  * 200 response for POST DnsByZoneNameDnssecDisable endpoint
@@ -1542,6 +1543,24 @@ export type POST_DnsByZoneNameDnssecDisable_Response = POST_DnsByZoneNameDnssecD
1542
1543
  */
1543
1544
  export type POST_DnsByZoneNameDnssecDisable_Response_200 = DnsChanges
1544
1545
 
1546
+ /**
1547
+ * 400 response for POST DnsByZoneNameDnssecDisable endpoint
1548
+ *
1549
+ * @remarks
1550
+ * This type defines the response structure for the 400 status code
1551
+ * of the POST DnsByZoneNameDnssecDisable endpoint.
1552
+ * It provides type safety for handling this specific response as defined in the OpenAPI specification.
1553
+ *
1554
+
1555
+ *
1556
+ * @path /v1/dns/{zone_name}/dnssec/disable
1557
+ * @param zone_name (path) - DNS zone name (trailing dot optional)
1558
+ *
1559
+ * @see {@link POST_DnsByZoneNameDnssecDisable_Response} - The main response type definition
1560
+ * @see {@link Problem} - The actual schema type definition
1561
+ */
1562
+ export type POST_DnsByZoneNameDnssecDisable_Response_400 = Problem
1563
+
1545
1564
  /**
1546
1565
  * 422 response for POST DnsByZoneNameDnssecDisable endpoint
1547
1566
  *
@@ -1576,11 +1595,12 @@ export type POST_DnsByZoneNameDnssecDisable_Response_422 = HTTPValidationError
1576
1595
  * @param zone_name (path) - DNS zone name (trailing dot optional)
1577
1596
  *
1578
1597
  * @see {@link POST_DnsByZoneNameDnssecEnable_Response_200} - 200 response type
1598
+ * @see {@link POST_DnsByZoneNameDnssecEnable_Response_400} - 400 response type
1579
1599
  * @see {@link POST_DnsByZoneNameDnssecEnable_Response_422} - 422 response type
1580
1600
  *
1581
1601
 
1582
1602
  */
1583
- export type POST_DnsByZoneNameDnssecEnable_Response = POST_DnsByZoneNameDnssecEnable_Response_200 | POST_DnsByZoneNameDnssecEnable_Response_422;
1603
+ export type POST_DnsByZoneNameDnssecEnable_Response = POST_DnsByZoneNameDnssecEnable_Response_200 | POST_DnsByZoneNameDnssecEnable_Response_400 | POST_DnsByZoneNameDnssecEnable_Response_422;
1584
1604
 
1585
1605
  /**
1586
1606
  * 200 response for POST DnsByZoneNameDnssecEnable endpoint
@@ -1600,6 +1620,24 @@ export type POST_DnsByZoneNameDnssecEnable_Response = POST_DnsByZoneNameDnssecEn
1600
1620
  */
1601
1621
  export type POST_DnsByZoneNameDnssecEnable_Response_200 = DnsChanges
1602
1622
 
1623
+ /**
1624
+ * 400 response for POST DnsByZoneNameDnssecEnable endpoint
1625
+ *
1626
+ * @remarks
1627
+ * This type defines the response structure for the 400 status code
1628
+ * of the POST DnsByZoneNameDnssecEnable endpoint.
1629
+ * It provides type safety for handling this specific response as defined in the OpenAPI specification.
1630
+ *
1631
+
1632
+ *
1633
+ * @path /v1/dns/{zone_name}/dnssec/enable
1634
+ * @param zone_name (path) - DNS zone name (trailing dot optional)
1635
+ *
1636
+ * @see {@link POST_DnsByZoneNameDnssecEnable_Response} - The main response type definition
1637
+ * @see {@link Problem} - The actual schema type definition
1638
+ */
1639
+ export type POST_DnsByZoneNameDnssecEnable_Response_400 = Problem
1640
+
1603
1641
  /**
1604
1642
  * 422 response for POST DnsByZoneNameDnssecEnable endpoint
1605
1643
  *
package/src/openapi.yaml CHANGED
@@ -39,6 +39,12 @@ components:
39
39
  - type: 'null'
40
40
  description: Payment terms for the organization.
41
41
  title: Billing Model
42
+ credit_limit:
43
+ anyOf:
44
+ - type: integer
45
+ - type: 'null'
46
+ description: Credit limit for the organization.
47
+ title: Credit Limit
42
48
  customer_number:
43
49
  anyOf:
44
50
  - type: integer
@@ -5602,7 +5608,7 @@ info:
5602
5608
  '
5603
5609
  summary: OpusDNS - your gateway to a seamless domain management experience.
5604
5610
  title: OpusDNS API
5605
- version: 2025-12-03-100606
5611
+ version: 2025-12-04-140616
5606
5612
  x-logo:
5607
5613
  altText: OpusDNS API Reference
5608
5614
  url: https://d24lr4zqs1tgqh.cloudfront.net/c9505a20-5ae1-406c-b060-d392569caebf.jpg
@@ -6994,9 +7000,43 @@ paths:
6994
7000
  '200':
6995
7001
  content:
6996
7002
  application/json:
7003
+ examples:
7004
+ zones_list:
7005
+ description: Paginated list of DNS zones with their RRsets
7006
+ summary: List of zones
7007
+ value:
7008
+ pagination:
7009
+ current_page: 1
7010
+ has_next_page: false
7011
+ has_previous_page: false
7012
+ page_size: 10
7013
+ total_items: 1
7014
+ total_pages: 1
7015
+ results:
7016
+ - created_on: '2025-11-18T12:43:35Z'
7017
+ dnssec_status: disabled
7018
+ domain_parts:
7019
+ domain: example
7020
+ subdomain: ''
7021
+ suffix: com
7022
+ name: example.com.
7023
+ rrsets:
7024
+ - name: example.com.
7025
+ records:
7026
+ - rdata: ns1.opusdns.com. hostmaster.opusdns.com. 2025111801
7027
+ 10800 3600 604800 300
7028
+ ttl: 3600
7029
+ type: SOA
7030
+ - name: example.com.
7031
+ records:
7032
+ - rdata: ns1.opusdns.com.
7033
+ - rdata: ns2.opusdns.net.
7034
+ ttl: 3600
7035
+ type: NS
7036
+ updated_on: '2025-11-18T12:43:35Z'
6997
7037
  schema:
6998
7038
  $ref: '#/components/schemas/Pagination_DnsZoneResponse_'
6999
- description: Successful Response
7039
+ description: List of DNS zones retrieved successfully
7000
7040
  '422':
7001
7041
  content:
7002
7042
  application/problem+json:
@@ -7176,7 +7216,7 @@ paths:
7176
7216
  rrset_type: NS
7177
7217
  ttl: 3600
7178
7218
  - action: create_record
7179
- record_data: ns2.opusdns.com.
7219
+ record_data: ns2.opusdns.net.
7180
7220
  rrset_name: example.com.
7181
7221
  rrset_type: NS
7182
7222
  ttl: 3600
@@ -7274,9 +7314,43 @@ paths:
7274
7314
  '200':
7275
7315
  content:
7276
7316
  application/json:
7317
+ examples:
7318
+ domain_forwards:
7319
+ description: Paginated list of domain forwards organized by DNS
7320
+ zones with redirect configurations
7321
+ summary: Domain forwards by zone
7322
+ value:
7323
+ pagination:
7324
+ current_page: 1
7325
+ has_next_page: false
7326
+ has_previous_page: false
7327
+ page_size: 10
7328
+ total_items: 1
7329
+ total_pages: 1
7330
+ results:
7331
+ - domain_forwards:
7332
+ - created_on: '2025-11-18T12:59:57Z'
7333
+ enabled: false
7334
+ hostname: example.com.
7335
+ https:
7336
+ created_on: '2025-11-18T12:59:57Z'
7337
+ redirects:
7338
+ - redirect_code: 302
7339
+ request_hostname: example.com.
7340
+ request_path: /
7341
+ request_protocol: https
7342
+ target_hostname: auth.example.com.
7343
+ target_path: /
7344
+ target_protocol: https
7345
+ updated_on: '2025-11-18T12:59:57Z'
7346
+ wildcard: false
7347
+ updated_on: '2025-11-18T12:59:57Z'
7348
+ wildcard: false
7349
+ zone_id: zone_01kabfvtysfqwv4dn89r3jepym
7350
+ zone_name: example.com.
7277
7351
  schema:
7278
7352
  $ref: '#/components/schemas/Pagination_DomainForwardZone_'
7279
- description: Successful Response
7353
+ description: List of domain forwards grouped by DNS zones
7280
7354
  '401':
7281
7355
  content:
7282
7356
  application/problem+json:
@@ -7319,9 +7393,18 @@ paths:
7319
7393
  '200':
7320
7394
  content:
7321
7395
  application/json:
7396
+ examples:
7397
+ summary:
7398
+ description: Summary of DNS zones showing total count and breakdown
7399
+ by DNSSEC status
7400
+ summary: Zones summary
7401
+ value:
7402
+ total_zones: 1
7403
+ zones_by_dnssec:
7404
+ disabled: 1
7322
7405
  schema:
7323
7406
  $ref: '#/components/schemas/DnsZoneSummary'
7324
- description: Successful Response
7407
+ description: DNS zones summary retrieved successfully
7325
7408
  security:
7326
7409
  - OAuth2PasswordBearer: []
7327
7410
  summary: Get Zones Summary
@@ -7368,9 +7451,88 @@ paths:
7368
7451
  '200':
7369
7452
  content:
7370
7453
  application/json:
7454
+ examples:
7455
+ basic_zone:
7456
+ description: A newly created zone with only SOA and NS records
7457
+ summary: Basic zone with default records
7458
+ value:
7459
+ created_on: '2025-11-18T12:43:35Z'
7460
+ dnssec_status: disabled
7461
+ domain_parts:
7462
+ domain: example
7463
+ subdomain: ''
7464
+ suffix: com
7465
+ name: example.com.
7466
+ rrsets:
7467
+ - name: example.com.
7468
+ records:
7469
+ - rdata: ns1.opusdns.com. hostmaster.opusdns.com. 2025111801
7470
+ 10800 3600 604800 300
7471
+ ttl: 3600
7472
+ type: SOA
7473
+ - name: example.com.
7474
+ records:
7475
+ - rdata: ns1.opusdns.com.
7476
+ - rdata: ns2.opusdns.net.
7477
+ ttl: 3600
7478
+ type: NS
7479
+ updated_on: '2025-11-18T12:43:35Z'
7480
+ zone_with_records:
7481
+ description: A fully configured zone with A, CNAME, MX, TXT records
7482
+ and DNSSEC enabled
7483
+ summary: Zone with custom records and DNSSEC
7484
+ value:
7485
+ created_on: '2025-11-15T10:30:00Z'
7486
+ dnssec_status: enabled
7487
+ domain_parts:
7488
+ domain: example
7489
+ subdomain: ''
7490
+ suffix: com
7491
+ name: example.com.
7492
+ rrsets:
7493
+ - name: example.com.
7494
+ records:
7495
+ - rdata: ns1.opusdns.com. hostmaster.opusdns.com. 2025111701
7496
+ 10800 3600 604800 300
7497
+ ttl: 3600
7498
+ type: SOA
7499
+ - name: example.com.
7500
+ records:
7501
+ - rdata: ns1.opusdns.com.
7502
+ - rdata: ns2.opusdns.com.
7503
+ ttl: 3600
7504
+ type: NS
7505
+ - name: example.com.
7506
+ records:
7507
+ - rdata: 203.0.113.10
7508
+ ttl: 300
7509
+ type: A
7510
+ - name: www.example.com.
7511
+ records:
7512
+ - rdata: example.com.
7513
+ ttl: 300
7514
+ type: CNAME
7515
+ - name: example.com.
7516
+ records:
7517
+ - rdata: 10 mail.example.com.
7518
+ - rdata: 20 backup-mail.example.com.
7519
+ ttl: 300
7520
+ type: MX
7521
+ - name: example.com.
7522
+ records:
7523
+ - rdata: '"v=spf1 include:_spf.google.com ~all"'
7524
+ ttl: 300
7525
+ type: TXT
7526
+ - name: example.com.
7527
+ records:
7528
+ - rdata: 256 3 13 4epAMhnUgbFbAmKI2zbTXXFHGlVeHamiWLPdwJ8ehE9NgmvDNraqYF/0YdDcoc2elyelvi72KJyQfIR02axEeQ==
7529
+ - rdata: 257 3 13 Wx1Wk8Sl+PyanAWPYsCPw9qFv2Nv0U/MXoJGgpmdqgbLgtvPlVM1/66j/MFTOjk4ONGKGZoWbZ86ud18lWvacw==
7530
+ ttl: 300
7531
+ type: DNSKEY
7532
+ updated_on: '2025-11-17T14:20:00Z'
7371
7533
  schema:
7372
7534
  $ref: '#/components/schemas/DnsZoneResponse'
7373
- description: Successful Response
7535
+ description: DNS zone retrieved successfully
7374
7536
  '422':
7375
7537
  content:
7376
7538
  application/problem+json:
@@ -7398,9 +7560,64 @@ paths:
7398
7560
  '200':
7399
7561
  content:
7400
7562
  application/json:
7563
+ examples:
7564
+ dnssec_disabled:
7565
+ description: Changeset response showing DNSSEC keys and DS records
7566
+ removed
7567
+ summary: DNSSEC disabled for zone
7568
+ value:
7569
+ changes:
7570
+ - action: delete_record
7571
+ record_data: 256 3 13 5OmhbRQw0+xlqw4iYjM9SojiKkpfReE8LoMzzb3uDSvfvaePyreODC0Pf0eMti2hz/q9by5G7jh5nqQBRp8qAA==
7572
+ rrset_name: example.com.
7573
+ rrset_type: DNSKEY
7574
+ ttl: 300
7575
+ - action: delete_record
7576
+ record_data: 257 3 13 4knSelKBhrAmgwkLMDbJGXmpdO2vkPf6uwGn52BQmlgWXjIXnGqv9CYPTwplRf4mRbFKFDkhU8dn9AsNOL+8EQ==
7577
+ rrset_name: example.com.
7578
+ rrset_type: DNSKEY
7579
+ ttl: 300
7580
+ - action: delete_record
7581
+ record_data: 41074 13 2 0f8ad1e9b0de2eb958ba571208951e71330e6d9e2afa3c84ec6bd16d77bfc718
7582
+ rrset_name: example.com.
7583
+ rrset_type: DS
7584
+ ttl: 300
7585
+ - action: delete_record
7586
+ record_data: 41074 13 4 f2fa86164e45235537238dd5b86a6a2533fd17b1e8216c1d66d18ccfc79be4dca77e3bc6d76eb136e193c2cee0a6ea85
7587
+ rrset_name: example.com.
7588
+ rrset_type: DS
7589
+ ttl: 300
7590
+ - action: delete_record
7591
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111802
7592
+ 10800 3600 604800 300
7593
+ rrset_name: example.com.
7594
+ rrset_type: SOA
7595
+ ttl: 3600
7596
+ - action: create_record
7597
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111803
7598
+ 10800 3600 604800 300
7599
+ rrset_name: example.com.
7600
+ rrset_type: SOA
7601
+ ttl: 3600
7602
+ - action: disable_dnssec
7603
+ changeset_id: a2a336e2-de44-4e54-b160-1e25b117b0e9
7604
+ num_changes: 7
7605
+ zone_name: example.com.
7401
7606
  schema:
7402
7607
  $ref: '#/components/schemas/DnsChangesResponse'
7403
- description: Successful Response
7608
+ description: DNSSEC disabled successfully
7609
+ '400':
7610
+ content:
7611
+ application/problem+json:
7612
+ example:
7613
+ code: ERROR_DNS
7614
+ detail: Additional error context.
7615
+ status: 400
7616
+ title: DNS Error
7617
+ type: dns
7618
+ schema:
7619
+ $ref: '#/components/schemas/Problem'
7620
+ description: Bad Request
7404
7621
  '422':
7405
7622
  content:
7406
7623
  application/problem+json:
@@ -7428,9 +7645,64 @@ paths:
7428
7645
  '200':
7429
7646
  content:
7430
7647
  application/json:
7648
+ examples:
7649
+ dnssec_enabled:
7650
+ description: Changeset response showing DNSSEC keys and DS records
7651
+ created
7652
+ summary: DNSSEC enabled for zone
7653
+ value:
7654
+ changes:
7655
+ - action: delete_record
7656
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111801
7657
+ 10800 3600 604800 300
7658
+ rrset_name: example.com.
7659
+ rrset_type: SOA
7660
+ ttl: 3600
7661
+ - action: create_record
7662
+ record_data: ns1.opusdns.com. hostmaster.opusdns.com. 2025111802
7663
+ 10800 3600 604800 300
7664
+ rrset_name: example.com.
7665
+ rrset_type: SOA
7666
+ ttl: 3600
7667
+ - action: create_record
7668
+ record_data: 256 3 13 5OmhbRQw0+xlqw4iYjM9SojiKkpfReE8LoMzzb3uDSvfvaePyreODC0Pf0eMti2hz/q9by5G7jh5nqQBRp8qAA==
7669
+ rrset_name: example.com.
7670
+ rrset_type: DNSKEY
7671
+ ttl: 300
7672
+ - action: create_record
7673
+ record_data: 257 3 13 4knSelKBhrAmgwkLMDbJGXmpdO2vkPf6uwGn52BQmlgWXjIXnGqv9CYPTwplRf4mRbFKFDkhU8dn9AsNOL+8EQ==
7674
+ rrset_name: example.com.
7675
+ rrset_type: DNSKEY
7676
+ ttl: 300
7677
+ - action: create_record
7678
+ record_data: 41074 13 2 0f8ad1e9b0de2eb958ba571208951e71330e6d9e2afa3c84ec6bd16d77bfc718
7679
+ rrset_name: example.com.
7680
+ rrset_type: DS
7681
+ ttl: 300
7682
+ - action: create_record
7683
+ record_data: 41074 13 4 f2fa86164e45235537238dd5b86a6a2533fd17b1e8216c1d66d18ccfc79be4dca77e3bc6d76eb136e193c2cee0a6ea85
7684
+ rrset_name: example.com.
7685
+ rrset_type: DS
7686
+ ttl: 300
7687
+ - action: enable_dnssec
7688
+ changeset_id: b89527a6-b46e-4d29-bd57-6a1b6b4915c7
7689
+ num_changes: 7
7690
+ zone_name: example.com.
7431
7691
  schema:
7432
7692
  $ref: '#/components/schemas/DnsChangesResponse'
7433
- description: Successful Response
7693
+ description: DNSSEC enabled successfully
7694
+ '400':
7695
+ content:
7696
+ application/problem+json:
7697
+ example:
7698
+ code: ERROR_DNS
7699
+ detail: Additional error context.
7700
+ status: 400
7701
+ title: DNS Error
7702
+ type: dns
7703
+ schema:
7704
+ $ref: '#/components/schemas/Problem'
7705
+ description: Bad Request
7434
7706
  '422':
7435
7707
  content:
7436
7708
  application/problem+json:
@@ -7460,9 +7732,35 @@ paths:
7460
7732
  '200':
7461
7733
  content:
7462
7734
  application/json:
7735
+ examples:
7736
+ zone_domain_forwards:
7737
+ description: All domain forwards configured for a specific DNS zone
7738
+ with redirect configurations
7739
+ summary: Domain forwards for a zone
7740
+ value:
7741
+ domain_forwards:
7742
+ - created_on: '2025-11-18T12:59:57Z'
7743
+ enabled: false
7744
+ hostname: example.com.
7745
+ https:
7746
+ created_on: '2025-11-18T12:59:57Z'
7747
+ redirects:
7748
+ - redirect_code: 302
7749
+ request_hostname: example.com.
7750
+ request_path: /
7751
+ request_protocol: https
7752
+ target_hostname: auth.example.com
7753
+ target_path: /
7754
+ target_protocol: https
7755
+ updated_on: '2025-11-18T12:59:57Z'
7756
+ wildcard: false
7757
+ updated_on: '2025-11-18T12:59:57Z'
7758
+ wildcard: false
7759
+ zone_id: zone_01kabfvtysfqwv4dn89r3jepym
7760
+ zone_name: example.com.
7463
7761
  schema:
7464
7762
  $ref: '#/components/schemas/DomainForwardZone'
7465
- description: Successful Response
7763
+ description: Domain forwards for the specified zone retrieved successfully
7466
7764
  '401':
7467
7765
  content:
7468
7766
  application/problem+json:
@@ -7513,6 +7811,60 @@ paths:
7513
7811
  requestBody:
7514
7812
  content:
7515
7813
  application/json:
7814
+ examples:
7815
+ manage_mx_records:
7816
+ description: Add a new mail server with higher priority and remove
7817
+ an old one
7818
+ summary: Add and remove MX records
7819
+ value:
7820
+ ops:
7821
+ - op: upsert
7822
+ record:
7823
+ name: '@'
7824
+ rdata: 5 new-mail.example.com.
7825
+ ttl: 300
7826
+ type: MX
7827
+ - op: remove
7828
+ record:
7829
+ name: '@'
7830
+ rdata: 10 old-mail.example.com.
7831
+ ttl: 300
7832
+ type: MX
7833
+ remove_single_record:
7834
+ description: Remove a specific record from an RRset
7835
+ summary: Remove a single record
7836
+ value:
7837
+ ops:
7838
+ - op: remove
7839
+ record:
7840
+ name: old-api
7841
+ rdata: 203.0.113.200
7842
+ ttl: 300
7843
+ type: A
7844
+ update_txt_record:
7845
+ description: Add or update a TXT record for SPF configuration
7846
+ summary: Update TXT record
7847
+ value:
7848
+ ops:
7849
+ - op: upsert
7850
+ record:
7851
+ name: '@'
7852
+ rdata: '"v=spf1 include:_spf.google.com include:mailgun.org
7853
+ ~all"'
7854
+ ttl: 300
7855
+ type: TXT
7856
+ upsert_single_record:
7857
+ description: Upsert a single A record (creates if doesn't exist, updates
7858
+ if exists)
7859
+ summary: Add or update a single record
7860
+ value:
7861
+ ops:
7862
+ - op: upsert
7863
+ record:
7864
+ name: api
7865
+ rdata: 203.0.113.100
7866
+ ttl: 300
7867
+ type: A
7516
7868
  schema:
7517
7869
  $ref: '#/components/schemas/DnsZoneRecordsPatchOps'
7518
7870
  required: true
@@ -7557,6 +7909,65 @@ paths:
7557
7909
  requestBody:
7558
7910
  content:
7559
7911
  application/json:
7912
+ examples:
7913
+ remove_single_rrset:
7914
+ description: Remove all records for a specific name and type
7915
+ summary: Remove a single RRset
7916
+ value:
7917
+ ops:
7918
+ - op: remove
7919
+ rrset:
7920
+ name: old-service
7921
+ records: []
7922
+ ttl: 300
7923
+ type: A
7924
+ upsert_and_remove:
7925
+ description: Change www from CNAME to A record with multiple IPs (remove
7926
+ CNAME, add A records)
7927
+ summary: Multiple operations
7928
+ value:
7929
+ ops:
7930
+ - op: upsert
7931
+ rrset:
7932
+ name: www
7933
+ records:
7934
+ - rdata: 203.0.113.10
7935
+ - rdata: 203.0.113.11
7936
+ ttl: 300
7937
+ type: A
7938
+ - op: remove
7939
+ rrset:
7940
+ name: www
7941
+ records: []
7942
+ ttl: 300
7943
+ type: CNAME
7944
+ upsert_mx_records:
7945
+ description: Replace MX records with new mail server priorities
7946
+ summary: Update MX records
7947
+ value:
7948
+ ops:
7949
+ - op: upsert
7950
+ rrset:
7951
+ name: '@'
7952
+ records:
7953
+ - rdata: 10 mail1.example.com.
7954
+ - rdata: 20 mail2.example.com.
7955
+ - rdata: 30 mail3.example.com.
7956
+ ttl: 300
7957
+ type: MX
7958
+ upsert_single_rrset:
7959
+ description: Upsert an A record for a subdomain (creates if doesn't
7960
+ exist, updates if exists)
7961
+ summary: Add or update a single RRset
7962
+ value:
7963
+ ops:
7964
+ - op: upsert
7965
+ rrset:
7966
+ name: api
7967
+ records:
7968
+ - rdata: 203.0.113.50
7969
+ ttl: 300
7970
+ type: A
7560
7971
  schema:
7561
7972
  $ref: '#/components/schemas/DnsZoneRrsetsPatchOps'
7562
7973
  required: true
@@ -7600,6 +8011,63 @@ paths:
7600
8011
  requestBody:
7601
8012
  content:
7602
8013
  application/json:
8014
+ examples:
8015
+ update_a_record:
8016
+ description: Replace all RRsets with a single A record for the zone
8017
+ apex
8018
+ summary: Update A record
8019
+ value:
8020
+ rrsets:
8021
+ - name: '@'
8022
+ records:
8023
+ - rdata: 203.0.113.10
8024
+ ttl: 300
8025
+ type: A
8026
+ update_multiple_rrsets:
8027
+ description: Replace all RRsets with multiple record sets (A, CNAME,
8028
+ MX)
8029
+ summary: Update multiple RRsets
8030
+ value:
8031
+ rrsets:
8032
+ - name: '@'
8033
+ records:
8034
+ - rdata: 203.0.113.10
8035
+ ttl: 300
8036
+ type: A
8037
+ - name: www
8038
+ records:
8039
+ - rdata: example.com.
8040
+ ttl: 300
8041
+ type: CNAME
8042
+ - name: '@'
8043
+ records:
8044
+ - rdata: 10 mail.example.com.
8045
+ - rdata: 20 backup-mail.example.com.
8046
+ ttl: 300
8047
+ type: MX
8048
+ update_mx_records:
8049
+ description: Replace all RRsets with MX records for email forwarding
8050
+ (returns 204 No Content)
8051
+ summary: Update MX records
8052
+ value:
8053
+ rrsets:
8054
+ - name: '@'
8055
+ records:
8056
+ - rdata: 10 mx1.mxforward.opusdns.dev.
8057
+ - rdata: 20 mx2.mxforward.opusdns.dev.
8058
+ ttl: 600
8059
+ type: MX
8060
+ update_txt_records:
8061
+ description: Replace all RRsets with TXT records (SPF, verification)
8062
+ summary: Update TXT records
8063
+ value:
8064
+ rrsets:
8065
+ - name: '@'
8066
+ records:
8067
+ - rdata: '"v=spf1 include:_spf.google.com ~all"'
8068
+ - rdata: '"google-site-verification=abc123def456"'
8069
+ ttl: 300
8070
+ type: TXT
7603
8071
  schema:
7604
8072
  $ref: '#/components/schemas/DnsZoneRrsetsCreate'
7605
8073
  required: true
package/src/schema.d.ts CHANGED
@@ -1419,6 +1419,11 @@ export interface components {
1419
1419
  * @description Payment terms for the organization.
1420
1420
  */
1421
1421
  billing_model?: string | null;
1422
+ /**
1423
+ * Credit Limit
1424
+ * @description Credit limit for the organization.
1425
+ */
1426
+ credit_limit?: number | null;
1422
1427
  /**
1423
1428
  * Customer Number
1424
1429
  * @description Customer account number for the organization.
@@ -6097,7 +6102,7 @@ export interface operations {
6097
6102
  };
6098
6103
  requestBody?: never;
6099
6104
  responses: {
6100
- /** @description Successful Response */
6105
+ /** @description List of DNS zones retrieved successfully */
6101
6106
  200: {
6102
6107
  headers: {
6103
6108
  [name: string]: unknown;
@@ -6181,7 +6186,7 @@ export interface operations {
6181
6186
  };
6182
6187
  requestBody?: never;
6183
6188
  responses: {
6184
- /** @description Successful Response */
6189
+ /** @description List of domain forwards grouped by DNS zones */
6185
6190
  200: {
6186
6191
  headers: {
6187
6192
  [name: string]: unknown;
@@ -6242,7 +6247,7 @@ export interface operations {
6242
6247
  };
6243
6248
  requestBody?: never;
6244
6249
  responses: {
6245
- /** @description Successful Response */
6250
+ /** @description DNS zones summary retrieved successfully */
6246
6251
  200: {
6247
6252
  headers: {
6248
6253
  [name: string]: unknown;
@@ -6265,7 +6270,7 @@ export interface operations {
6265
6270
  };
6266
6271
  requestBody?: never;
6267
6272
  responses: {
6268
- /** @description Successful Response */
6273
+ /** @description DNS zone retrieved successfully */
6269
6274
  200: {
6270
6275
  headers: {
6271
6276
  [name: string]: unknown;
@@ -6327,7 +6332,7 @@ export interface operations {
6327
6332
  };
6328
6333
  requestBody?: never;
6329
6334
  responses: {
6330
- /** @description Successful Response */
6335
+ /** @description DNSSEC disabled successfully */
6331
6336
  200: {
6332
6337
  headers: {
6333
6338
  [name: string]: unknown;
@@ -6336,6 +6341,22 @@ export interface operations {
6336
6341
  "application/json": components["schemas"]["DnsChangesResponse"];
6337
6342
  };
6338
6343
  };
6344
+ /** @description Bad Request */
6345
+ 400: {
6346
+ headers: {
6347
+ [name: string]: unknown;
6348
+ };
6349
+ content: {
6350
+ /** @example {
6351
+ * "code": "ERROR_DNS",
6352
+ * "detail": "Additional error context.",
6353
+ * "status": 400,
6354
+ * "title": "DNS Error",
6355
+ * "type": "dns"
6356
+ * } */
6357
+ "application/problem+json": components["schemas"]["Problem"];
6358
+ };
6359
+ };
6339
6360
  /** @description Validation Error */
6340
6361
  422: {
6341
6362
  headers: {
@@ -6359,7 +6380,7 @@ export interface operations {
6359
6380
  };
6360
6381
  requestBody?: never;
6361
6382
  responses: {
6362
- /** @description Successful Response */
6383
+ /** @description DNSSEC enabled successfully */
6363
6384
  200: {
6364
6385
  headers: {
6365
6386
  [name: string]: unknown;
@@ -6368,6 +6389,22 @@ export interface operations {
6368
6389
  "application/json": components["schemas"]["DnsChangesResponse"];
6369
6390
  };
6370
6391
  };
6392
+ /** @description Bad Request */
6393
+ 400: {
6394
+ headers: {
6395
+ [name: string]: unknown;
6396
+ };
6397
+ content: {
6398
+ /** @example {
6399
+ * "code": "ERROR_DNS",
6400
+ * "detail": "Additional error context.",
6401
+ * "status": 400,
6402
+ * "title": "DNS Error",
6403
+ * "type": "dns"
6404
+ * } */
6405
+ "application/problem+json": components["schemas"]["Problem"];
6406
+ };
6407
+ };
6371
6408
  /** @description Validation Error */
6372
6409
  422: {
6373
6410
  headers: {
@@ -6391,7 +6428,7 @@ export interface operations {
6391
6428
  };
6392
6429
  requestBody?: never;
6393
6430
  responses: {
6394
- /** @description Successful Response */
6431
+ /** @description Domain forwards for the specified zone retrieved successfully */
6395
6432
  200: {
6396
6433
  headers: {
6397
6434
  [name: string]: unknown;