@hostafrica/ha-sdk-typescript 1.1.4 → 1.1.5

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.
Files changed (139) hide show
  1. package/dist/apis/BillingApi.d.ts +45 -0
  2. package/dist/apis/BillingApi.js +122 -0
  3. package/dist/apis/DNSApi.d.ts +8 -8
  4. package/dist/apis/DNSApi.js +8 -8
  5. package/dist/apis/index.d.ts +1 -0
  6. package/dist/apis/index.js +1 -0
  7. package/dist/esm/apis/BillingApi.d.ts +45 -0
  8. package/dist/esm/apis/BillingApi.js +118 -0
  9. package/dist/esm/apis/DNSApi.d.ts +8 -8
  10. package/dist/esm/apis/DNSApi.js +8 -8
  11. package/dist/esm/apis/index.d.ts +1 -0
  12. package/dist/esm/apis/index.js +1 -0
  13. package/dist/esm/models/AddDnsRecordRequestContent.d.ts +22 -3
  14. package/dist/esm/models/AddDnsRecordRequestContent.js +8 -3
  15. package/dist/esm/models/DeleteDnsRecordRequestContent.d.ts +22 -3
  16. package/dist/esm/models/DeleteDnsRecordRequestContent.js +8 -3
  17. package/dist/esm/models/DnsBackend.d.ts +28 -0
  18. package/dist/esm/models/DnsBackend.js +46 -0
  19. package/dist/esm/models/DnsRecordMutationRecord.d.ts +3 -2
  20. package/dist/esm/models/DnsZoneInfo.d.ts +7 -0
  21. package/dist/esm/models/DnsZoneInfo.js +3 -0
  22. package/dist/esm/models/EditDnsRecordRequestContent.d.ts +22 -3
  23. package/dist/esm/models/EditDnsRecordRequestContent.js +8 -3
  24. package/dist/esm/models/GetDnsZoneDetailsRequestContent.d.ts +7 -0
  25. package/dist/esm/models/GetDnsZoneDetailsRequestContent.js +3 -0
  26. package/dist/esm/models/GetInvoiceDetailsRequestContent.d.ts +32 -0
  27. package/dist/esm/models/GetInvoiceDetailsRequestContent.js +43 -0
  28. package/dist/esm/models/GetInvoiceDetailsResponseContent.d.ts +40 -0
  29. package/dist/esm/models/GetInvoiceDetailsResponseContent.js +49 -0
  30. package/dist/esm/models/GetInvoiceDetailsResponseData.d.ts +40 -0
  31. package/dist/esm/models/GetInvoiceDetailsResponseData.js +47 -0
  32. package/dist/esm/models/InvoiceDetails.d.ts +143 -0
  33. package/dist/esm/models/InvoiceDetails.js +112 -0
  34. package/dist/esm/models/InvoiceIssuedTo.d.ts +69 -0
  35. package/dist/esm/models/InvoiceIssuedTo.js +66 -0
  36. package/dist/esm/models/InvoiceIssuedToTax.d.ts +44 -0
  37. package/dist/esm/models/InvoiceIssuedToTax.js +51 -0
  38. package/dist/esm/models/InvoiceItem.d.ts +56 -0
  39. package/dist/esm/models/InvoiceItem.js +59 -0
  40. package/dist/esm/models/InvoiceSummary.d.ts +98 -0
  41. package/dist/esm/models/InvoiceSummary.js +83 -0
  42. package/dist/esm/models/InvoiceTransaction.d.ts +74 -0
  43. package/dist/esm/models/InvoiceTransaction.js +57 -0
  44. package/dist/esm/models/ListInvoicesResponseContent.d.ts +40 -0
  45. package/dist/esm/models/ListInvoicesResponseContent.js +49 -0
  46. package/dist/esm/models/ListInvoicesResponseData.d.ts +39 -0
  47. package/dist/esm/models/ListInvoicesResponseData.js +48 -0
  48. package/dist/esm/models/SelcomMetadata.d.ts +56 -0
  49. package/dist/esm/models/SelcomMetadata.js +59 -0
  50. package/dist/esm/models/index.d.ts +13 -0
  51. package/dist/esm/models/index.js +13 -0
  52. package/dist/esm/retryablePaths.js +2 -0
  53. package/dist/models/AddDnsRecordRequestContent.d.ts +22 -3
  54. package/dist/models/AddDnsRecordRequestContent.js +8 -3
  55. package/dist/models/DeleteDnsRecordRequestContent.d.ts +22 -3
  56. package/dist/models/DeleteDnsRecordRequestContent.js +8 -3
  57. package/dist/models/DnsBackend.d.ts +28 -0
  58. package/dist/models/DnsBackend.js +54 -0
  59. package/dist/models/DnsRecordMutationRecord.d.ts +3 -2
  60. package/dist/models/DnsZoneInfo.d.ts +7 -0
  61. package/dist/models/DnsZoneInfo.js +3 -0
  62. package/dist/models/EditDnsRecordRequestContent.d.ts +22 -3
  63. package/dist/models/EditDnsRecordRequestContent.js +8 -3
  64. package/dist/models/GetDnsZoneDetailsRequestContent.d.ts +7 -0
  65. package/dist/models/GetDnsZoneDetailsRequestContent.js +3 -0
  66. package/dist/models/GetInvoiceDetailsRequestContent.d.ts +32 -0
  67. package/dist/models/GetInvoiceDetailsRequestContent.js +50 -0
  68. package/dist/models/GetInvoiceDetailsResponseContent.d.ts +40 -0
  69. package/dist/models/GetInvoiceDetailsResponseContent.js +56 -0
  70. package/dist/models/GetInvoiceDetailsResponseData.d.ts +40 -0
  71. package/dist/models/GetInvoiceDetailsResponseData.js +54 -0
  72. package/dist/models/InvoiceDetails.d.ts +143 -0
  73. package/dist/models/InvoiceDetails.js +119 -0
  74. package/dist/models/InvoiceIssuedTo.d.ts +69 -0
  75. package/dist/models/InvoiceIssuedTo.js +73 -0
  76. package/dist/models/InvoiceIssuedToTax.d.ts +44 -0
  77. package/dist/models/InvoiceIssuedToTax.js +58 -0
  78. package/dist/models/InvoiceItem.d.ts +56 -0
  79. package/dist/models/InvoiceItem.js +66 -0
  80. package/dist/models/InvoiceSummary.d.ts +98 -0
  81. package/dist/models/InvoiceSummary.js +90 -0
  82. package/dist/models/InvoiceTransaction.d.ts +74 -0
  83. package/dist/models/InvoiceTransaction.js +64 -0
  84. package/dist/models/ListInvoicesResponseContent.d.ts +40 -0
  85. package/dist/models/ListInvoicesResponseContent.js +56 -0
  86. package/dist/models/ListInvoicesResponseData.d.ts +39 -0
  87. package/dist/models/ListInvoicesResponseData.js +55 -0
  88. package/dist/models/SelcomMetadata.d.ts +56 -0
  89. package/dist/models/SelcomMetadata.js +66 -0
  90. package/dist/models/index.d.ts +13 -0
  91. package/dist/models/index.js +13 -0
  92. package/dist/retryablePaths.js +2 -0
  93. package/dist.zip +0 -0
  94. package/docs/AddDnsRecordRequestContent.md +6 -0
  95. package/docs/BillingApi.md +159 -0
  96. package/docs/DNSApi.md +4 -4
  97. package/docs/DeleteDnsRecordRequestContent.md +6 -0
  98. package/docs/DnsBackend.md +33 -0
  99. package/docs/DnsRecordMutationRecord.md +1 -1
  100. package/docs/DnsZoneInfo.md +2 -0
  101. package/docs/EditDnsRecordRequestContent.md +6 -0
  102. package/docs/GetDnsZoneDetailsRequestContent.md +2 -0
  103. package/docs/GetInvoiceDetailsRequestContent.md +34 -0
  104. package/docs/GetInvoiceDetailsResponseContent.md +36 -0
  105. package/docs/GetInvoiceDetailsResponseData.md +37 -0
  106. package/docs/InvoiceDetails.md +71 -0
  107. package/docs/InvoiceIssuedTo.md +47 -0
  108. package/docs/InvoiceIssuedToTax.md +39 -0
  109. package/docs/InvoiceItem.md +43 -0
  110. package/docs/InvoiceSummary.md +57 -0
  111. package/docs/InvoiceTransaction.md +49 -0
  112. package/docs/ListInvoicesResponseContent.md +36 -0
  113. package/docs/ListInvoicesResponseData.md +37 -0
  114. package/docs/SelcomMetadata.md +43 -0
  115. package/package.json +1 -1
  116. package/src/apis/BillingApi.ts +164 -0
  117. package/src/apis/DNSApi.ts +8 -8
  118. package/src/apis/index.ts +1 -0
  119. package/src/models/AddDnsRecordRequestContent.ts +37 -5
  120. package/src/models/DeleteDnsRecordRequestContent.ts +37 -5
  121. package/src/models/DnsBackend.ts +56 -0
  122. package/src/models/DnsRecordMutationRecord.ts +3 -2
  123. package/src/models/DnsZoneInfo.ts +17 -0
  124. package/src/models/EditDnsRecordRequestContent.ts +37 -5
  125. package/src/models/GetDnsZoneDetailsRequestContent.ts +18 -0
  126. package/src/models/GetInvoiceDetailsRequestContent.ts +66 -0
  127. package/src/models/GetInvoiceDetailsResponseContent.ts +92 -0
  128. package/src/models/GetInvoiceDetailsResponseData.ts +89 -0
  129. package/src/models/InvoiceDetails.ts +247 -0
  130. package/src/models/InvoiceIssuedTo.ts +127 -0
  131. package/src/models/InvoiceIssuedToTax.ts +84 -0
  132. package/src/models/InvoiceItem.ts +102 -0
  133. package/src/models/InvoiceSummary.ts +163 -0
  134. package/src/models/InvoiceTransaction.ts +122 -0
  135. package/src/models/ListInvoicesResponseContent.ts +92 -0
  136. package/src/models/ListInvoicesResponseData.ts +83 -0
  137. package/src/models/SelcomMetadata.ts +102 -0
  138. package/src/models/index.ts +13 -0
  139. package/src/retryablePaths.ts +2 -0
@@ -68,6 +68,7 @@ export * from './DeleteSnapshotJobRequestContent.js';
68
68
  export * from './DeleteSnapshotJobResponseContent.js';
69
69
  export * from './DeleteSnapshotRequestContent.js';
70
70
  export * from './DeleteSnapshotResponseContent.js';
71
+ export * from './DnsBackend.js';
71
72
  export * from './DnsCreateCandidateInfo.js';
72
73
  export * from './DnsRecordInfo.js';
73
74
  export * from './DnsRecordMutationData.js';
@@ -119,6 +120,9 @@ export * from './GetDomainRequestContent.js';
119
120
  export * from './GetDomainResponseContent.js';
120
121
  export * from './GetEncryptedPasswordRequestContent.js';
121
122
  export * from './GetEncryptedPasswordResponseContent.js';
123
+ export * from './GetInvoiceDetailsRequestContent.js';
124
+ export * from './GetInvoiceDetailsResponseContent.js';
125
+ export * from './GetInvoiceDetailsResponseData.js';
122
126
  export * from './GetNoVncConsoleRequestContent.js';
123
127
  export * from './GetNoVncConsoleResponseContent.js';
124
128
  export * from './GetVpsConfigRequestContent.js';
@@ -127,6 +131,12 @@ export * from './GetVpsDetailsRequestContent.js';
127
131
  export * from './GetVpsDetailsResponseContent.js';
128
132
  export * from './InternalServiceErrorResponseContent.js';
129
133
  export * from './InvalidStateErrorResponseContent.js';
134
+ export * from './InvoiceDetails.js';
135
+ export * from './InvoiceIssuedTo.js';
136
+ export * from './InvoiceIssuedToTax.js';
137
+ export * from './InvoiceItem.js';
138
+ export * from './InvoiceSummary.js';
139
+ export * from './InvoiceTransaction.js';
130
140
  export * from './ListBackupSchedulesRequestContent.js';
131
141
  export * from './ListBackupSchedulesResponseContent.js';
132
142
  export * from './ListBackupsRequestContent.js';
@@ -144,6 +154,8 @@ export * from './ListDomainsRequiringDataResponseContent.js';
144
154
  export * from './ListDomainsResponseContent.js';
145
155
  export * from './ListFirewallRulesRequestContent.js';
146
156
  export * from './ListFirewallRulesResponseContent.js';
157
+ export * from './ListInvoicesResponseContent.js';
158
+ export * from './ListInvoicesResponseData.js';
147
159
  export * from './ListIsosRequestContent.js';
148
160
  export * from './ListIsosResponseContent.js';
149
161
  export * from './ListIsosResponseData.js';
@@ -205,6 +217,7 @@ export * from './RollbackSnapshotResponseContent.js';
205
217
  export * from './SaveDomainRequiredDataData.js';
206
218
  export * from './SaveDomainRequiredDataRequestContent.js';
207
219
  export * from './SaveDomainRequiredDataResponseContent.js';
220
+ export * from './SelcomMetadata.js';
208
221
  export * from './ServiceBackupsResponseData.js';
209
222
  export * from './ServiceSnapshotsResponseData.js';
210
223
  export * from './ServiceUnavailableErrorResponseContent.js';
@@ -21,6 +21,8 @@ export const RETRYABLE_PATHS = new Set([
21
21
  "/vps/get-catalogue",
22
22
  "/vps/validate-pricing",
23
23
  "/vps/list-orders",
24
+ "/billing/list-invoices",
25
+ "/billing/get-invoice-details",
24
26
  "/dns/list-rdns-records",
25
27
  "/domain/check-availability",
26
28
  "/domain/suggest",
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -17,17 +18,35 @@ import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
17
18
  */
18
19
  export interface AddDnsRecordRequestContent {
19
20
  /**
20
- * DNS zone domain name (FQDN); optional when zone_id is provided
21
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
21
22
  * @type {string}
22
23
  * @memberof AddDnsRecordRequestContent
23
24
  */
24
25
  domainName?: string;
25
26
  /**
26
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
27
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
27
28
  * @type {string}
28
29
  * @memberof AddDnsRecordRequestContent
29
30
  */
30
- zoneId: string;
31
+ zoneId?: string;
32
+ /**
33
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
34
+ * @type {string}
35
+ * @memberof AddDnsRecordRequestContent
36
+ */
37
+ domainId?: string;
38
+ /**
39
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
40
+ * @type {number}
41
+ * @memberof AddDnsRecordRequestContent
42
+ */
43
+ serviceId?: number;
44
+ /**
45
+ *
46
+ * @type {DnsBackend}
47
+ * @memberof AddDnsRecordRequestContent
48
+ */
49
+ backend?: DnsBackend;
31
50
  /**
32
51
  *
33
52
  * @type {DnsRecordMutationRecord}
@@ -19,12 +19,11 @@ exports.AddDnsRecordRequestContentFromJSONTyped = AddDnsRecordRequestContentFrom
19
19
  exports.AddDnsRecordRequestContentToJSON = AddDnsRecordRequestContentToJSON;
20
20
  exports.AddDnsRecordRequestContentToJSONTyped = AddDnsRecordRequestContentToJSONTyped;
21
21
  const DnsRecordMutationRecord_js_1 = require("./DnsRecordMutationRecord.js");
22
+ const DnsBackend_js_1 = require("./DnsBackend.js");
22
23
  /**
23
24
  * Check if a given object implements the AddDnsRecordRequestContent interface.
24
25
  */
25
26
  function instanceOfAddDnsRecordRequestContent(value) {
26
- if (!('zoneId' in value) || value['zoneId'] === undefined)
27
- return false;
28
27
  if (!('record' in value) || value['record'] === undefined)
29
28
  return false;
30
29
  return true;
@@ -38,7 +37,10 @@ function AddDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminator) {
38
37
  }
39
38
  return {
40
39
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
41
- 'zoneId': json['zone_id'],
40
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
41
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
42
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
43
+ 'backend': json['backend'] == null ? undefined : (0, DnsBackend_js_1.DnsBackendFromJSON)(json['backend']),
42
44
  'record': (0, DnsRecordMutationRecord_js_1.DnsRecordMutationRecordFromJSON)(json['record']),
43
45
  };
44
46
  }
@@ -52,6 +54,9 @@ function AddDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminator = fals
52
54
  return {
53
55
  'domain_name': value['domainName'],
54
56
  'zone_id': value['zoneId'],
57
+ 'domain_id': value['domainId'],
58
+ 'service_id': value['serviceId'],
59
+ 'backend': (0, DnsBackend_js_1.DnsBackendToJSON)(value['backend']),
55
60
  'record': (0, DnsRecordMutationRecord_js_1.DnsRecordMutationRecordToJSON)(value['record']),
56
61
  };
57
62
  }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -17,17 +18,35 @@ import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
17
18
  */
18
19
  export interface DeleteDnsRecordRequestContent {
19
20
  /**
20
- * DNS zone domain name (FQDN); optional when zone_id is provided
21
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
21
22
  * @type {string}
22
23
  * @memberof DeleteDnsRecordRequestContent
23
24
  */
24
25
  domainName?: string;
25
26
  /**
26
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
27
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
27
28
  * @type {string}
28
29
  * @memberof DeleteDnsRecordRequestContent
29
30
  */
30
- zoneId: string;
31
+ zoneId?: string;
32
+ /**
33
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
34
+ * @type {string}
35
+ * @memberof DeleteDnsRecordRequestContent
36
+ */
37
+ domainId?: string;
38
+ /**
39
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
40
+ * @type {number}
41
+ * @memberof DeleteDnsRecordRequestContent
42
+ */
43
+ serviceId?: number;
44
+ /**
45
+ *
46
+ * @type {DnsBackend}
47
+ * @memberof DeleteDnsRecordRequestContent
48
+ */
49
+ backend?: DnsBackend;
31
50
  /**
32
51
  *
33
52
  * @type {DnsRecordMutationRecord}
@@ -19,12 +19,11 @@ exports.DeleteDnsRecordRequestContentFromJSONTyped = DeleteDnsRecordRequestConte
19
19
  exports.DeleteDnsRecordRequestContentToJSON = DeleteDnsRecordRequestContentToJSON;
20
20
  exports.DeleteDnsRecordRequestContentToJSONTyped = DeleteDnsRecordRequestContentToJSONTyped;
21
21
  const DnsRecordMutationRecord_js_1 = require("./DnsRecordMutationRecord.js");
22
+ const DnsBackend_js_1 = require("./DnsBackend.js");
22
23
  /**
23
24
  * Check if a given object implements the DeleteDnsRecordRequestContent interface.
24
25
  */
25
26
  function instanceOfDeleteDnsRecordRequestContent(value) {
26
- if (!('zoneId' in value) || value['zoneId'] === undefined)
27
- return false;
28
27
  if (!('record' in value) || value['record'] === undefined)
29
28
  return false;
30
29
  return true;
@@ -38,7 +37,10 @@ function DeleteDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminator) {
38
37
  }
39
38
  return {
40
39
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
41
- 'zoneId': json['zone_id'],
40
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
41
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
42
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
43
+ 'backend': json['backend'] == null ? undefined : (0, DnsBackend_js_1.DnsBackendFromJSON)(json['backend']),
42
44
  'record': (0, DnsRecordMutationRecord_js_1.DnsRecordMutationRecordFromJSON)(json['record']),
43
45
  };
44
46
  }
@@ -52,6 +54,9 @@ function DeleteDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminator = f
52
54
  return {
53
55
  'domain_name': value['domainName'],
54
56
  'zone_id': value['zoneId'],
57
+ 'domain_id': value['domainId'],
58
+ 'service_id': value['serviceId'],
59
+ 'backend': (0, DnsBackend_js_1.DnsBackendToJSON)(value['backend']),
55
60
  'record': (0, DnsRecordMutationRecord_js_1.DnsRecordMutationRecordToJSON)(value['record']),
56
61
  };
57
62
  }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Upstream DNS management backend for a zone.
14
+ *
15
+ * - `dns_manager` — WHMCS DNS Manager
16
+ * - `directadmin` — DirectAdmin DNS
17
+ * @export
18
+ */
19
+ export declare const DnsBackend: {
20
+ readonly DnsManager: "dns_manager";
21
+ readonly Directadmin: "directadmin";
22
+ };
23
+ export type DnsBackend = typeof DnsBackend[keyof typeof DnsBackend];
24
+ export declare function instanceOfDnsBackend(value: any): boolean;
25
+ export declare function DnsBackendFromJSON(json: any): DnsBackend;
26
+ export declare function DnsBackendFromJSONTyped(json: any, ignoreDiscriminator: boolean): DnsBackend;
27
+ export declare function DnsBackendToJSON(value?: DnsBackend | null): any;
28
+ export declare function DnsBackendToJSONTyped(value: any, ignoreDiscriminator: boolean): DnsBackend;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * HostAfricaApi
6
+ * HostAfrica API
7
+ *
8
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DnsBackend = void 0;
17
+ exports.instanceOfDnsBackend = instanceOfDnsBackend;
18
+ exports.DnsBackendFromJSON = DnsBackendFromJSON;
19
+ exports.DnsBackendFromJSONTyped = DnsBackendFromJSONTyped;
20
+ exports.DnsBackendToJSON = DnsBackendToJSON;
21
+ exports.DnsBackendToJSONTyped = DnsBackendToJSONTyped;
22
+ /**
23
+ * Upstream DNS management backend for a zone.
24
+ *
25
+ * - `dns_manager` — WHMCS DNS Manager
26
+ * - `directadmin` — DirectAdmin DNS
27
+ * @export
28
+ */
29
+ exports.DnsBackend = {
30
+ DnsManager: 'dns_manager',
31
+ Directadmin: 'directadmin'
32
+ };
33
+ function instanceOfDnsBackend(value) {
34
+ for (const key in exports.DnsBackend) {
35
+ if (Object.prototype.hasOwnProperty.call(exports.DnsBackend, key)) {
36
+ if (exports.DnsBackend[key] === value) {
37
+ return true;
38
+ }
39
+ }
40
+ }
41
+ return false;
42
+ }
43
+ function DnsBackendFromJSON(json) {
44
+ return DnsBackendFromJSONTyped(json, false);
45
+ }
46
+ function DnsBackendFromJSONTyped(json, ignoreDiscriminator) {
47
+ return json;
48
+ }
49
+ function DnsBackendToJSON(value) {
50
+ return value;
51
+ }
52
+ function DnsBackendToJSONTyped(value, ignoreDiscriminator) {
53
+ return value;
54
+ }
@@ -13,13 +13,14 @@
13
13
  * DNS record fields for add, edit, or delete via DNSManager.
14
14
  *
15
15
  * See `DnsRecordInfo` for how `content` and structured fields map to upstream record data.
16
- * Delete requires only `id`, `name`, and `type`.
16
+ * Delete requires only `id`, `name`, and `type`. For edit and delete, `id` must be the
17
+ * numeric zone line from get-dns-zone-details (a positive integer string).
17
18
  * @export
18
19
  * @interface DnsRecordMutationRecord
19
20
  */
20
21
  export interface DnsRecordMutationRecord {
21
22
  /**
22
- * Record line/id from get-dns-zone-details; required for edit and delete
23
+ * Record line from get-dns-zone-details (positive integer string); required for edit and delete
23
24
  * @type {string}
24
25
  * @memberof DnsRecordMutationRecord
25
26
  */
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DomainHostingLink } from './DomainHostingLink.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  * A DNS zone owned by the authenticated client
15
16
  * @export
@@ -70,6 +71,12 @@ export interface DnsZoneInfo {
70
71
  * @memberof DnsZoneInfo
71
72
  */
72
73
  hasDnsManagerZone: boolean;
74
+ /**
75
+ *
76
+ * @type {DnsBackend}
77
+ * @memberof DnsZoneInfo
78
+ */
79
+ backend?: DnsBackend;
73
80
  }
74
81
  /**
75
82
  * Check if a given object implements the DnsZoneInfo interface.
@@ -19,6 +19,7 @@ exports.DnsZoneInfoFromJSONTyped = DnsZoneInfoFromJSONTyped;
19
19
  exports.DnsZoneInfoToJSON = DnsZoneInfoToJSON;
20
20
  exports.DnsZoneInfoToJSONTyped = DnsZoneInfoToJSONTyped;
21
21
  const DomainHostingLink_js_1 = require("./DomainHostingLink.js");
22
+ const DnsBackend_js_1 = require("./DnsBackend.js");
22
23
  /**
23
24
  * Check if a given object implements the DnsZoneInfo interface.
24
25
  */
@@ -44,6 +45,7 @@ function DnsZoneInfoFromJSONTyped(json, ignoreDiscriminator) {
44
45
  'packageName': json['package_name'] == null ? undefined : json['package_name'],
45
46
  'hasHosting': json['has_hosting'] == null ? undefined : (0, DomainHostingLink_js_1.DomainHostingLinkFromJSON)(json['has_hosting']),
46
47
  'hasDnsManagerZone': json['has_dns_manager_zone'],
48
+ 'backend': json['backend'] == null ? undefined : (0, DnsBackend_js_1.DnsBackendFromJSON)(json['backend']),
47
49
  };
48
50
  }
49
51
  function DnsZoneInfoToJSON(json) {
@@ -63,5 +65,6 @@ function DnsZoneInfoToJSONTyped(value, ignoreDiscriminator = false) {
63
65
  'package_name': value['packageName'],
64
66
  'has_hosting': (0, DomainHostingLink_js_1.DomainHostingLinkToJSON)(value['hasHosting']),
65
67
  'has_dns_manager_zone': value['hasDnsManagerZone'],
68
+ 'backend': (0, DnsBackend_js_1.DnsBackendToJSON)(value['backend']),
66
69
  };
67
70
  }
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
13
+ import type { DnsBackend } from './DnsBackend.js';
13
14
  /**
14
15
  *
15
16
  * @export
@@ -17,17 +18,35 @@ import type { DnsRecordMutationRecord } from './DnsRecordMutationRecord.js';
17
18
  */
18
19
  export interface EditDnsRecordRequestContent {
19
20
  /**
20
- * DNS zone domain name (FQDN); optional when zone_id is provided
21
+ * DNS zone domain name (FQDN); optional for dns_manager when zone_id is provided. Not forwarded on DirectAdmin mutations.
21
22
  * @type {string}
22
23
  * @memberof EditDnsRecordRequestContent
23
24
  */
24
25
  domainName?: string;
25
26
  /**
26
- * DNS zone identifier from list-dns-zones or get-dns-zone-details
27
+ * DNS zone identifier from list-dns-zones or get-dns-zone-details; required for dns_manager / legacy callers
27
28
  * @type {string}
28
29
  * @memberof EditDnsRecordRequestContent
29
30
  */
30
- zoneId: string;
31
+ zoneId?: string;
32
+ /**
33
+ * WHMCS domain id from list-dns-zones; required when backend is directadmin
34
+ * @type {string}
35
+ * @memberof EditDnsRecordRequestContent
36
+ */
37
+ domainId?: string;
38
+ /**
39
+ * Optional WHMCS hosting service id from list-dns-zones hosting_id. Not forwarded on DirectAdmin mutations.
40
+ * @type {number}
41
+ * @memberof EditDnsRecordRequestContent
42
+ */
43
+ serviceId?: number;
44
+ /**
45
+ *
46
+ * @type {DnsBackend}
47
+ * @memberof EditDnsRecordRequestContent
48
+ */
49
+ backend?: DnsBackend;
31
50
  /**
32
51
  *
33
52
  * @type {DnsRecordMutationRecord}
@@ -19,12 +19,11 @@ exports.EditDnsRecordRequestContentFromJSONTyped = EditDnsRecordRequestContentFr
19
19
  exports.EditDnsRecordRequestContentToJSON = EditDnsRecordRequestContentToJSON;
20
20
  exports.EditDnsRecordRequestContentToJSONTyped = EditDnsRecordRequestContentToJSONTyped;
21
21
  const DnsRecordMutationRecord_js_1 = require("./DnsRecordMutationRecord.js");
22
+ const DnsBackend_js_1 = require("./DnsBackend.js");
22
23
  /**
23
24
  * Check if a given object implements the EditDnsRecordRequestContent interface.
24
25
  */
25
26
  function instanceOfEditDnsRecordRequestContent(value) {
26
- if (!('zoneId' in value) || value['zoneId'] === undefined)
27
- return false;
28
27
  if (!('record' in value) || value['record'] === undefined)
29
28
  return false;
30
29
  return true;
@@ -38,7 +37,10 @@ function EditDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminator) {
38
37
  }
39
38
  return {
40
39
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
41
- 'zoneId': json['zone_id'],
40
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
41
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
42
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
43
+ 'backend': json['backend'] == null ? undefined : (0, DnsBackend_js_1.DnsBackendFromJSON)(json['backend']),
42
44
  'record': (0, DnsRecordMutationRecord_js_1.DnsRecordMutationRecordFromJSON)(json['record']),
43
45
  };
44
46
  }
@@ -52,6 +54,9 @@ function EditDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminator = fal
52
54
  return {
53
55
  'domain_name': value['domainName'],
54
56
  'zone_id': value['zoneId'],
57
+ 'domain_id': value['domainId'],
58
+ 'service_id': value['serviceId'],
59
+ 'backend': (0, DnsBackend_js_1.DnsBackendToJSON)(value['backend']),
55
60
  'record': (0, DnsRecordMutationRecord_js_1.DnsRecordMutationRecordToJSON)(value['record']),
56
61
  };
57
62
  }
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { DnsBackend } from './DnsBackend.js';
12
13
  /**
13
14
  *
14
15
  * @export
@@ -21,6 +22,12 @@ export interface GetDnsZoneDetailsRequestContent {
21
22
  * @memberof GetDnsZoneDetailsRequestContent
22
23
  */
23
24
  domainId: string;
25
+ /**
26
+ *
27
+ * @type {DnsBackend}
28
+ * @memberof GetDnsZoneDetailsRequestContent
29
+ */
30
+ backend?: DnsBackend;
24
31
  }
25
32
  /**
26
33
  * Check if a given object implements the GetDnsZoneDetailsRequestContent interface.
@@ -18,6 +18,7 @@ exports.GetDnsZoneDetailsRequestContentFromJSON = GetDnsZoneDetailsRequestConten
18
18
  exports.GetDnsZoneDetailsRequestContentFromJSONTyped = GetDnsZoneDetailsRequestContentFromJSONTyped;
19
19
  exports.GetDnsZoneDetailsRequestContentToJSON = GetDnsZoneDetailsRequestContentToJSON;
20
20
  exports.GetDnsZoneDetailsRequestContentToJSONTyped = GetDnsZoneDetailsRequestContentToJSONTyped;
21
+ const DnsBackend_js_1 = require("./DnsBackend.js");
21
22
  /**
22
23
  * Check if a given object implements the GetDnsZoneDetailsRequestContent interface.
23
24
  */
@@ -35,6 +36,7 @@ function GetDnsZoneDetailsRequestContentFromJSONTyped(json, ignoreDiscriminator)
35
36
  }
36
37
  return {
37
38
  'domainId': json['domain_id'],
39
+ 'backend': json['backend'] == null ? undefined : (0, DnsBackend_js_1.DnsBackendFromJSON)(json['backend']),
38
40
  };
39
41
  }
40
42
  function GetDnsZoneDetailsRequestContentToJSON(json) {
@@ -46,5 +48,6 @@ function GetDnsZoneDetailsRequestContentToJSONTyped(value, ignoreDiscriminator =
46
48
  }
47
49
  return {
48
50
  'domain_id': value['domainId'],
51
+ 'backend': (0, DnsBackend_js_1.DnsBackendToJSON)(value['backend']),
49
52
  };
50
53
  }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface GetInvoiceDetailsRequestContent
16
+ */
17
+ export interface GetInvoiceDetailsRequestContent {
18
+ /**
19
+ * Invoice ID - must be sent as a string
20
+ * @type {string}
21
+ * @memberof GetInvoiceDetailsRequestContent
22
+ */
23
+ invoiceId: string;
24
+ }
25
+ /**
26
+ * Check if a given object implements the GetInvoiceDetailsRequestContent interface.
27
+ */
28
+ export declare function instanceOfGetInvoiceDetailsRequestContent(value: object): value is GetInvoiceDetailsRequestContent;
29
+ export declare function GetInvoiceDetailsRequestContentFromJSON(json: any): GetInvoiceDetailsRequestContent;
30
+ export declare function GetInvoiceDetailsRequestContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetInvoiceDetailsRequestContent;
31
+ export declare function GetInvoiceDetailsRequestContentToJSON(json: any): GetInvoiceDetailsRequestContent;
32
+ export declare function GetInvoiceDetailsRequestContentToJSONTyped(value?: GetInvoiceDetailsRequestContent | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * HostAfricaApi
6
+ * HostAfrica API
7
+ *
8
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfGetInvoiceDetailsRequestContent = instanceOfGetInvoiceDetailsRequestContent;
17
+ exports.GetInvoiceDetailsRequestContentFromJSON = GetInvoiceDetailsRequestContentFromJSON;
18
+ exports.GetInvoiceDetailsRequestContentFromJSONTyped = GetInvoiceDetailsRequestContentFromJSONTyped;
19
+ exports.GetInvoiceDetailsRequestContentToJSON = GetInvoiceDetailsRequestContentToJSON;
20
+ exports.GetInvoiceDetailsRequestContentToJSONTyped = GetInvoiceDetailsRequestContentToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the GetInvoiceDetailsRequestContent interface.
23
+ */
24
+ function instanceOfGetInvoiceDetailsRequestContent(value) {
25
+ if (!('invoiceId' in value) || value['invoiceId'] === undefined)
26
+ return false;
27
+ return true;
28
+ }
29
+ function GetInvoiceDetailsRequestContentFromJSON(json) {
30
+ return GetInvoiceDetailsRequestContentFromJSONTyped(json, false);
31
+ }
32
+ function GetInvoiceDetailsRequestContentFromJSONTyped(json, ignoreDiscriminator) {
33
+ if (json == null) {
34
+ return json;
35
+ }
36
+ return {
37
+ 'invoiceId': json['invoice_id'],
38
+ };
39
+ }
40
+ function GetInvoiceDetailsRequestContentToJSON(json) {
41
+ return GetInvoiceDetailsRequestContentToJSONTyped(json, false);
42
+ }
43
+ function GetInvoiceDetailsRequestContentToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 'invoice_id': value['invoiceId'],
49
+ };
50
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * HostAfricaApi
3
+ * HostAfrica API
4
+ *
5
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { OperationStatus } from './OperationStatus.js';
13
+ import type { GetInvoiceDetailsResponseData } from './GetInvoiceDetailsResponseData.js';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface GetInvoiceDetailsResponseContent
18
+ */
19
+ export interface GetInvoiceDetailsResponseContent {
20
+ /**
21
+ *
22
+ * @type {OperationStatus}
23
+ * @memberof GetInvoiceDetailsResponseContent
24
+ */
25
+ status: OperationStatus;
26
+ /**
27
+ *
28
+ * @type {GetInvoiceDetailsResponseData}
29
+ * @memberof GetInvoiceDetailsResponseContent
30
+ */
31
+ data: GetInvoiceDetailsResponseData;
32
+ }
33
+ /**
34
+ * Check if a given object implements the GetInvoiceDetailsResponseContent interface.
35
+ */
36
+ export declare function instanceOfGetInvoiceDetailsResponseContent(value: object): value is GetInvoiceDetailsResponseContent;
37
+ export declare function GetInvoiceDetailsResponseContentFromJSON(json: any): GetInvoiceDetailsResponseContent;
38
+ export declare function GetInvoiceDetailsResponseContentFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetInvoiceDetailsResponseContent;
39
+ export declare function GetInvoiceDetailsResponseContentToJSON(json: any): GetInvoiceDetailsResponseContent;
40
+ export declare function GetInvoiceDetailsResponseContentToJSONTyped(value?: GetInvoiceDetailsResponseContent | null, ignoreDiscriminator?: boolean): any;