@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
@@ -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}
@@ -12,12 +12,11 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DnsRecordMutationRecordFromJSON, DnsRecordMutationRecordToJSON, } from './DnsRecordMutationRecord.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the AddDnsRecordRequestContent interface.
17
18
  */
18
19
  export function instanceOfAddDnsRecordRequestContent(value) {
19
- if (!('zoneId' in value) || value['zoneId'] === undefined)
20
- return false;
21
20
  if (!('record' in value) || value['record'] === undefined)
22
21
  return false;
23
22
  return true;
@@ -31,7 +30,10 @@ export function AddDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminato
31
30
  }
32
31
  return {
33
32
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
34
- 'zoneId': json['zone_id'],
33
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
34
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
35
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
36
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
35
37
  'record': DnsRecordMutationRecordFromJSON(json['record']),
36
38
  };
37
39
  }
@@ -45,6 +47,9 @@ export function AddDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminator
45
47
  return {
46
48
  'domain_name': value['domainName'],
47
49
  'zone_id': value['zoneId'],
50
+ 'domain_id': value['domainId'],
51
+ 'service_id': value['serviceId'],
52
+ 'backend': DnsBackendToJSON(value['backend']),
48
53
  'record': DnsRecordMutationRecordToJSON(value['record']),
49
54
  };
50
55
  }
@@ -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}
@@ -12,12 +12,11 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DnsRecordMutationRecordFromJSON, DnsRecordMutationRecordToJSON, } from './DnsRecordMutationRecord.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the DeleteDnsRecordRequestContent interface.
17
18
  */
18
19
  export function instanceOfDeleteDnsRecordRequestContent(value) {
19
- if (!('zoneId' in value) || value['zoneId'] === undefined)
20
- return false;
21
20
  if (!('record' in value) || value['record'] === undefined)
22
21
  return false;
23
22
  return true;
@@ -31,7 +30,10 @@ export function DeleteDnsRecordRequestContentFromJSONTyped(json, ignoreDiscrimin
31
30
  }
32
31
  return {
33
32
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
34
- 'zoneId': json['zone_id'],
33
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
34
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
35
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
36
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
35
37
  'record': DnsRecordMutationRecordFromJSON(json['record']),
36
38
  };
37
39
  }
@@ -45,6 +47,9 @@ export function DeleteDnsRecordRequestContentToJSONTyped(value, ignoreDiscrimina
45
47
  return {
46
48
  'domain_name': value['domainName'],
47
49
  'zone_id': value['zoneId'],
50
+ 'domain_id': value['domainId'],
51
+ 'service_id': value['serviceId'],
52
+ 'backend': DnsBackendToJSON(value['backend']),
48
53
  'record': DnsRecordMutationRecordToJSON(value['record']),
49
54
  };
50
55
  }
@@ -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,46 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Upstream DNS management backend for a zone.
16
+ *
17
+ * - `dns_manager` — WHMCS DNS Manager
18
+ * - `directadmin` — DirectAdmin DNS
19
+ * @export
20
+ */
21
+ export const DnsBackend = {
22
+ DnsManager: 'dns_manager',
23
+ Directadmin: 'directadmin'
24
+ };
25
+ export function instanceOfDnsBackend(value) {
26
+ for (const key in DnsBackend) {
27
+ if (Object.prototype.hasOwnProperty.call(DnsBackend, key)) {
28
+ if (DnsBackend[key] === value) {
29
+ return true;
30
+ }
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+ export function DnsBackendFromJSON(json) {
36
+ return DnsBackendFromJSONTyped(json, false);
37
+ }
38
+ export function DnsBackendFromJSONTyped(json, ignoreDiscriminator) {
39
+ return json;
40
+ }
41
+ export function DnsBackendToJSON(value) {
42
+ return value;
43
+ }
44
+ export function DnsBackendToJSONTyped(value, ignoreDiscriminator) {
45
+ return value;
46
+ }
@@ -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.
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DomainHostingLinkFromJSON, DomainHostingLinkToJSON, } from './DomainHostingLink.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the DnsZoneInfo interface.
17
18
  */
@@ -37,6 +38,7 @@ export function DnsZoneInfoFromJSONTyped(json, ignoreDiscriminator) {
37
38
  'packageName': json['package_name'] == null ? undefined : json['package_name'],
38
39
  'hasHosting': json['has_hosting'] == null ? undefined : DomainHostingLinkFromJSON(json['has_hosting']),
39
40
  'hasDnsManagerZone': json['has_dns_manager_zone'],
41
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
40
42
  };
41
43
  }
42
44
  export function DnsZoneInfoToJSON(json) {
@@ -56,5 +58,6 @@ export function DnsZoneInfoToJSONTyped(value, ignoreDiscriminator = false) {
56
58
  'package_name': value['packageName'],
57
59
  'has_hosting': DomainHostingLinkToJSON(value['hasHosting']),
58
60
  'has_dns_manager_zone': value['hasDnsManagerZone'],
61
+ 'backend': DnsBackendToJSON(value['backend']),
59
62
  };
60
63
  }
@@ -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}
@@ -12,12 +12,11 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { DnsRecordMutationRecordFromJSON, DnsRecordMutationRecordToJSON, } from './DnsRecordMutationRecord.js';
15
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
15
16
  /**
16
17
  * Check if a given object implements the EditDnsRecordRequestContent interface.
17
18
  */
18
19
  export function instanceOfEditDnsRecordRequestContent(value) {
19
- if (!('zoneId' in value) || value['zoneId'] === undefined)
20
- return false;
21
20
  if (!('record' in value) || value['record'] === undefined)
22
21
  return false;
23
22
  return true;
@@ -31,7 +30,10 @@ export function EditDnsRecordRequestContentFromJSONTyped(json, ignoreDiscriminat
31
30
  }
32
31
  return {
33
32
  'domainName': json['domain_name'] == null ? undefined : json['domain_name'],
34
- 'zoneId': json['zone_id'],
33
+ 'zoneId': json['zone_id'] == null ? undefined : json['zone_id'],
34
+ 'domainId': json['domain_id'] == null ? undefined : json['domain_id'],
35
+ 'serviceId': json['service_id'] == null ? undefined : json['service_id'],
36
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
35
37
  'record': DnsRecordMutationRecordFromJSON(json['record']),
36
38
  };
37
39
  }
@@ -45,6 +47,9 @@ export function EditDnsRecordRequestContentToJSONTyped(value, ignoreDiscriminato
45
47
  return {
46
48
  'domain_name': value['domainName'],
47
49
  'zone_id': value['zoneId'],
50
+ 'domain_id': value['domainId'],
51
+ 'service_id': value['serviceId'],
52
+ 'backend': DnsBackendToJSON(value['backend']),
48
53
  'record': DnsRecordMutationRecordToJSON(value['record']),
49
54
  };
50
55
  }
@@ -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.
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { DnsBackendFromJSON, DnsBackendToJSON, } from './DnsBackend.js';
14
15
  /**
15
16
  * Check if a given object implements the GetDnsZoneDetailsRequestContent interface.
16
17
  */
@@ -28,6 +29,7 @@ export function GetDnsZoneDetailsRequestContentFromJSONTyped(json, ignoreDiscrim
28
29
  }
29
30
  return {
30
31
  'domainId': json['domain_id'],
32
+ 'backend': json['backend'] == null ? undefined : DnsBackendFromJSON(json['backend']),
31
33
  };
32
34
  }
33
35
  export function GetDnsZoneDetailsRequestContentToJSON(json) {
@@ -39,5 +41,6 @@ export function GetDnsZoneDetailsRequestContentToJSONTyped(value, ignoreDiscrimi
39
41
  }
40
42
  return {
41
43
  'domain_id': value['domainId'],
44
+ 'backend': DnsBackendToJSON(value['backend']),
42
45
  };
43
46
  }
@@ -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,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the GetInvoiceDetailsRequestContent interface.
16
+ */
17
+ export function instanceOfGetInvoiceDetailsRequestContent(value) {
18
+ if (!('invoiceId' in value) || value['invoiceId'] === undefined)
19
+ return false;
20
+ return true;
21
+ }
22
+ export function GetInvoiceDetailsRequestContentFromJSON(json) {
23
+ return GetInvoiceDetailsRequestContentFromJSONTyped(json, false);
24
+ }
25
+ export function GetInvoiceDetailsRequestContentFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'invoiceId': json['invoice_id'],
31
+ };
32
+ }
33
+ export function GetInvoiceDetailsRequestContentToJSON(json) {
34
+ return GetInvoiceDetailsRequestContentToJSONTyped(json, false);
35
+ }
36
+ export function GetInvoiceDetailsRequestContentToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'invoice_id': value['invoiceId'],
42
+ };
43
+ }
@@ -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;
@@ -0,0 +1,49 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * HostAfricaApi
5
+ * HostAfrica API
6
+ *
7
+ * The version of the OpenAPI document: 1.1.0 - 2026-07-16
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { OperationStatusFromJSON, OperationStatusToJSON, } from './OperationStatus.js';
15
+ import { GetInvoiceDetailsResponseDataFromJSON, GetInvoiceDetailsResponseDataToJSON, } from './GetInvoiceDetailsResponseData.js';
16
+ /**
17
+ * Check if a given object implements the GetInvoiceDetailsResponseContent interface.
18
+ */
19
+ export function instanceOfGetInvoiceDetailsResponseContent(value) {
20
+ if (!('status' in value) || value['status'] === undefined)
21
+ return false;
22
+ if (!('data' in value) || value['data'] === undefined)
23
+ return false;
24
+ return true;
25
+ }
26
+ export function GetInvoiceDetailsResponseContentFromJSON(json) {
27
+ return GetInvoiceDetailsResponseContentFromJSONTyped(json, false);
28
+ }
29
+ export function GetInvoiceDetailsResponseContentFromJSONTyped(json, ignoreDiscriminator) {
30
+ if (json == null) {
31
+ return json;
32
+ }
33
+ return {
34
+ 'status': OperationStatusFromJSON(json['status']),
35
+ 'data': GetInvoiceDetailsResponseDataFromJSON(json['data']),
36
+ };
37
+ }
38
+ export function GetInvoiceDetailsResponseContentToJSON(json) {
39
+ return GetInvoiceDetailsResponseContentToJSONTyped(json, false);
40
+ }
41
+ export function GetInvoiceDetailsResponseContentToJSONTyped(value, ignoreDiscriminator = false) {
42
+ if (value == null) {
43
+ return value;
44
+ }
45
+ return {
46
+ 'status': OperationStatusToJSON(value['status']),
47
+ 'data': GetInvoiceDetailsResponseDataToJSON(value['data']),
48
+ };
49
+ }
@@ -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 { InvoiceDetails } from './InvoiceDetails.js';
13
+ import type { SelcomMetadata } from './SelcomMetadata.js';
14
+ /**
15
+ * Top-level data payload for the GetInvoiceDetails response
16
+ * @export
17
+ * @interface GetInvoiceDetailsResponseData
18
+ */
19
+ export interface GetInvoiceDetailsResponseData {
20
+ /**
21
+ *
22
+ * @type {InvoiceDetails}
23
+ * @memberof GetInvoiceDetailsResponseData
24
+ */
25
+ invoice: InvoiceDetails;
26
+ /**
27
+ *
28
+ * @type {SelcomMetadata}
29
+ * @memberof GetInvoiceDetailsResponseData
30
+ */
31
+ selcomMetadata?: SelcomMetadata;
32
+ }
33
+ /**
34
+ * Check if a given object implements the GetInvoiceDetailsResponseData interface.
35
+ */
36
+ export declare function instanceOfGetInvoiceDetailsResponseData(value: object): value is GetInvoiceDetailsResponseData;
37
+ export declare function GetInvoiceDetailsResponseDataFromJSON(json: any): GetInvoiceDetailsResponseData;
38
+ export declare function GetInvoiceDetailsResponseDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetInvoiceDetailsResponseData;
39
+ export declare function GetInvoiceDetailsResponseDataToJSON(json: any): GetInvoiceDetailsResponseData;
40
+ export declare function GetInvoiceDetailsResponseDataToJSONTyped(value?: GetInvoiceDetailsResponseData | null, ignoreDiscriminator?: boolean): any;