@oasisomniverse/web4-api 2.0.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/README.md +464 -0
- package/docs/README.md +52 -0
- package/docs/auth.md +89 -0
- package/docs/getting-started.md +129 -0
- package/docs/modules/Avatar.md +4160 -0
- package/docs/modules/Bridge.md +394 -0
- package/docs/modules/Chat.md +168 -0
- package/docs/modules/Clan.md +552 -0
- package/docs/modules/Competition.md +594 -0
- package/docs/modules/Data.md +796 -0
- package/docs/modules/EOSIO.md +508 -0
- package/docs/modules/Eggs.md +396 -0
- package/docs/modules/Files.md +312 -0
- package/docs/modules/Gifts.md +306 -0
- package/docs/modules/Health.md +90 -0
- package/docs/modules/Holochain.md +374 -0
- package/docs/modules/HyperDrive.md +3857 -0
- package/docs/modules/Karma.md +644 -0
- package/docs/modules/Keys.md +3303 -0
- package/docs/modules/Map.md +1026 -0
- package/docs/modules/Messaging.md +320 -0
- package/docs/modules/Nft.md +2216 -0
- package/docs/modules/OLand.md +425 -0
- package/docs/modules/ONET.md +442 -0
- package/docs/modules/ONODE.md +504 -0
- package/docs/modules/Provider.md +1396 -0
- package/docs/modules/Search.md +69 -0
- package/docs/modules/Seeds.md +167 -0
- package/docs/modules/Settings.md +533 -0
- package/docs/modules/Share.md +64 -0
- package/docs/modules/Social.md +190 -0
- package/docs/modules/Solana.md +150 -0
- package/docs/modules/Stats.md +359 -0
- package/docs/modules/Subscription.md +437 -0
- package/docs/modules/Video.md +150 -0
- package/docs/modules/Wallet.md +1993 -0
- package/index.d.ts +106 -0
- package/index.js +3 -0
- package/index.mjs +4 -0
- package/package.json +120 -0
- package/src/core/httpClient.js +110 -0
- package/src/core/routeHelper.js +50 -0
- package/src/core/tokenStore.js +52 -0
- package/src/core/types.d.ts +18 -0
- package/src/index.js +46 -0
- package/src/modules/Auth.d.ts +28 -0
- package/src/modules/Auth.js +98 -0
- package/src/modules/Avatar.d.ts +192 -0
- package/src/modules/Avatar.js +143 -0
- package/src/modules/Bridge.d.ts +24 -0
- package/src/modules/Bridge.js +35 -0
- package/src/modules/Cargo.js +35 -0
- package/src/modules/Chat.d.ts +15 -0
- package/src/modules/Chat.js +27 -0
- package/src/modules/Clan.d.ts +36 -0
- package/src/modules/Clan.js +41 -0
- package/src/modules/Competition.d.ts +33 -0
- package/src/modules/Competition.js +39 -0
- package/src/modules/Core.js +27 -0
- package/src/modules/Data.d.ts +36 -0
- package/src/modules/Data.js +41 -0
- package/src/modules/EOSIO.d.ts +33 -0
- package/src/modules/EOSIO.js +39 -0
- package/src/modules/Eggs.d.ts +24 -0
- package/src/modules/Eggs.js +33 -0
- package/src/modules/Files.d.ts +24 -0
- package/src/modules/Files.js +33 -0
- package/src/modules/Gifts.d.ts +24 -0
- package/src/modules/Gifts.js +33 -0
- package/src/modules/Health.d.ts +12 -0
- package/src/modules/Health.js +25 -0
- package/src/modules/Holochain.d.ts +27 -0
- package/src/modules/Holochain.js +35 -0
- package/src/modules/HyperDrive.d.ts +237 -0
- package/src/modules/HyperDrive.js +175 -0
- package/src/modules/Karma.d.ts +42 -0
- package/src/modules/Karma.js +45 -0
- package/src/modules/Keys.d.ts +183 -0
- package/src/modules/Keys.js +139 -0
- package/src/modules/Map.d.ts +75 -0
- package/src/modules/Map.js +65 -0
- package/src/modules/Messaging.d.ts +24 -0
- package/src/modules/Messaging.js +33 -0
- package/src/modules/Nft.d.ts +102 -0
- package/src/modules/Nft.js +85 -0
- package/src/modules/OAPP.js +31 -0
- package/src/modules/OLand.d.ts +27 -0
- package/src/modules/OLand.js +35 -0
- package/src/modules/ONET.d.ts +39 -0
- package/src/modules/ONET.js +43 -0
- package/src/modules/ONODE.d.ts +45 -0
- package/src/modules/ONODE.js +47 -0
- package/src/modules/Provider.d.ts +99 -0
- package/src/modules/Provider.js +83 -0
- package/src/modules/Search.d.ts +9 -0
- package/src/modules/Search.js +23 -0
- package/src/modules/Seeds.d.ts +15 -0
- package/src/modules/Seeds.js +27 -0
- package/src/modules/Settings.d.ts +48 -0
- package/src/modules/Settings.js +47 -0
- package/src/modules/Share.d.ts +9 -0
- package/src/modules/Share.js +23 -0
- package/src/modules/Social.d.ts +18 -0
- package/src/modules/Social.js +29 -0
- package/src/modules/Solana.d.ts +12 -0
- package/src/modules/Solana.js +25 -0
- package/src/modules/Stats.d.ts +30 -0
- package/src/modules/Stats.js +37 -0
- package/src/modules/Subscription.d.ts +36 -0
- package/src/modules/Subscription.js +41 -0
- package/src/modules/Telos.js +39 -0
- package/src/modules/Video.d.ts +15 -0
- package/src/modules/Video.js +27 -0
- package/src/modules/Wallet.d.ts +102 -0
- package/src/modules/Wallet.js +85 -0
- package/src/modules/index.js +79 -0
|
@@ -0,0 +1,3857 @@
|
|
|
1
|
+
# HyperDrive — `oasis.hyperDrive`
|
|
2
|
+
|
|
3
|
+
Source controller: [`HyperDriveController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/HyperDriveController.cs)
|
|
4
|
+
Route prefix: `api/hyperDrive`
|
|
5
|
+
77 operation(s).
|
|
6
|
+
|
|
7
|
+
Every method takes a single args object: any key matching a `{token}` in the route is substituted into the URL; everything else becomes the query string (GET/DELETE) or JSON body (POST/PUT). Every call resolves to the standard OASIS envelope:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
{
|
|
11
|
+
isError: boolean;
|
|
12
|
+
isWarning: boolean;
|
|
13
|
+
message: string;
|
|
14
|
+
errorCode?: string;
|
|
15
|
+
result: T; // see each endpoint's Response section below
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Operations
|
|
20
|
+
|
|
21
|
+
### `checkQuotaStatus`
|
|
22
|
+
|
|
23
|
+
Checks quota status for a specific type
|
|
24
|
+
|
|
25
|
+
**GET** `api/hyperDrive/quota/status`
|
|
26
|
+
|
|
27
|
+
**Request**
|
|
28
|
+
|
|
29
|
+
No request body.
|
|
30
|
+
|
|
31
|
+
**Response**
|
|
32
|
+
|
|
33
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
34
|
+
|
|
35
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
36
|
+
|
|
37
|
+
**Example**
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
const { isError, message, result } = await oasis.hyperDrive.checkQuotaStatus({});
|
|
41
|
+
if (isError) throw new Error(message);
|
|
42
|
+
console.log(result);
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Example response:
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"isError": false,
|
|
50
|
+
"message": "",
|
|
51
|
+
"result": { "<string>": {} }
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### `createFailoverTrigger`
|
|
58
|
+
|
|
59
|
+
**POST** `api/hyperDrive/failover/triggers`
|
|
60
|
+
|
|
61
|
+
**Request**
|
|
62
|
+
|
|
63
|
+
Body type: `FailoverTriggerConfig`
|
|
64
|
+
|
|
65
|
+
| Field | Type |
|
|
66
|
+
| --- | --- |
|
|
67
|
+
| `Id` | `string` |
|
|
68
|
+
| `Name` | `string` |
|
|
69
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
70
|
+
| `Priority` | `string` |
|
|
71
|
+
| `IsEnabled` | `bool` |
|
|
72
|
+
| `Action` | `FailoverActionConfig` |
|
|
73
|
+
|
|
74
|
+
**Response**
|
|
75
|
+
|
|
76
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
77
|
+
|
|
78
|
+
`result` type: `FailoverTriggerConfig`
|
|
79
|
+
|
|
80
|
+
| Field | Type |
|
|
81
|
+
| --- | --- |
|
|
82
|
+
| `Id` | `string` |
|
|
83
|
+
| `Name` | `string` |
|
|
84
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
85
|
+
| `Priority` | `string` |
|
|
86
|
+
| `IsEnabled` | `bool` |
|
|
87
|
+
| `Action` | `FailoverActionConfig` |
|
|
88
|
+
|
|
89
|
+
**Example**
|
|
90
|
+
|
|
91
|
+
```js
|
|
92
|
+
const { isError, message, result } = await oasis.hyperDrive.createFailoverTrigger({
|
|
93
|
+
id: "example string",
|
|
94
|
+
name: "example string",
|
|
95
|
+
condition: { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 },
|
|
96
|
+
priority: "example string",
|
|
97
|
+
isEnabled: true,
|
|
98
|
+
action: { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }
|
|
99
|
+
});
|
|
100
|
+
if (isError) throw new Error(message);
|
|
101
|
+
console.log(result);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Example response:
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"isError": false,
|
|
109
|
+
"message": "",
|
|
110
|
+
"result": { "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } } }
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### `createQuotaNotification`
|
|
117
|
+
|
|
118
|
+
**POST** `api/hyperDrive/subscription/quota-notifications`
|
|
119
|
+
|
|
120
|
+
**Request**
|
|
121
|
+
|
|
122
|
+
Body type: `QuotaNotificationConfig`
|
|
123
|
+
|
|
124
|
+
| Field | Type |
|
|
125
|
+
| --- | --- |
|
|
126
|
+
| `Id` | `string` |
|
|
127
|
+
| `Name` | `string` |
|
|
128
|
+
| `QuotaType` | `string` |
|
|
129
|
+
| `Threshold` | `decimal` |
|
|
130
|
+
| `NotificationChannels` | `List<string>` |
|
|
131
|
+
| `Actions` | `List<QuotaActionConfig>` |
|
|
132
|
+
| `IsEnabled` | `bool` |
|
|
133
|
+
|
|
134
|
+
**Response**
|
|
135
|
+
|
|
136
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
137
|
+
|
|
138
|
+
`result` type: `QuotaNotificationConfig`
|
|
139
|
+
|
|
140
|
+
| Field | Type |
|
|
141
|
+
| --- | --- |
|
|
142
|
+
| `Id` | `string` |
|
|
143
|
+
| `Name` | `string` |
|
|
144
|
+
| `QuotaType` | `string` |
|
|
145
|
+
| `Threshold` | `decimal` |
|
|
146
|
+
| `NotificationChannels` | `List<string>` |
|
|
147
|
+
| `Actions` | `List<QuotaActionConfig>` |
|
|
148
|
+
| `IsEnabled` | `bool` |
|
|
149
|
+
|
|
150
|
+
**Example**
|
|
151
|
+
|
|
152
|
+
```js
|
|
153
|
+
const { isError, message, result } = await oasis.hyperDrive.createQuotaNotification({
|
|
154
|
+
id: "example string",
|
|
155
|
+
name: "example string",
|
|
156
|
+
quotaType: "example string",
|
|
157
|
+
threshold: 1.0,
|
|
158
|
+
notificationChannels: ["example string"],
|
|
159
|
+
actions: [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }],
|
|
160
|
+
isEnabled: true
|
|
161
|
+
});
|
|
162
|
+
if (isError) throw new Error(message);
|
|
163
|
+
console.log(result);
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Example response:
|
|
167
|
+
|
|
168
|
+
```json
|
|
169
|
+
{
|
|
170
|
+
"isError": false,
|
|
171
|
+
"message": "",
|
|
172
|
+
"result": { "Id": "example string", "Name": "example string", "QuotaType": "example string", "Threshold": 1.0, "NotificationChannels": ["example string"], "Actions": [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }], "IsEnabled": true }
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### `createReplicationTrigger`
|
|
179
|
+
|
|
180
|
+
**POST** `api/hyperDrive/replication/triggers`
|
|
181
|
+
|
|
182
|
+
**Request**
|
|
183
|
+
|
|
184
|
+
Body type: `ReplicationTriggerConfig`
|
|
185
|
+
|
|
186
|
+
| Field | Type |
|
|
187
|
+
| --- | --- |
|
|
188
|
+
| `Id` | `string` |
|
|
189
|
+
| `Name` | `string` |
|
|
190
|
+
| `Condition` | `ReplicationConditionConfig` |
|
|
191
|
+
| `Priority` | `string` |
|
|
192
|
+
| `IsEnabled` | `bool` |
|
|
193
|
+
| `Action` | `ReplicationActionConfig` |
|
|
194
|
+
|
|
195
|
+
**Response**
|
|
196
|
+
|
|
197
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
198
|
+
|
|
199
|
+
`result` type: `ReplicationTriggerConfig`
|
|
200
|
+
|
|
201
|
+
| Field | Type |
|
|
202
|
+
| --- | --- |
|
|
203
|
+
| `Id` | `string` |
|
|
204
|
+
| `Name` | `string` |
|
|
205
|
+
| `Condition` | `ReplicationConditionConfig` |
|
|
206
|
+
| `Priority` | `string` |
|
|
207
|
+
| `IsEnabled` | `bool` |
|
|
208
|
+
| `Action` | `ReplicationActionConfig` |
|
|
209
|
+
|
|
210
|
+
**Example**
|
|
211
|
+
|
|
212
|
+
```js
|
|
213
|
+
const { isError, message, result } = await oasis.hyperDrive.createReplicationTrigger({
|
|
214
|
+
id: "example string",
|
|
215
|
+
name: "example string",
|
|
216
|
+
condition: { "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } },
|
|
217
|
+
priority: "example string",
|
|
218
|
+
isEnabled: true,
|
|
219
|
+
action: { "Type": "example string", "TargetProviders": ["example string"], "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} }
|
|
220
|
+
});
|
|
221
|
+
if (isError) throw new Error(message);
|
|
222
|
+
console.log(result);
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Example response:
|
|
226
|
+
|
|
227
|
+
```json
|
|
228
|
+
{
|
|
229
|
+
"isError": false,
|
|
230
|
+
"message": "",
|
|
231
|
+
"result": { "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProviders": ["example string"], "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": {}, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} } }
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### `createUsageAlert`
|
|
238
|
+
|
|
239
|
+
**POST** `api/hyperDrive/subscription/usage-alerts`
|
|
240
|
+
|
|
241
|
+
**Request**
|
|
242
|
+
|
|
243
|
+
Body type: `UsageAlertConfig`
|
|
244
|
+
|
|
245
|
+
| Field | Type |
|
|
246
|
+
| --- | --- |
|
|
247
|
+
| `Id` | `string` |
|
|
248
|
+
| `Name` | `string` |
|
|
249
|
+
| `Threshold` | `decimal` |
|
|
250
|
+
| `ThresholdType` | `string` |
|
|
251
|
+
| `NotificationChannels` | `List<string>` |
|
|
252
|
+
| `IsEnabled` | `bool` |
|
|
253
|
+
|
|
254
|
+
**Response**
|
|
255
|
+
|
|
256
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
257
|
+
|
|
258
|
+
`result` type: `UsageAlertConfig`
|
|
259
|
+
|
|
260
|
+
| Field | Type |
|
|
261
|
+
| --- | --- |
|
|
262
|
+
| `Id` | `string` |
|
|
263
|
+
| `Name` | `string` |
|
|
264
|
+
| `Threshold` | `decimal` |
|
|
265
|
+
| `ThresholdType` | `string` |
|
|
266
|
+
| `NotificationChannels` | `List<string>` |
|
|
267
|
+
| `IsEnabled` | `bool` |
|
|
268
|
+
|
|
269
|
+
**Example**
|
|
270
|
+
|
|
271
|
+
```js
|
|
272
|
+
const { isError, message, result } = await oasis.hyperDrive.createUsageAlert({
|
|
273
|
+
id: "example string",
|
|
274
|
+
name: "example string",
|
|
275
|
+
threshold: 1.0,
|
|
276
|
+
thresholdType: "example string",
|
|
277
|
+
notificationChannels: ["example string"],
|
|
278
|
+
isEnabled: true
|
|
279
|
+
});
|
|
280
|
+
if (isError) throw new Error(message);
|
|
281
|
+
console.log(result);
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Example response:
|
|
285
|
+
|
|
286
|
+
```json
|
|
287
|
+
{
|
|
288
|
+
"isError": false,
|
|
289
|
+
"message": "",
|
|
290
|
+
"result": { "Id": "example string", "Name": "example string", "Threshold": 1.0, "ThresholdType": "example string", "NotificationChannels": ["example string"], "IsEnabled": true }
|
|
291
|
+
}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
### `deleteFailoverTrigger`
|
|
297
|
+
|
|
298
|
+
**DELETE** `api/hyperDrive/failover/triggers/{id}`
|
|
299
|
+
|
|
300
|
+
Route parameters:
|
|
301
|
+
|
|
302
|
+
| Field | Type |
|
|
303
|
+
| --- | --- |
|
|
304
|
+
| `id` | `string` |
|
|
305
|
+
|
|
306
|
+
**Request**
|
|
307
|
+
|
|
308
|
+
No request body.
|
|
309
|
+
|
|
310
|
+
**Response**
|
|
311
|
+
|
|
312
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
313
|
+
|
|
314
|
+
`result` type: `bool`
|
|
315
|
+
|
|
316
|
+
**Example**
|
|
317
|
+
|
|
318
|
+
```js
|
|
319
|
+
const { isError, message, result } = await oasis.hyperDrive.deleteFailoverTrigger({
|
|
320
|
+
id: '<id>'
|
|
321
|
+
});
|
|
322
|
+
if (isError) throw new Error(message);
|
|
323
|
+
console.log(result);
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
Example response:
|
|
327
|
+
|
|
328
|
+
```json
|
|
329
|
+
{
|
|
330
|
+
"isError": false,
|
|
331
|
+
"message": "",
|
|
332
|
+
"result": true
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
### `deleteQuotaNotification`
|
|
339
|
+
|
|
340
|
+
**DELETE** `api/hyperDrive/subscription/quota-notifications/{id}`
|
|
341
|
+
|
|
342
|
+
Route parameters:
|
|
343
|
+
|
|
344
|
+
| Field | Type |
|
|
345
|
+
| --- | --- |
|
|
346
|
+
| `id` | `string` |
|
|
347
|
+
|
|
348
|
+
**Request**
|
|
349
|
+
|
|
350
|
+
No request body.
|
|
351
|
+
|
|
352
|
+
**Response**
|
|
353
|
+
|
|
354
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
355
|
+
|
|
356
|
+
`result` type: `bool`
|
|
357
|
+
|
|
358
|
+
**Example**
|
|
359
|
+
|
|
360
|
+
```js
|
|
361
|
+
const { isError, message, result } = await oasis.hyperDrive.deleteQuotaNotification({
|
|
362
|
+
id: '<id>'
|
|
363
|
+
});
|
|
364
|
+
if (isError) throw new Error(message);
|
|
365
|
+
console.log(result);
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Example response:
|
|
369
|
+
|
|
370
|
+
```json
|
|
371
|
+
{
|
|
372
|
+
"isError": false,
|
|
373
|
+
"message": "",
|
|
374
|
+
"result": true
|
|
375
|
+
}
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
### `deleteReplicationTrigger`
|
|
381
|
+
|
|
382
|
+
**DELETE** `api/hyperDrive/replication/triggers/{id}`
|
|
383
|
+
|
|
384
|
+
Route parameters:
|
|
385
|
+
|
|
386
|
+
| Field | Type |
|
|
387
|
+
| --- | --- |
|
|
388
|
+
| `id` | `string` |
|
|
389
|
+
|
|
390
|
+
**Request**
|
|
391
|
+
|
|
392
|
+
No request body.
|
|
393
|
+
|
|
394
|
+
**Response**
|
|
395
|
+
|
|
396
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
397
|
+
|
|
398
|
+
`result` type: `bool`
|
|
399
|
+
|
|
400
|
+
**Example**
|
|
401
|
+
|
|
402
|
+
```js
|
|
403
|
+
const { isError, message, result } = await oasis.hyperDrive.deleteReplicationTrigger({
|
|
404
|
+
id: '<id>'
|
|
405
|
+
});
|
|
406
|
+
if (isError) throw new Error(message);
|
|
407
|
+
console.log(result);
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
Example response:
|
|
411
|
+
|
|
412
|
+
```json
|
|
413
|
+
{
|
|
414
|
+
"isError": false,
|
|
415
|
+
"message": "",
|
|
416
|
+
"result": true
|
|
417
|
+
}
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
### `deleteUsageAlert`
|
|
423
|
+
|
|
424
|
+
**DELETE** `api/hyperDrive/subscription/usage-alerts/{id}`
|
|
425
|
+
|
|
426
|
+
Route parameters:
|
|
427
|
+
|
|
428
|
+
| Field | Type |
|
|
429
|
+
| --- | --- |
|
|
430
|
+
| `id` | `string` |
|
|
431
|
+
|
|
432
|
+
**Request**
|
|
433
|
+
|
|
434
|
+
No request body.
|
|
435
|
+
|
|
436
|
+
**Response**
|
|
437
|
+
|
|
438
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
439
|
+
|
|
440
|
+
`result` type: `bool`
|
|
441
|
+
|
|
442
|
+
**Example**
|
|
443
|
+
|
|
444
|
+
```js
|
|
445
|
+
const { isError, message, result } = await oasis.hyperDrive.deleteUsageAlert({
|
|
446
|
+
id: '<id>'
|
|
447
|
+
});
|
|
448
|
+
if (isError) throw new Error(message);
|
|
449
|
+
console.log(result);
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
Example response:
|
|
453
|
+
|
|
454
|
+
```json
|
|
455
|
+
{
|
|
456
|
+
"isError": false,
|
|
457
|
+
"message": "",
|
|
458
|
+
"result": true
|
|
459
|
+
}
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
---
|
|
463
|
+
|
|
464
|
+
### `disableIntelligentMode`
|
|
465
|
+
|
|
466
|
+
Disables intelligent mode
|
|
467
|
+
|
|
468
|
+
**POST** `api/hyperDrive/intelligent-mode/disable`
|
|
469
|
+
|
|
470
|
+
**Request**
|
|
471
|
+
|
|
472
|
+
No request body.
|
|
473
|
+
|
|
474
|
+
**Response**
|
|
475
|
+
|
|
476
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
477
|
+
|
|
478
|
+
`result` type: `bool`
|
|
479
|
+
|
|
480
|
+
**Example**
|
|
481
|
+
|
|
482
|
+
```js
|
|
483
|
+
const { isError, message, result } = await oasis.hyperDrive.disableIntelligentMode({});
|
|
484
|
+
if (isError) throw new Error(message);
|
|
485
|
+
console.log(result);
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
Example response:
|
|
489
|
+
|
|
490
|
+
```json
|
|
491
|
+
{
|
|
492
|
+
"isError": false,
|
|
493
|
+
"message": "",
|
|
494
|
+
"result": true
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
### `enableIntelligentMode`
|
|
501
|
+
|
|
502
|
+
Enables intelligent mode
|
|
503
|
+
|
|
504
|
+
**POST** `api/hyperDrive/intelligent-mode/enable`
|
|
505
|
+
|
|
506
|
+
**Request**
|
|
507
|
+
|
|
508
|
+
No request body.
|
|
509
|
+
|
|
510
|
+
**Response**
|
|
511
|
+
|
|
512
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
513
|
+
|
|
514
|
+
`result` type: `bool`
|
|
515
|
+
|
|
516
|
+
**Example**
|
|
517
|
+
|
|
518
|
+
```js
|
|
519
|
+
const { isError, message, result } = await oasis.hyperDrive.enableIntelligentMode({});
|
|
520
|
+
if (isError) throw new Error(message);
|
|
521
|
+
console.log(result);
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
Example response:
|
|
525
|
+
|
|
526
|
+
```json
|
|
527
|
+
{
|
|
528
|
+
"isError": false,
|
|
529
|
+
"message": "",
|
|
530
|
+
"result": true
|
|
531
|
+
}
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
### `getAIRecommendations`
|
|
537
|
+
|
|
538
|
+
Gets AI-powered optimization recommendations
|
|
539
|
+
|
|
540
|
+
**GET** `api/hyperDrive/ai/recommendations`
|
|
541
|
+
|
|
542
|
+
**Request**
|
|
543
|
+
|
|
544
|
+
No request body.
|
|
545
|
+
|
|
546
|
+
**Response**
|
|
547
|
+
|
|
548
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
549
|
+
|
|
550
|
+
`result` type: `OptimizationRecommendation` (array)
|
|
551
|
+
|
|
552
|
+
| Field | Type |
|
|
553
|
+
| --- | --- |
|
|
554
|
+
| `Id` | `string` |
|
|
555
|
+
| `Title` | `string` |
|
|
556
|
+
| `Description` | `string` |
|
|
557
|
+
| `Category` | `string` |
|
|
558
|
+
| `Type` | `OptimizationType` |
|
|
559
|
+
| `Priority` | `PriorityLevel` |
|
|
560
|
+
| `EstimatedImpact` | `decimal` |
|
|
561
|
+
| `EstimatedCost` | `decimal` |
|
|
562
|
+
| `AffectedProviders` | `List<ProviderType>` |
|
|
563
|
+
| `ImplementationSteps` | `List<string>` |
|
|
564
|
+
| `CreatedAt` | `DateTime` |
|
|
565
|
+
| `ExpiresAt` | `DateTime?` |
|
|
566
|
+
| `IsImplemented` | `bool` |
|
|
567
|
+
| `Metadata` | `Dictionary<string, object>` |
|
|
568
|
+
| `CreatedBy` | `string` |
|
|
569
|
+
| `Reason` | `string` |
|
|
570
|
+
| `Prerequisites` | `List<string>` |
|
|
571
|
+
| `ConfidenceScore` | `decimal` |
|
|
572
|
+
|
|
573
|
+
**Example**
|
|
574
|
+
|
|
575
|
+
```js
|
|
576
|
+
const { isError, message, result } = await oasis.hyperDrive.getAIRecommendations({});
|
|
577
|
+
if (isError) throw new Error(message);
|
|
578
|
+
console.log(result);
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
Example response:
|
|
582
|
+
|
|
583
|
+
```json
|
|
584
|
+
{
|
|
585
|
+
"isError": false,
|
|
586
|
+
"message": "",
|
|
587
|
+
"result": [{ "Id": "example string", "Title": "example string", "Description": "example string", "Category": "example string", "Type": { }, "Priority": { }, "EstimatedImpact": 1.0, "EstimatedCost": 1.0, "AffectedProviders": [{ }], "ImplementationSteps": ["example string"], "CreatedAt": "2026-01-01T00:00:00Z", "ExpiresAt": "2026-01-01T00:00:00Z", "IsImplemented": true, "Metadata": { "<string>": {} }, "CreatedBy": "example string", "Reason": "example string", "Prerequisites": ["example string"], "ConfidenceScore": 1.0 }]
|
|
588
|
+
}
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
---
|
|
592
|
+
|
|
593
|
+
### `getAnalyticsReport`
|
|
594
|
+
|
|
595
|
+
Gets comprehensive analytics report
|
|
596
|
+
|
|
597
|
+
**GET** `api/hyperDrive/analytics/report`
|
|
598
|
+
|
|
599
|
+
**Request**
|
|
600
|
+
|
|
601
|
+
Query parameters:
|
|
602
|
+
|
|
603
|
+
| Field | Type |
|
|
604
|
+
| --- | --- |
|
|
605
|
+
| `providerType` | `ProviderType? (optional)` |
|
|
606
|
+
| `timeRange` | `TimeRange (optional)` |
|
|
607
|
+
|
|
608
|
+
**Response**
|
|
609
|
+
|
|
610
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
611
|
+
|
|
612
|
+
`result` type: `AnalyticsReport`
|
|
613
|
+
|
|
614
|
+
| Field | Type |
|
|
615
|
+
| --- | --- |
|
|
616
|
+
| `GeneratedAt` | `DateTime` |
|
|
617
|
+
| `TimeRange` | `TimeRange` |
|
|
618
|
+
| `ProviderType` | `ProviderType?` |
|
|
619
|
+
| `ProviderAnalytics` | `List<ProviderAnalytics>` |
|
|
620
|
+
| `SystemMetrics` | `SystemMetrics` |
|
|
621
|
+
| `TopPerformers` | `List<ProviderAnalytics>` |
|
|
622
|
+
| `Underperformers` | `List<ProviderAnalytics>` |
|
|
623
|
+
| `CostOptimization` | `List<CostOptimization>` |
|
|
624
|
+
| `ReliabilityInsights` | `List<ReliabilityInsight>` |
|
|
625
|
+
|
|
626
|
+
**Example**
|
|
627
|
+
|
|
628
|
+
```js
|
|
629
|
+
const { isError, message, result } = await oasis.hyperDrive.getAnalyticsReport({
|
|
630
|
+
providerType: '<providerType>',
|
|
631
|
+
timeRange: '<timeRange>'
|
|
632
|
+
});
|
|
633
|
+
if (isError) throw new Error(message);
|
|
634
|
+
console.log(result);
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
Example response:
|
|
638
|
+
|
|
639
|
+
```json
|
|
640
|
+
{
|
|
641
|
+
"isError": false,
|
|
642
|
+
"message": "",
|
|
643
|
+
"result": { "GeneratedAt": "2026-01-01T00:00:00Z", "TimeRange": { }, "ProviderType": { }, "ProviderAnalytics": [{ "ProviderType": {}, "TotalRequests": 1, "SuccessfulRequests": 1, "FailedRequests": 1, "AverageResponseTime": 1.0, "MinResponseTime": 1.0, "MaxResponseTime": 1.0, "AverageThroughput": 1.0, "TotalCost": 1.0, "AverageCost": 1.0, "ErrorRate": 1.0, "UptimePercentage": 1.0, "PeakUsageTime": "2026-01-01T00:00:00Z", "GeographicDistribution": { "<string>": 1 }, "CostTrend": 1.0, "PerformanceTrend": 1.0, "ReliabilityTrend": 1.0, "Anomalies": [{ "Timestamp": "2026-01-01T00:00:00Z", "Type": { }, "Severity": { }, "Description": "example string" }], "Recommendations": ["example string"] }], "SystemMetrics": { "OverallHealth": 1.0, "AveragePerformance": 1.0, "TotalCost": 1.0, "TotalProviders": 1 }, "TopPerformers": [], "Underperformers": [], "CostOptimization": [{ "Description": "example string", "PotentialSavings": 1.0, "Actions": ["example string"] }], "ReliabilityInsights": [{ "Description": "example string", "ReliabilityScore": 1.0, "Recommendations": ["example string"] }] }
|
|
644
|
+
}
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
### `getBestProvider`
|
|
650
|
+
|
|
651
|
+
Gets the best provider based on current strategy
|
|
652
|
+
|
|
653
|
+
**GET** `api/hyperDrive/best-provider`
|
|
654
|
+
|
|
655
|
+
**Request**
|
|
656
|
+
|
|
657
|
+
Query parameters:
|
|
658
|
+
|
|
659
|
+
| Field | Type |
|
|
660
|
+
| --- | --- |
|
|
661
|
+
| `strategy` | `LoadBalancingStrategy? (optional)` |
|
|
662
|
+
|
|
663
|
+
**Response**
|
|
664
|
+
|
|
665
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
666
|
+
|
|
667
|
+
`result` type: `ProviderType`
|
|
668
|
+
|
|
669
|
+
_No fields._
|
|
670
|
+
|
|
671
|
+
**Example**
|
|
672
|
+
|
|
673
|
+
```js
|
|
674
|
+
const { isError, message, result } = await oasis.hyperDrive.getBestProvider({
|
|
675
|
+
strategy: '<strategy>'
|
|
676
|
+
});
|
|
677
|
+
if (isError) throw new Error(message);
|
|
678
|
+
console.log(result);
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
Example response:
|
|
682
|
+
|
|
683
|
+
```json
|
|
684
|
+
{
|
|
685
|
+
"isError": false,
|
|
686
|
+
"message": "",
|
|
687
|
+
"result": { }
|
|
688
|
+
}
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
---
|
|
692
|
+
|
|
693
|
+
### `getConfiguration`
|
|
694
|
+
|
|
695
|
+
Gets the current HyperDrive configuration
|
|
696
|
+
|
|
697
|
+
**GET** `api/hyperDrive/config`
|
|
698
|
+
|
|
699
|
+
**Request**
|
|
700
|
+
|
|
701
|
+
No request body.
|
|
702
|
+
|
|
703
|
+
**Response**
|
|
704
|
+
|
|
705
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
706
|
+
|
|
707
|
+
`result` type: `OASISHyperDriveConfig`
|
|
708
|
+
|
|
709
|
+
| Field | Type |
|
|
710
|
+
| --- | --- |
|
|
711
|
+
| `IsEnabled` | `bool` |
|
|
712
|
+
| `DefaultStrategy` | `string` |
|
|
713
|
+
| `AutoFailoverEnabled` | `bool` |
|
|
714
|
+
| `AutoReplicationEnabled` | `bool` |
|
|
715
|
+
| `AutoLoadBalancingEnabled` | `bool` |
|
|
716
|
+
| `MaxRetryAttempts` | `int` |
|
|
717
|
+
| `RequestTimeoutMs` | `int` |
|
|
718
|
+
| `HealthCheckIntervalMs` | `int` |
|
|
719
|
+
| `MaxConcurrentRequests` | `int` |
|
|
720
|
+
| `PerformanceWeight` | `double` |
|
|
721
|
+
| `CostWeight` | `double` |
|
|
722
|
+
| `GeographicWeight` | `double` |
|
|
723
|
+
| `AvailabilityWeight` | `double` |
|
|
724
|
+
| `LatencyWeight` | `double` |
|
|
725
|
+
| `ThroughputWeight` | `double` |
|
|
726
|
+
| `ReliabilityWeight` | `double` |
|
|
727
|
+
| `MaxLatencyThresholdMs` | `int` |
|
|
728
|
+
| `MaxErrorRateThreshold` | `double` |
|
|
729
|
+
| `MinUptimeThreshold` | `double` |
|
|
730
|
+
| `EnabledProviders` | `List<string>` |
|
|
731
|
+
| `AutoFailoverProviders` | `List<string>` |
|
|
732
|
+
| `AutoReplicationProviders` | `List<string>` |
|
|
733
|
+
| `LoadBalancingProviders` | `List<string>` |
|
|
734
|
+
| `ProviderConfigs` | `Dictionary<string, ProviderConfig>` |
|
|
735
|
+
| `GeographicConfig` | `GeographicConfig` |
|
|
736
|
+
| `CostConfig` | `CostConfig` |
|
|
737
|
+
| `PerformanceConfig` | `PerformanceConfig` |
|
|
738
|
+
| `SecurityConfig` | `SecurityConfig` |
|
|
739
|
+
| `MonitoringConfig` | `MonitoringConfig` |
|
|
740
|
+
|
|
741
|
+
**Example**
|
|
742
|
+
|
|
743
|
+
```js
|
|
744
|
+
const { isError, message, result } = await oasis.hyperDrive.getConfiguration({});
|
|
745
|
+
if (isError) throw new Error(message);
|
|
746
|
+
console.log(result);
|
|
747
|
+
```
|
|
748
|
+
|
|
749
|
+
Example response:
|
|
750
|
+
|
|
751
|
+
```json
|
|
752
|
+
{
|
|
753
|
+
"isError": false,
|
|
754
|
+
"message": "",
|
|
755
|
+
"result": { "IsEnabled": true, "DefaultStrategy": "example string", "AutoFailoverEnabled": true, "AutoReplicationEnabled": true, "AutoLoadBalancingEnabled": true, "MaxRetryAttempts": 1, "RequestTimeoutMs": 1, "HealthCheckIntervalMs": 1, "MaxConcurrentRequests": 1, "PerformanceWeight": 1.0, "CostWeight": 1.0, "GeographicWeight": 1.0, "AvailabilityWeight": 1.0, "LatencyWeight": 1.0, "ThroughputWeight": 1.0, "ReliabilityWeight": 1.0, "MaxLatencyThresholdMs": 1, "MaxErrorRateThreshold": 1.0, "MinUptimeThreshold": 1.0, "EnabledProviders": ["example string"], "AutoFailoverProviders": ["example string"], "AutoReplicationProviders": ["example string"], "LoadBalancingProviders": ["example string"], "ProviderConfigs": { "<string>": { "ProviderType": "example string", "IsEnabled": true, "Weight": 1, "TimeoutMs": 1, "MaxConnections": 1, "ErrorThreshold": 1.0, "MinUptime": 1.0, "MaxLatencyMs": 1, "Endpoint": "example string", "ApiKey": "example string", "SecretKey": "example string", "CustomSettings": { "<string>": "example string" } } }, "GeographicConfig": { "IsEnabled": true, "DefaultRegion": "example string", "UserLocation": "example string", "MaxDistanceKm": 1.0, "MaxNetworkHops": 1, "MaxLatencyMs": 1, "Regions": { "<string>": { "Name": "example string", "Country": "example string", "City": "example string", "Latitude": 1.0, "Longitude": 1.0, "TimeZone": "example string", "MaxLatencyMs": 1.0, "MaxNetworkHops": 1 } } }, "CostConfig": { "IsEnabled": true, "Currency": "example string", "MaxCostPerOperation": 1.0, "MaxStorageCostPerGB": 1.0, "MaxComputeCostPerHour": 1.0, "MaxNetworkCostPerGB": 1.0, "ProviderCosts": { "<string>": { "ProviderType": "example string", "StorageCostPerGB": 1.0, "ComputeCostPerHour": 1.0, "NetworkCostPerGB": 1.0, "TransactionCost": 1.0, "ApiCallCost": 1.0, "TotalCost": 1.0, "Currency": "example string", "LastUpdated": "2026-01-01T00:00:00Z", "CostEfficiencyScore": 1 } } }, "PerformanceConfig": { "IsEnabled": true, "MaxResponseTimeMs": 1, "MaxErrorRate": 1.0, "MinUptime": 1.0, "MinThroughputMbps": 1, "MaxConcurrentConnections": 1, "QueueDepthThreshold": 1, "MaxCpuUsage": 1.0, "MaxMemoryUsage": 1.0 }, "SecurityConfig": { "IsEnabled": true, "RequireEncryption": true, "RequireAuthentication": true, "RequireAuthorization": true, "MaxRetryAttempts": 1, "SessionTimeoutMs": 1, "MaxConcurrentSessions": 1, "AllowedIPs": ["example string"], "BlockedIPs": ["example string"], "SecurityHeaders": { "<string>": "example string" } }, "MonitoringConfig": { "IsEnabled": true, "MetricsCollectionIntervalMs": 1, "MaxMetricsHistory": 1, "AlertThreshold": 1, "EnableRealTimeMonitoring": true, "EnablePerformanceProfiling": true, "EnableCostTracking": true, "EnableGeographicTracking": true, "MonitoringEndpoints": ["example string"], "CustomMetrics": { "<string>": "example string" } } }
|
|
756
|
+
}
|
|
757
|
+
```
|
|
758
|
+
|
|
759
|
+
---
|
|
760
|
+
|
|
761
|
+
### `getConnectionCounts`
|
|
762
|
+
|
|
763
|
+
Gets active connection counts for all providers
|
|
764
|
+
|
|
765
|
+
**GET** `api/hyperDrive/connections`
|
|
766
|
+
|
|
767
|
+
**Request**
|
|
768
|
+
|
|
769
|
+
No request body.
|
|
770
|
+
|
|
771
|
+
**Response**
|
|
772
|
+
|
|
773
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
774
|
+
|
|
775
|
+
`result` type: `Dictionary<ProviderType, int>` - a key/value map keyed by `ProviderType`, each value a `int`.
|
|
776
|
+
|
|
777
|
+
**Example**
|
|
778
|
+
|
|
779
|
+
```js
|
|
780
|
+
const { isError, message, result } = await oasis.hyperDrive.getConnectionCounts({});
|
|
781
|
+
if (isError) throw new Error(message);
|
|
782
|
+
console.log(result);
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
Example response:
|
|
786
|
+
|
|
787
|
+
```json
|
|
788
|
+
{
|
|
789
|
+
"isError": false,
|
|
790
|
+
"message": "",
|
|
791
|
+
"result": { "<ProviderType>": 1 }
|
|
792
|
+
}
|
|
793
|
+
```
|
|
794
|
+
|
|
795
|
+
---
|
|
796
|
+
|
|
797
|
+
### `getCostHistory`
|
|
798
|
+
|
|
799
|
+
**GET** `api/hyperDrive/costs/history`
|
|
800
|
+
|
|
801
|
+
**Request**
|
|
802
|
+
|
|
803
|
+
Query parameters:
|
|
804
|
+
|
|
805
|
+
| Field | Type |
|
|
806
|
+
| --- | --- |
|
|
807
|
+
| `timeRange` | `string (optional)` |
|
|
808
|
+
|
|
809
|
+
**Response**
|
|
810
|
+
|
|
811
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
812
|
+
|
|
813
|
+
`result` type: `Dictionary<string, List<decimal>>` - a key/value map keyed by `string`, each value a `List<decimal>`.
|
|
814
|
+
|
|
815
|
+
**Example**
|
|
816
|
+
|
|
817
|
+
```js
|
|
818
|
+
const { isError, message, result } = await oasis.hyperDrive.getCostHistory({
|
|
819
|
+
timeRange: 'example string'
|
|
820
|
+
});
|
|
821
|
+
if (isError) throw new Error(message);
|
|
822
|
+
console.log(result);
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
Example response:
|
|
826
|
+
|
|
827
|
+
```json
|
|
828
|
+
{
|
|
829
|
+
"isError": false,
|
|
830
|
+
"message": "",
|
|
831
|
+
"result": { "<string>": [1.0] }
|
|
832
|
+
}
|
|
833
|
+
```
|
|
834
|
+
|
|
835
|
+
---
|
|
836
|
+
|
|
837
|
+
### `getCostOptimizationRecommendations`
|
|
838
|
+
|
|
839
|
+
Gets cost optimization recommendations
|
|
840
|
+
|
|
841
|
+
**GET** `api/hyperDrive/analytics/cost-optimization`
|
|
842
|
+
|
|
843
|
+
**Request**
|
|
844
|
+
|
|
845
|
+
No request body.
|
|
846
|
+
|
|
847
|
+
**Response**
|
|
848
|
+
|
|
849
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
850
|
+
|
|
851
|
+
`result` type: `CostOptimizationRecommendation` (array)
|
|
852
|
+
|
|
853
|
+
| Field | Type |
|
|
854
|
+
| --- | --- |
|
|
855
|
+
| `ProviderType` | `ProviderType` |
|
|
856
|
+
| `CurrentCost` | `double` |
|
|
857
|
+
| `CostTrend` | `double` |
|
|
858
|
+
| `PotentialSavings` | `double` |
|
|
859
|
+
| `RecommendedActions` | `List<string>` |
|
|
860
|
+
| `Priority` | `Priority` |
|
|
861
|
+
|
|
862
|
+
**Example**
|
|
863
|
+
|
|
864
|
+
```js
|
|
865
|
+
const { isError, message, result } = await oasis.hyperDrive.getCostOptimizationRecommendations({});
|
|
866
|
+
if (isError) throw new Error(message);
|
|
867
|
+
console.log(result);
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
Example response:
|
|
871
|
+
|
|
872
|
+
```json
|
|
873
|
+
{
|
|
874
|
+
"isError": false,
|
|
875
|
+
"message": "",
|
|
876
|
+
"result": [{ "ProviderType": { }, "CurrentCost": 1.0, "CostTrend": 1.0, "PotentialSavings": 1.0, "RecommendedActions": ["example string"], "Priority": { } }]
|
|
877
|
+
}
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
---
|
|
881
|
+
|
|
882
|
+
### `getCostOptimizationRule`
|
|
883
|
+
|
|
884
|
+
**GET** `api/hyperDrive/replication/cost-optimization`
|
|
885
|
+
|
|
886
|
+
**Request**
|
|
887
|
+
|
|
888
|
+
No request body.
|
|
889
|
+
|
|
890
|
+
**Response**
|
|
891
|
+
|
|
892
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
893
|
+
|
|
894
|
+
`result` type: `CostOptimizationRuleConfig`
|
|
895
|
+
|
|
896
|
+
| Field | Type |
|
|
897
|
+
| --- | --- |
|
|
898
|
+
| `IsEnabled` | `bool` |
|
|
899
|
+
| `MaxCostPerReplication` | `decimal` |
|
|
900
|
+
| `MaxCostPerMonth` | `decimal` |
|
|
901
|
+
| `PreferredFreeProviders` | `List<string>` |
|
|
902
|
+
| `AvoidHighGasProviders` | `bool` |
|
|
903
|
+
| `GasFeeThreshold` | `decimal` |
|
|
904
|
+
| `CostAlertThreshold` | `decimal` |
|
|
905
|
+
|
|
906
|
+
**Example**
|
|
907
|
+
|
|
908
|
+
```js
|
|
909
|
+
const { isError, message, result } = await oasis.hyperDrive.getCostOptimizationRule({});
|
|
910
|
+
if (isError) throw new Error(message);
|
|
911
|
+
console.log(result);
|
|
912
|
+
```
|
|
913
|
+
|
|
914
|
+
Example response:
|
|
915
|
+
|
|
916
|
+
```json
|
|
917
|
+
{
|
|
918
|
+
"isError": false,
|
|
919
|
+
"message": "",
|
|
920
|
+
"result": { "IsEnabled": true, "MaxCostPerReplication": 1.0, "MaxCostPerMonth": 1.0, "PreferredFreeProviders": ["example string"], "AvoidHighGasProviders": true, "GasFeeThreshold": 1.0, "CostAlertThreshold": 1.0 }
|
|
921
|
+
}
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
---
|
|
925
|
+
|
|
926
|
+
### `getCostProjections`
|
|
927
|
+
|
|
928
|
+
**GET** `api/hyperDrive/costs/projections`
|
|
929
|
+
|
|
930
|
+
**Request**
|
|
931
|
+
|
|
932
|
+
No request body.
|
|
933
|
+
|
|
934
|
+
**Response**
|
|
935
|
+
|
|
936
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
937
|
+
|
|
938
|
+
`result` type: `Dictionary<string, decimal>` - a key/value map keyed by `string`, each value a `decimal`.
|
|
939
|
+
|
|
940
|
+
**Example**
|
|
941
|
+
|
|
942
|
+
```js
|
|
943
|
+
const { isError, message, result } = await oasis.hyperDrive.getCostProjections({});
|
|
944
|
+
if (isError) throw new Error(message);
|
|
945
|
+
console.log(result);
|
|
946
|
+
```
|
|
947
|
+
|
|
948
|
+
Example response:
|
|
949
|
+
|
|
950
|
+
```json
|
|
951
|
+
{
|
|
952
|
+
"isError": false,
|
|
953
|
+
"message": "",
|
|
954
|
+
"result": { "<string>": 1.0 }
|
|
955
|
+
}
|
|
956
|
+
```
|
|
957
|
+
|
|
958
|
+
---
|
|
959
|
+
|
|
960
|
+
### `getCurrentCosts`
|
|
961
|
+
|
|
962
|
+
**GET** `api/hyperDrive/costs/current`
|
|
963
|
+
|
|
964
|
+
**Request**
|
|
965
|
+
|
|
966
|
+
No request body.
|
|
967
|
+
|
|
968
|
+
**Response**
|
|
969
|
+
|
|
970
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
971
|
+
|
|
972
|
+
`result` type: `Dictionary<string, decimal>` - a key/value map keyed by `string`, each value a `decimal`.
|
|
973
|
+
|
|
974
|
+
**Example**
|
|
975
|
+
|
|
976
|
+
```js
|
|
977
|
+
const { isError, message, result } = await oasis.hyperDrive.getCurrentCosts({});
|
|
978
|
+
if (isError) throw new Error(message);
|
|
979
|
+
console.log(result);
|
|
980
|
+
```
|
|
981
|
+
|
|
982
|
+
Example response:
|
|
983
|
+
|
|
984
|
+
```json
|
|
985
|
+
{
|
|
986
|
+
"isError": false,
|
|
987
|
+
"message": "",
|
|
988
|
+
"result": { "<string>": 1.0 }
|
|
989
|
+
}
|
|
990
|
+
```
|
|
991
|
+
|
|
992
|
+
---
|
|
993
|
+
|
|
994
|
+
### `getCurrentUsage`
|
|
995
|
+
|
|
996
|
+
Gets current usage statistics
|
|
997
|
+
|
|
998
|
+
**GET** `api/hyperDrive/quota/usage`
|
|
999
|
+
|
|
1000
|
+
**Request**
|
|
1001
|
+
|
|
1002
|
+
No request body.
|
|
1003
|
+
|
|
1004
|
+
**Response**
|
|
1005
|
+
|
|
1006
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1007
|
+
|
|
1008
|
+
`result` type: `Dictionary<string, int>` - a key/value map keyed by `string`, each value a `int`.
|
|
1009
|
+
|
|
1010
|
+
**Example**
|
|
1011
|
+
|
|
1012
|
+
```js
|
|
1013
|
+
const { isError, message, result } = await oasis.hyperDrive.getCurrentUsage({});
|
|
1014
|
+
if (isError) throw new Error(message);
|
|
1015
|
+
console.log(result);
|
|
1016
|
+
```
|
|
1017
|
+
|
|
1018
|
+
Example response:
|
|
1019
|
+
|
|
1020
|
+
```json
|
|
1021
|
+
{
|
|
1022
|
+
"isError": false,
|
|
1023
|
+
"message": "",
|
|
1024
|
+
"result": { "<string>": 1 }
|
|
1025
|
+
}
|
|
1026
|
+
```
|
|
1027
|
+
|
|
1028
|
+
---
|
|
1029
|
+
|
|
1030
|
+
### `getDashboardData`
|
|
1031
|
+
|
|
1032
|
+
Gets real-time dashboard data
|
|
1033
|
+
|
|
1034
|
+
**GET** `api/hyperDrive/dashboard`
|
|
1035
|
+
|
|
1036
|
+
**Request**
|
|
1037
|
+
|
|
1038
|
+
No request body.
|
|
1039
|
+
|
|
1040
|
+
**Response**
|
|
1041
|
+
|
|
1042
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1043
|
+
|
|
1044
|
+
`result` type: `DashboardData`
|
|
1045
|
+
|
|
1046
|
+
| Field | Type |
|
|
1047
|
+
| --- | --- |
|
|
1048
|
+
| `Timestamp` | `DateTime` |
|
|
1049
|
+
| `ActiveProviders` | `int` |
|
|
1050
|
+
| `TotalRequests` | `int` |
|
|
1051
|
+
| `SystemHealth` | `double` |
|
|
1052
|
+
| `PerformanceMetrics` | `PerformanceMetrics` |
|
|
1053
|
+
| `CostMetrics` | `CostMetrics` |
|
|
1054
|
+
| `GeographicMetrics` | `GeographicMetrics` |
|
|
1055
|
+
| `Alerts` | `List<Alert>` |
|
|
1056
|
+
| `Trends` | `List<Trend>` |
|
|
1057
|
+
|
|
1058
|
+
**Example**
|
|
1059
|
+
|
|
1060
|
+
```js
|
|
1061
|
+
const { isError, message, result } = await oasis.hyperDrive.getDashboardData({});
|
|
1062
|
+
if (isError) throw new Error(message);
|
|
1063
|
+
console.log(result);
|
|
1064
|
+
```
|
|
1065
|
+
|
|
1066
|
+
Example response:
|
|
1067
|
+
|
|
1068
|
+
```json
|
|
1069
|
+
{
|
|
1070
|
+
"isError": false,
|
|
1071
|
+
"message": "",
|
|
1072
|
+
"result": { "Timestamp": "2026-01-01T00:00:00Z", "ActiveProviders": 1, "TotalRequests": 1, "SystemHealth": 1.0, "PerformanceMetrics": { "TotalRequests": 1, "SuccessfulRequests": 1, "AverageResponseTime": 1.0, "Throughput": 1.0 }, "CostMetrics": { "TotalCost": 1.0, "AverageCost": 1.0, "CostPerRequest": 1.0 }, "GeographicMetrics": { "TotalRegions": 1, "TopRegion": "example string", "GeographicDistribution": { "<string>": 1 } }, "Alerts": [{ "ProviderType": { }, "Type": { }, "Severity": { }, "Message": "example string", "Timestamp": "2026-01-01T00:00:00Z" }], "Trends": [{ "ProviderType": {}, "PerformanceTrend": 1.0, "CostTrend": 1.0, "ReliabilityTrend": 1.0 }] }
|
|
1073
|
+
}
|
|
1074
|
+
```
|
|
1075
|
+
|
|
1076
|
+
---
|
|
1077
|
+
|
|
1078
|
+
### `getDataPermissions`
|
|
1079
|
+
|
|
1080
|
+
Gets data permissions configuration
|
|
1081
|
+
|
|
1082
|
+
**GET** `api/hyperDrive/data-permissions`
|
|
1083
|
+
|
|
1084
|
+
**Request**
|
|
1085
|
+
|
|
1086
|
+
No request body.
|
|
1087
|
+
|
|
1088
|
+
**Response**
|
|
1089
|
+
|
|
1090
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1091
|
+
|
|
1092
|
+
`result` type: `DataPermissionsConfig`
|
|
1093
|
+
|
|
1094
|
+
| Field | Type |
|
|
1095
|
+
| --- | --- |
|
|
1096
|
+
| `AvatarPermissions` | `AvatarPermissionsConfig` |
|
|
1097
|
+
| `HolonPermissions` | `HolonPermissionsConfig` |
|
|
1098
|
+
| `ProviderPermissions` | `ProviderPermissionsConfig` |
|
|
1099
|
+
| `FieldLevelPermissions` | `FieldLevelPermissionsConfig` |
|
|
1100
|
+
| `AccessControl` | `AccessControlConfig` |
|
|
1101
|
+
|
|
1102
|
+
**Example**
|
|
1103
|
+
|
|
1104
|
+
```js
|
|
1105
|
+
const { isError, message, result } = await oasis.hyperDrive.getDataPermissions({});
|
|
1106
|
+
if (isError) throw new Error(message);
|
|
1107
|
+
console.log(result);
|
|
1108
|
+
```
|
|
1109
|
+
|
|
1110
|
+
Example response:
|
|
1111
|
+
|
|
1112
|
+
```json
|
|
1113
|
+
{
|
|
1114
|
+
"isError": false,
|
|
1115
|
+
"message": "",
|
|
1116
|
+
"result": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }
|
|
1117
|
+
}
|
|
1118
|
+
```
|
|
1119
|
+
|
|
1120
|
+
---
|
|
1121
|
+
|
|
1122
|
+
### `getDataTypeReplicationRules`
|
|
1123
|
+
|
|
1124
|
+
**GET** `api/hyperDrive/replication/data-type-rules`
|
|
1125
|
+
|
|
1126
|
+
**Request**
|
|
1127
|
+
|
|
1128
|
+
No request body.
|
|
1129
|
+
|
|
1130
|
+
**Response**
|
|
1131
|
+
|
|
1132
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1133
|
+
|
|
1134
|
+
`result` type: `DataTypeReplicationRuleConfig` (array)
|
|
1135
|
+
|
|
1136
|
+
| Field | Type |
|
|
1137
|
+
| --- | --- |
|
|
1138
|
+
| `DataType` | `string` |
|
|
1139
|
+
| `IsEnabled` | `bool` |
|
|
1140
|
+
| `RequiredProviders` | `List<string>` |
|
|
1141
|
+
| `OptionalProviders` | `List<string>` |
|
|
1142
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
1143
|
+
| `CostLimit` | `decimal` |
|
|
1144
|
+
| `Schedule` | `ScheduleConfig` |
|
|
1145
|
+
|
|
1146
|
+
**Example**
|
|
1147
|
+
|
|
1148
|
+
```js
|
|
1149
|
+
const { isError, message, result } = await oasis.hyperDrive.getDataTypeReplicationRules({});
|
|
1150
|
+
if (isError) throw new Error(message);
|
|
1151
|
+
console.log(result);
|
|
1152
|
+
```
|
|
1153
|
+
|
|
1154
|
+
Example response:
|
|
1155
|
+
|
|
1156
|
+
```json
|
|
1157
|
+
{
|
|
1158
|
+
"isError": false,
|
|
1159
|
+
"message": "",
|
|
1160
|
+
"result": [{ "DataType": "example string", "IsEnabled": true, "RequiredProviders": ["example string"], "OptionalProviders": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} }]
|
|
1161
|
+
}
|
|
1162
|
+
```
|
|
1163
|
+
|
|
1164
|
+
---
|
|
1165
|
+
|
|
1166
|
+
### `getEscalationRules`
|
|
1167
|
+
|
|
1168
|
+
**GET** `api/hyperDrive/failover/escalation-rules`
|
|
1169
|
+
|
|
1170
|
+
**Request**
|
|
1171
|
+
|
|
1172
|
+
No request body.
|
|
1173
|
+
|
|
1174
|
+
**Response**
|
|
1175
|
+
|
|
1176
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1177
|
+
|
|
1178
|
+
`result` type: `EscalationRuleConfig` (array)
|
|
1179
|
+
|
|
1180
|
+
| Field | Type |
|
|
1181
|
+
| --- | --- |
|
|
1182
|
+
| `Name` | `string` |
|
|
1183
|
+
| `Level` | `string` |
|
|
1184
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
1185
|
+
| `Action` | `FailoverActionConfig` |
|
|
1186
|
+
| `Notification` | `NotificationRuleConfig` |
|
|
1187
|
+
|
|
1188
|
+
**Example**
|
|
1189
|
+
|
|
1190
|
+
```js
|
|
1191
|
+
const { isError, message, result } = await oasis.hyperDrive.getEscalationRules({});
|
|
1192
|
+
if (isError) throw new Error(message);
|
|
1193
|
+
console.log(result);
|
|
1194
|
+
```
|
|
1195
|
+
|
|
1196
|
+
Example response:
|
|
1197
|
+
|
|
1198
|
+
```json
|
|
1199
|
+
{
|
|
1200
|
+
"isError": false,
|
|
1201
|
+
"message": "",
|
|
1202
|
+
"result": [{ "Name": "example string", "Level": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }, "Notification": { "Channels": ["example string"], "Message": "example string", "Priority": "example string", "IsEnabled": true } }]
|
|
1203
|
+
}
|
|
1204
|
+
```
|
|
1205
|
+
|
|
1206
|
+
---
|
|
1207
|
+
|
|
1208
|
+
### `getFailoverRules`
|
|
1209
|
+
|
|
1210
|
+
Gets failover rules configuration
|
|
1211
|
+
|
|
1212
|
+
**GET** `api/hyperDrive/failover/rules`
|
|
1213
|
+
|
|
1214
|
+
**Request**
|
|
1215
|
+
|
|
1216
|
+
No request body.
|
|
1217
|
+
|
|
1218
|
+
**Response**
|
|
1219
|
+
|
|
1220
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1221
|
+
|
|
1222
|
+
`result` type: `FailoverRulesConfig`
|
|
1223
|
+
|
|
1224
|
+
| Field | Type |
|
|
1225
|
+
| --- | --- |
|
|
1226
|
+
| `Mode` | `string` |
|
|
1227
|
+
| `IsEnabled` | `bool` |
|
|
1228
|
+
| `MaxFailoversPerMonth` | `int` |
|
|
1229
|
+
| `CostThreshold` | `decimal` |
|
|
1230
|
+
| `FreeProvidersOnly` | `bool` |
|
|
1231
|
+
| `GasFeeThreshold` | `decimal` |
|
|
1232
|
+
| `FailoverTriggers` | `List<FailoverTriggerConfig>` |
|
|
1233
|
+
| `ProviderRules` | `List<ProviderFailoverRuleConfig>` |
|
|
1234
|
+
| `IntelligentSelection` | `IntelligentSelectionRuleConfig` |
|
|
1235
|
+
| `EscalationRules` | `List<EscalationRuleConfig>` |
|
|
1236
|
+
|
|
1237
|
+
**Example**
|
|
1238
|
+
|
|
1239
|
+
```js
|
|
1240
|
+
const { isError, message, result } = await oasis.hyperDrive.getFailoverRules({});
|
|
1241
|
+
if (isError) throw new Error(message);
|
|
1242
|
+
console.log(result);
|
|
1243
|
+
```
|
|
1244
|
+
|
|
1245
|
+
Example response:
|
|
1246
|
+
|
|
1247
|
+
```json
|
|
1248
|
+
{
|
|
1249
|
+
"isError": false,
|
|
1250
|
+
"message": "",
|
|
1251
|
+
"result": { "Mode": "example string", "IsEnabled": true, "MaxFailoversPerMonth": 1, "CostThreshold": 1.0, "FreeProvidersOnly": true, "GasFeeThreshold": 1.0, "FailoverTriggers": [{ "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } } }], "ProviderRules": [{ "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "Conditions": [], "FallbackProviders": ["example string"] }], "IntelligentSelection": { "IsEnabled": true, "Algorithm": "example string", "Weights": { "Cost": 1.0, "Performance": 1.0, "Reliability": 1.0, "Security": 1.0, "Geographic": 1.0, "Availability": 1.0 }, "LearningEnabled": true, "AdaptationSpeed": "example string", "OptimizationGoals": [{ "Type": "example string", "Weight": 1.0, "Target": 1.0, "IsEnabled": true }] }, "EscalationRules": [{ "Name": "example string", "Level": "example string", "Condition": {}, "Action": {}, "Notification": { "Channels": ["example string"], "Message": "example string", "Priority": "example string", "IsEnabled": true } }] }
|
|
1252
|
+
}
|
|
1253
|
+
```
|
|
1254
|
+
|
|
1255
|
+
---
|
|
1256
|
+
|
|
1257
|
+
### `getFailurePredictions`
|
|
1258
|
+
|
|
1259
|
+
Gets failure predictions
|
|
1260
|
+
|
|
1261
|
+
**GET** `api/hyperDrive/failover/predictions`
|
|
1262
|
+
|
|
1263
|
+
**Request**
|
|
1264
|
+
|
|
1265
|
+
No request body.
|
|
1266
|
+
|
|
1267
|
+
**Response**
|
|
1268
|
+
|
|
1269
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1270
|
+
|
|
1271
|
+
`result` type: `FailoverPrediction`
|
|
1272
|
+
|
|
1273
|
+
| Field | Type |
|
|
1274
|
+
| --- | --- |
|
|
1275
|
+
| `Timestamp` | `DateTime` |
|
|
1276
|
+
| `Predictions` | `List<ProviderFailurePrediction>` |
|
|
1277
|
+
| `RecommendedActions` | `List<string>` |
|
|
1278
|
+
| `RiskLevel` | `RiskLevel` |
|
|
1279
|
+
|
|
1280
|
+
**Example**
|
|
1281
|
+
|
|
1282
|
+
```js
|
|
1283
|
+
const { isError, message, result } = await oasis.hyperDrive.getFailurePredictions({});
|
|
1284
|
+
if (isError) throw new Error(message);
|
|
1285
|
+
console.log(result);
|
|
1286
|
+
```
|
|
1287
|
+
|
|
1288
|
+
Example response:
|
|
1289
|
+
|
|
1290
|
+
```json
|
|
1291
|
+
{
|
|
1292
|
+
"isError": false,
|
|
1293
|
+
"message": "",
|
|
1294
|
+
"result": { "Timestamp": "2026-01-01T00:00:00Z", "Predictions": [{ "ProviderType": { }, "RiskLevel": { }, "FailureProbability": 1.0, "PredictedFailureTime": "2026-01-01T00:00:00Z", "Confidence": 1.0, "RiskFactors": ["example string"], "RecommendedActions": ["example string"] }], "RecommendedActions": ["example string"], "RiskLevel": {} }
|
|
1295
|
+
}
|
|
1296
|
+
```
|
|
1297
|
+
|
|
1298
|
+
---
|
|
1299
|
+
|
|
1300
|
+
### `getFreeProviders`
|
|
1301
|
+
|
|
1302
|
+
Gets free providers list
|
|
1303
|
+
|
|
1304
|
+
**GET** `api/hyperDrive/providers/free`
|
|
1305
|
+
|
|
1306
|
+
**Request**
|
|
1307
|
+
|
|
1308
|
+
No request body.
|
|
1309
|
+
|
|
1310
|
+
**Response**
|
|
1311
|
+
|
|
1312
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1313
|
+
|
|
1314
|
+
`result` type: `string` (array)
|
|
1315
|
+
|
|
1316
|
+
**Example**
|
|
1317
|
+
|
|
1318
|
+
```js
|
|
1319
|
+
const { isError, message, result } = await oasis.hyperDrive.getFreeProviders({});
|
|
1320
|
+
if (isError) throw new Error(message);
|
|
1321
|
+
console.log(result);
|
|
1322
|
+
```
|
|
1323
|
+
|
|
1324
|
+
Example response:
|
|
1325
|
+
|
|
1326
|
+
```json
|
|
1327
|
+
{
|
|
1328
|
+
"isError": false,
|
|
1329
|
+
"message": "",
|
|
1330
|
+
"result": ["example string"]
|
|
1331
|
+
}
|
|
1332
|
+
```
|
|
1333
|
+
|
|
1334
|
+
---
|
|
1335
|
+
|
|
1336
|
+
### `getHyperDriveMode`
|
|
1337
|
+
|
|
1338
|
+
Gets/sets HyperDrive mode (Legacy | OASISHyperDrive2)
|
|
1339
|
+
|
|
1340
|
+
**GET** `api/hyperDrive/mode`
|
|
1341
|
+
|
|
1342
|
+
**Request**
|
|
1343
|
+
|
|
1344
|
+
No request body.
|
|
1345
|
+
|
|
1346
|
+
**Response**
|
|
1347
|
+
|
|
1348
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1349
|
+
|
|
1350
|
+
`result` type: `string`
|
|
1351
|
+
|
|
1352
|
+
**Example**
|
|
1353
|
+
|
|
1354
|
+
```js
|
|
1355
|
+
const { isError, message, result } = await oasis.hyperDrive.getHyperDriveMode({});
|
|
1356
|
+
if (isError) throw new Error(message);
|
|
1357
|
+
console.log(result);
|
|
1358
|
+
```
|
|
1359
|
+
|
|
1360
|
+
Example response:
|
|
1361
|
+
|
|
1362
|
+
```json
|
|
1363
|
+
{
|
|
1364
|
+
"isError": false,
|
|
1365
|
+
"message": "",
|
|
1366
|
+
"result": "example string"
|
|
1367
|
+
}
|
|
1368
|
+
```
|
|
1369
|
+
|
|
1370
|
+
---
|
|
1371
|
+
|
|
1372
|
+
### `getIntelligentMode`
|
|
1373
|
+
|
|
1374
|
+
Gets intelligent mode configuration
|
|
1375
|
+
|
|
1376
|
+
**GET** `api/hyperDrive/intelligent-mode`
|
|
1377
|
+
|
|
1378
|
+
**Request**
|
|
1379
|
+
|
|
1380
|
+
No request body.
|
|
1381
|
+
|
|
1382
|
+
**Response**
|
|
1383
|
+
|
|
1384
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1385
|
+
|
|
1386
|
+
`result` type: `IntelligentModeConfig`
|
|
1387
|
+
|
|
1388
|
+
| Field | Type |
|
|
1389
|
+
| --- | --- |
|
|
1390
|
+
| `IsEnabled` | `bool` |
|
|
1391
|
+
| `AutoOptimization` | `bool` |
|
|
1392
|
+
| `CostAwareness` | `bool` |
|
|
1393
|
+
| `PerformanceOptimization` | `bool` |
|
|
1394
|
+
| `SecurityOptimization` | `bool` |
|
|
1395
|
+
| `LearningEnabled` | `bool` |
|
|
1396
|
+
| `AdaptationSpeed` | `string` |
|
|
1397
|
+
| `OptimizationGoals` | `List<OptimizationGoalConfig>` |
|
|
1398
|
+
|
|
1399
|
+
**Example**
|
|
1400
|
+
|
|
1401
|
+
```js
|
|
1402
|
+
const { isError, message, result } = await oasis.hyperDrive.getIntelligentMode({});
|
|
1403
|
+
if (isError) throw new Error(message);
|
|
1404
|
+
console.log(result);
|
|
1405
|
+
```
|
|
1406
|
+
|
|
1407
|
+
Example response:
|
|
1408
|
+
|
|
1409
|
+
```json
|
|
1410
|
+
{
|
|
1411
|
+
"isError": false,
|
|
1412
|
+
"message": "",
|
|
1413
|
+
"result": { "IsEnabled": true, "AutoOptimization": true, "CostAwareness": true, "PerformanceOptimization": true, "SecurityOptimization": true, "LearningEnabled": true, "AdaptationSpeed": "example string", "OptimizationGoals": [{ "Type": "example string", "Weight": 1.0, "Target": 1.0, "IsEnabled": true }] }
|
|
1414
|
+
}
|
|
1415
|
+
```
|
|
1416
|
+
|
|
1417
|
+
---
|
|
1418
|
+
|
|
1419
|
+
### `getLowCostProviders`
|
|
1420
|
+
|
|
1421
|
+
Gets low-cost providers list
|
|
1422
|
+
|
|
1423
|
+
**GET** `api/hyperDrive/providers/low-cost`
|
|
1424
|
+
|
|
1425
|
+
**Request**
|
|
1426
|
+
|
|
1427
|
+
No request body.
|
|
1428
|
+
|
|
1429
|
+
**Response**
|
|
1430
|
+
|
|
1431
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1432
|
+
|
|
1433
|
+
`result` type: `string` (array)
|
|
1434
|
+
|
|
1435
|
+
**Example**
|
|
1436
|
+
|
|
1437
|
+
```js
|
|
1438
|
+
const { isError, message, result } = await oasis.hyperDrive.getLowCostProviders({});
|
|
1439
|
+
if (isError) throw new Error(message);
|
|
1440
|
+
console.log(result);
|
|
1441
|
+
```
|
|
1442
|
+
|
|
1443
|
+
Example response:
|
|
1444
|
+
|
|
1445
|
+
```json
|
|
1446
|
+
{
|
|
1447
|
+
"isError": false,
|
|
1448
|
+
"message": "",
|
|
1449
|
+
"result": ["example string"]
|
|
1450
|
+
}
|
|
1451
|
+
```
|
|
1452
|
+
|
|
1453
|
+
---
|
|
1454
|
+
|
|
1455
|
+
### `getMetrics`
|
|
1456
|
+
|
|
1457
|
+
Gets performance metrics for all providers
|
|
1458
|
+
|
|
1459
|
+
**GET** `api/hyperDrive/metrics`
|
|
1460
|
+
|
|
1461
|
+
**Request**
|
|
1462
|
+
|
|
1463
|
+
No request body.
|
|
1464
|
+
|
|
1465
|
+
**Response**
|
|
1466
|
+
|
|
1467
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1468
|
+
|
|
1469
|
+
`result` type: `Dictionary<ProviderType, ProviderPerformanceMetrics>` - a key/value map keyed by `ProviderType`, each value a `ProviderPerformanceMetrics`.
|
|
1470
|
+
|
|
1471
|
+
**Example**
|
|
1472
|
+
|
|
1473
|
+
```js
|
|
1474
|
+
const { isError, message, result } = await oasis.hyperDrive.getMetrics({});
|
|
1475
|
+
if (isError) throw new Error(message);
|
|
1476
|
+
console.log(result);
|
|
1477
|
+
```
|
|
1478
|
+
|
|
1479
|
+
Example response:
|
|
1480
|
+
|
|
1481
|
+
```json
|
|
1482
|
+
{
|
|
1483
|
+
"isError": false,
|
|
1484
|
+
"message": "",
|
|
1485
|
+
"result": { "<ProviderType>": { "ProviderType": { }, "ResponseTimeMs": 1.0, "ThroughputMbps": 1.0, "ErrorRate": 1.0, "UptimePercentage": 1.0, "ActiveConnections": 1, "CostPerOperation": 1.0, "GeographicRegion": "example string", "LastUpdated": "2026-01-01T00:00:00Z", "TotalRequests": 1, "SuccessfulRequests": 1, "FailedRequests": 1, "AverageLatency": 1.0, "PeakLatency": 1.0, "MinLatency": 1.0, "CpuUsage": 1.0, "MemoryUsage": 1.0, "NetworkLatency": 1.0, "BandwidthUtilization": 1.0, "QueueDepth": 1.0, "ProcessingTime": 1.0, "AvailabilityScore": 1.0, "PerformanceScore": 1.0, "CostScore": 1.0, "GeographicScore": 1.0, "OverallScore": 1.0, "AverageResponseTime": 1.0, "TotalResponseTime": 1.0, "LastActivity": "2026-01-01T00:00:00Z" } }
|
|
1486
|
+
}
|
|
1487
|
+
```
|
|
1488
|
+
|
|
1489
|
+
---
|
|
1490
|
+
|
|
1491
|
+
### `getPerformanceOptimizationRecommendations`
|
|
1492
|
+
|
|
1493
|
+
Gets performance optimization recommendations
|
|
1494
|
+
|
|
1495
|
+
**GET** `api/hyperDrive/analytics/performance-optimization`
|
|
1496
|
+
|
|
1497
|
+
**Request**
|
|
1498
|
+
|
|
1499
|
+
No request body.
|
|
1500
|
+
|
|
1501
|
+
**Response**
|
|
1502
|
+
|
|
1503
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1504
|
+
|
|
1505
|
+
`result` type: `PerformanceOptimizationRecommendation` (array)
|
|
1506
|
+
|
|
1507
|
+
| Field | Type |
|
|
1508
|
+
| --- | --- |
|
|
1509
|
+
| `ProviderType` | `ProviderType` |
|
|
1510
|
+
| `CurrentPerformance` | `double` |
|
|
1511
|
+
| `PerformanceTrend` | `double` |
|
|
1512
|
+
| `ErrorRate` | `double` |
|
|
1513
|
+
| `RecommendedActions` | `List<string>` |
|
|
1514
|
+
| `Priority` | `Priority` |
|
|
1515
|
+
|
|
1516
|
+
**Example**
|
|
1517
|
+
|
|
1518
|
+
```js
|
|
1519
|
+
const { isError, message, result } = await oasis.hyperDrive.getPerformanceOptimizationRecommendations({});
|
|
1520
|
+
if (isError) throw new Error(message);
|
|
1521
|
+
console.log(result);
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1524
|
+
Example response:
|
|
1525
|
+
|
|
1526
|
+
```json
|
|
1527
|
+
{
|
|
1528
|
+
"isError": false,
|
|
1529
|
+
"message": "",
|
|
1530
|
+
"result": [{ "ProviderType": { }, "CurrentPerformance": 1.0, "PerformanceTrend": 1.0, "ErrorRate": 1.0, "RecommendedActions": ["example string"], "Priority": { } }]
|
|
1531
|
+
}
|
|
1532
|
+
```
|
|
1533
|
+
|
|
1534
|
+
---
|
|
1535
|
+
|
|
1536
|
+
### `getPredictiveAnalytics`
|
|
1537
|
+
|
|
1538
|
+
Gets predictive analytics
|
|
1539
|
+
|
|
1540
|
+
**GET** `api/hyperDrive/analytics/predictive/{providerType}`
|
|
1541
|
+
|
|
1542
|
+
Route parameters:
|
|
1543
|
+
|
|
1544
|
+
| Field | Type |
|
|
1545
|
+
| --- | --- |
|
|
1546
|
+
| `providerType` | `ProviderType` |
|
|
1547
|
+
|
|
1548
|
+
**Request**
|
|
1549
|
+
|
|
1550
|
+
Query parameters:
|
|
1551
|
+
|
|
1552
|
+
| Field | Type |
|
|
1553
|
+
| --- | --- |
|
|
1554
|
+
| `forecastDays` | `int (optional)` |
|
|
1555
|
+
|
|
1556
|
+
**Response**
|
|
1557
|
+
|
|
1558
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1559
|
+
|
|
1560
|
+
`result` type: `PredictiveAnalytics`
|
|
1561
|
+
|
|
1562
|
+
| Field | Type |
|
|
1563
|
+
| --- | --- |
|
|
1564
|
+
| `ProviderType` | `ProviderType` |
|
|
1565
|
+
| `ForecastDays` | `int` |
|
|
1566
|
+
| `Confidence` | `double` |
|
|
1567
|
+
| `Message` | `string` |
|
|
1568
|
+
| `PredictedPerformance` | `double` |
|
|
1569
|
+
| `PredictedCost` | `double` |
|
|
1570
|
+
| `PredictedReliability` | `double` |
|
|
1571
|
+
| `RiskFactors` | `List<string>` |
|
|
1572
|
+
| `Recommendations` | `List<string>` |
|
|
1573
|
+
|
|
1574
|
+
**Example**
|
|
1575
|
+
|
|
1576
|
+
```js
|
|
1577
|
+
const { isError, message, result } = await oasis.hyperDrive.getPredictiveAnalytics({
|
|
1578
|
+
providerType: '<providerType>',
|
|
1579
|
+
forecastDays: 1
|
|
1580
|
+
});
|
|
1581
|
+
if (isError) throw new Error(message);
|
|
1582
|
+
console.log(result);
|
|
1583
|
+
```
|
|
1584
|
+
|
|
1585
|
+
Example response:
|
|
1586
|
+
|
|
1587
|
+
```json
|
|
1588
|
+
{
|
|
1589
|
+
"isError": false,
|
|
1590
|
+
"message": "",
|
|
1591
|
+
"result": { "ProviderType": { }, "ForecastDays": 1, "Confidence": 1.0, "Message": "example string", "PredictedPerformance": 1.0, "PredictedCost": 1.0, "PredictedReliability": 1.0, "RiskFactors": ["example string"], "Recommendations": ["example string"] }
|
|
1592
|
+
}
|
|
1593
|
+
```
|
|
1594
|
+
|
|
1595
|
+
---
|
|
1596
|
+
|
|
1597
|
+
### `getProviderFailoverRules`
|
|
1598
|
+
|
|
1599
|
+
**GET** `api/hyperDrive/failover/provider-rules`
|
|
1600
|
+
|
|
1601
|
+
**Request**
|
|
1602
|
+
|
|
1603
|
+
No request body.
|
|
1604
|
+
|
|
1605
|
+
**Response**
|
|
1606
|
+
|
|
1607
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1608
|
+
|
|
1609
|
+
`result` type: `ProviderFailoverRuleConfig` (array)
|
|
1610
|
+
|
|
1611
|
+
| Field | Type |
|
|
1612
|
+
| --- | --- |
|
|
1613
|
+
| `ProviderType` | `string` |
|
|
1614
|
+
| `IsEnabled` | `bool` |
|
|
1615
|
+
| `Priority` | `int` |
|
|
1616
|
+
| `CostLimit` | `decimal` |
|
|
1617
|
+
| `GasFeeLimit` | `decimal` |
|
|
1618
|
+
| `Conditions` | `List<FailoverConditionConfig>` |
|
|
1619
|
+
| `FallbackProviders` | `List<string>` |
|
|
1620
|
+
|
|
1621
|
+
**Example**
|
|
1622
|
+
|
|
1623
|
+
```js
|
|
1624
|
+
const { isError, message, result } = await oasis.hyperDrive.getProviderFailoverRules({});
|
|
1625
|
+
if (isError) throw new Error(message);
|
|
1626
|
+
console.log(result);
|
|
1627
|
+
```
|
|
1628
|
+
|
|
1629
|
+
Example response:
|
|
1630
|
+
|
|
1631
|
+
```json
|
|
1632
|
+
{
|
|
1633
|
+
"isError": false,
|
|
1634
|
+
"message": "",
|
|
1635
|
+
"result": [{ "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "Conditions": [{ "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }], "FallbackProviders": ["example string"] }]
|
|
1636
|
+
}
|
|
1637
|
+
```
|
|
1638
|
+
|
|
1639
|
+
---
|
|
1640
|
+
|
|
1641
|
+
### `getProviderMetrics`
|
|
1642
|
+
|
|
1643
|
+
Gets performance metrics for a specific provider
|
|
1644
|
+
|
|
1645
|
+
**GET** `api/hyperDrive/metrics/{providerType}`
|
|
1646
|
+
|
|
1647
|
+
Route parameters:
|
|
1648
|
+
|
|
1649
|
+
| Field | Type |
|
|
1650
|
+
| --- | --- |
|
|
1651
|
+
| `providerType` | `ProviderType` |
|
|
1652
|
+
|
|
1653
|
+
**Request**
|
|
1654
|
+
|
|
1655
|
+
No request body.
|
|
1656
|
+
|
|
1657
|
+
**Response**
|
|
1658
|
+
|
|
1659
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1660
|
+
|
|
1661
|
+
`result` type: `ProviderPerformanceMetrics`
|
|
1662
|
+
|
|
1663
|
+
| Field | Type |
|
|
1664
|
+
| --- | --- |
|
|
1665
|
+
| `ProviderType` | `ProviderType` |
|
|
1666
|
+
| `ResponseTimeMs` | `double` |
|
|
1667
|
+
| `ThroughputMbps` | `double` |
|
|
1668
|
+
| `ErrorRate` | `double` |
|
|
1669
|
+
| `UptimePercentage` | `double` |
|
|
1670
|
+
| `ActiveConnections` | `int` |
|
|
1671
|
+
| `CostPerOperation` | `double` |
|
|
1672
|
+
| `GeographicRegion` | `string` |
|
|
1673
|
+
| `LastUpdated` | `DateTime` |
|
|
1674
|
+
| `TotalRequests` | `int` |
|
|
1675
|
+
| `SuccessfulRequests` | `int` |
|
|
1676
|
+
| `FailedRequests` | `int` |
|
|
1677
|
+
| `AverageLatency` | `double` |
|
|
1678
|
+
| `PeakLatency` | `double` |
|
|
1679
|
+
| `MinLatency` | `double` |
|
|
1680
|
+
| `CpuUsage` | `double` |
|
|
1681
|
+
| `MemoryUsage` | `double` |
|
|
1682
|
+
| `NetworkLatency` | `double` |
|
|
1683
|
+
| `BandwidthUtilization` | `double` |
|
|
1684
|
+
| `QueueDepth` | `double` |
|
|
1685
|
+
| `ProcessingTime` | `double` |
|
|
1686
|
+
| `AvailabilityScore` | `double` |
|
|
1687
|
+
| `PerformanceScore` | `double` |
|
|
1688
|
+
| `CostScore` | `double` |
|
|
1689
|
+
| `GeographicScore` | `double` |
|
|
1690
|
+
| `OverallScore` | `double` |
|
|
1691
|
+
| `AverageResponseTime` | `double` |
|
|
1692
|
+
| `TotalResponseTime` | `double` |
|
|
1693
|
+
| `LastActivity` | `DateTime` |
|
|
1694
|
+
|
|
1695
|
+
**Example**
|
|
1696
|
+
|
|
1697
|
+
```js
|
|
1698
|
+
const { isError, message, result } = await oasis.hyperDrive.getProviderMetrics({
|
|
1699
|
+
providerType: '<providerType>'
|
|
1700
|
+
});
|
|
1701
|
+
if (isError) throw new Error(message);
|
|
1702
|
+
console.log(result);
|
|
1703
|
+
```
|
|
1704
|
+
|
|
1705
|
+
Example response:
|
|
1706
|
+
|
|
1707
|
+
```json
|
|
1708
|
+
{
|
|
1709
|
+
"isError": false,
|
|
1710
|
+
"message": "",
|
|
1711
|
+
"result": { "ProviderType": { }, "ResponseTimeMs": 1.0, "ThroughputMbps": 1.0, "ErrorRate": 1.0, "UptimePercentage": 1.0, "ActiveConnections": 1, "CostPerOperation": 1.0, "GeographicRegion": "example string", "LastUpdated": "2026-01-01T00:00:00Z", "TotalRequests": 1, "SuccessfulRequests": 1, "FailedRequests": 1, "AverageLatency": 1.0, "PeakLatency": 1.0, "MinLatency": 1.0, "CpuUsage": 1.0, "MemoryUsage": 1.0, "NetworkLatency": 1.0, "BandwidthUtilization": 1.0, "QueueDepth": 1.0, "ProcessingTime": 1.0, "AvailabilityScore": 1.0, "PerformanceScore": 1.0, "CostScore": 1.0, "GeographicScore": 1.0, "OverallScore": 1.0, "AverageResponseTime": 1.0, "TotalResponseTime": 1.0, "LastActivity": "2026-01-01T00:00:00Z" }
|
|
1712
|
+
}
|
|
1713
|
+
```
|
|
1714
|
+
|
|
1715
|
+
---
|
|
1716
|
+
|
|
1717
|
+
### `getProviderReplicationRules`
|
|
1718
|
+
|
|
1719
|
+
**GET** `api/hyperDrive/replication/provider-rules`
|
|
1720
|
+
|
|
1721
|
+
**Request**
|
|
1722
|
+
|
|
1723
|
+
No request body.
|
|
1724
|
+
|
|
1725
|
+
**Response**
|
|
1726
|
+
|
|
1727
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1728
|
+
|
|
1729
|
+
`result` type: `ProviderReplicationRuleConfig` (array)
|
|
1730
|
+
|
|
1731
|
+
| Field | Type |
|
|
1732
|
+
| --- | --- |
|
|
1733
|
+
| `ProviderType` | `string` |
|
|
1734
|
+
| `IsEnabled` | `bool` |
|
|
1735
|
+
| `Priority` | `int` |
|
|
1736
|
+
| `CostLimit` | `decimal` |
|
|
1737
|
+
| `GasFeeLimit` | `decimal` |
|
|
1738
|
+
| `DataTypes` | `List<string>` |
|
|
1739
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
1740
|
+
| `Conditions` | `List<ReplicationConditionConfig>` |
|
|
1741
|
+
| `Schedule` | `ScheduleConfig` |
|
|
1742
|
+
|
|
1743
|
+
**Example**
|
|
1744
|
+
|
|
1745
|
+
```js
|
|
1746
|
+
const { isError, message, result } = await oasis.hyperDrive.getProviderReplicationRules({});
|
|
1747
|
+
if (isError) throw new Error(message);
|
|
1748
|
+
console.log(result);
|
|
1749
|
+
```
|
|
1750
|
+
|
|
1751
|
+
Example response:
|
|
1752
|
+
|
|
1753
|
+
```json
|
|
1754
|
+
{
|
|
1755
|
+
"isError": false,
|
|
1756
|
+
"message": "",
|
|
1757
|
+
"result": [{ "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "Conditions": [{ "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": {} }], "Schedule": {} }]
|
|
1758
|
+
}
|
|
1759
|
+
```
|
|
1760
|
+
|
|
1761
|
+
---
|
|
1762
|
+
|
|
1763
|
+
### `getQuotaLimits`
|
|
1764
|
+
|
|
1765
|
+
Gets quota limits for current subscription
|
|
1766
|
+
|
|
1767
|
+
**GET** `api/hyperDrive/quota/limits`
|
|
1768
|
+
|
|
1769
|
+
**Request**
|
|
1770
|
+
|
|
1771
|
+
No request body.
|
|
1772
|
+
|
|
1773
|
+
**Response**
|
|
1774
|
+
|
|
1775
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1776
|
+
|
|
1777
|
+
`result` type: `Dictionary<string, int>` - a key/value map keyed by `string`, each value a `int`.
|
|
1778
|
+
|
|
1779
|
+
**Example**
|
|
1780
|
+
|
|
1781
|
+
```js
|
|
1782
|
+
const { isError, message, result } = await oasis.hyperDrive.getQuotaLimits({});
|
|
1783
|
+
if (isError) throw new Error(message);
|
|
1784
|
+
console.log(result);
|
|
1785
|
+
```
|
|
1786
|
+
|
|
1787
|
+
Example response:
|
|
1788
|
+
|
|
1789
|
+
```json
|
|
1790
|
+
{
|
|
1791
|
+
"isError": false,
|
|
1792
|
+
"message": "",
|
|
1793
|
+
"result": { "<string>": 1 }
|
|
1794
|
+
}
|
|
1795
|
+
```
|
|
1796
|
+
|
|
1797
|
+
---
|
|
1798
|
+
|
|
1799
|
+
### `getQuotaNotifications`
|
|
1800
|
+
|
|
1801
|
+
**GET** `api/hyperDrive/subscription/quota-notifications`
|
|
1802
|
+
|
|
1803
|
+
**Request**
|
|
1804
|
+
|
|
1805
|
+
No request body.
|
|
1806
|
+
|
|
1807
|
+
**Response**
|
|
1808
|
+
|
|
1809
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1810
|
+
|
|
1811
|
+
`result` type: `QuotaNotificationConfig` (array)
|
|
1812
|
+
|
|
1813
|
+
| Field | Type |
|
|
1814
|
+
| --- | --- |
|
|
1815
|
+
| `Id` | `string` |
|
|
1816
|
+
| `Name` | `string` |
|
|
1817
|
+
| `QuotaType` | `string` |
|
|
1818
|
+
| `Threshold` | `decimal` |
|
|
1819
|
+
| `NotificationChannels` | `List<string>` |
|
|
1820
|
+
| `Actions` | `List<QuotaActionConfig>` |
|
|
1821
|
+
| `IsEnabled` | `bool` |
|
|
1822
|
+
|
|
1823
|
+
**Example**
|
|
1824
|
+
|
|
1825
|
+
```js
|
|
1826
|
+
const { isError, message, result } = await oasis.hyperDrive.getQuotaNotifications({});
|
|
1827
|
+
if (isError) throw new Error(message);
|
|
1828
|
+
console.log(result);
|
|
1829
|
+
```
|
|
1830
|
+
|
|
1831
|
+
Example response:
|
|
1832
|
+
|
|
1833
|
+
```json
|
|
1834
|
+
{
|
|
1835
|
+
"isError": false,
|
|
1836
|
+
"message": "",
|
|
1837
|
+
"result": [{ "Id": "example string", "Name": "example string", "QuotaType": "example string", "Threshold": 1.0, "NotificationChannels": ["example string"], "Actions": [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }], "IsEnabled": true }]
|
|
1838
|
+
}
|
|
1839
|
+
```
|
|
1840
|
+
|
|
1841
|
+
---
|
|
1842
|
+
|
|
1843
|
+
### `getReplicationRules`
|
|
1844
|
+
|
|
1845
|
+
Gets replication rules configuration
|
|
1846
|
+
|
|
1847
|
+
**GET** `api/hyperDrive/replication/rules`
|
|
1848
|
+
|
|
1849
|
+
**Request**
|
|
1850
|
+
|
|
1851
|
+
No request body.
|
|
1852
|
+
|
|
1853
|
+
**Response**
|
|
1854
|
+
|
|
1855
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1856
|
+
|
|
1857
|
+
`result` type: `ReplicationRulesConfig`
|
|
1858
|
+
|
|
1859
|
+
| Field | Type |
|
|
1860
|
+
| --- | --- |
|
|
1861
|
+
| `Mode` | `string` |
|
|
1862
|
+
| `IsEnabled` | `bool` |
|
|
1863
|
+
| `MaxReplicationsPerMonth` | `int` |
|
|
1864
|
+
| `CostThreshold` | `decimal` |
|
|
1865
|
+
| `FreeProvidersOnly` | `bool` |
|
|
1866
|
+
| `GasFeeThreshold` | `decimal` |
|
|
1867
|
+
| `ReplicationTriggers` | `List<ReplicationTriggerConfig>` |
|
|
1868
|
+
| `ProviderRules` | `List<ProviderReplicationRuleConfig>` |
|
|
1869
|
+
| `DataTypeRules` | `List<DataTypeReplicationRuleConfig>` |
|
|
1870
|
+
| `ScheduleRules` | `List<ScheduleRuleConfig>` |
|
|
1871
|
+
| `CostOptimization` | `CostOptimizationRuleConfig` |
|
|
1872
|
+
| `IntelligentSelection` | `IntelligentSelectionRuleConfig` |
|
|
1873
|
+
|
|
1874
|
+
**Example**
|
|
1875
|
+
|
|
1876
|
+
```js
|
|
1877
|
+
const { isError, message, result } = await oasis.hyperDrive.getReplicationRules({});
|
|
1878
|
+
if (isError) throw new Error(message);
|
|
1879
|
+
console.log(result);
|
|
1880
|
+
```
|
|
1881
|
+
|
|
1882
|
+
Example response:
|
|
1883
|
+
|
|
1884
|
+
```json
|
|
1885
|
+
{
|
|
1886
|
+
"isError": false,
|
|
1887
|
+
"message": "",
|
|
1888
|
+
"result": { "Mode": "example string", "IsEnabled": true, "MaxReplicationsPerMonth": 1, "CostThreshold": 1.0, "FreeProvidersOnly": true, "GasFeeThreshold": 1.0, "ReplicationTriggers": [{ "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProviders": ["example string"], "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": {}, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} } }], "ProviderRules": [{ "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "DataTypes": ["example string"], "Permissions": {}, "Conditions": [], "Schedule": {} }], "DataTypeRules": [{ "DataType": "example string", "IsEnabled": true, "RequiredProviders": ["example string"], "OptionalProviders": ["example string"], "Permissions": {}, "CostLimit": 1.0, "Schedule": {} }], "ScheduleRules": [{ "Name": "example string", "IsEnabled": true, "Schedule": {}, "DataTypes": ["example string"], "Providers": ["example string"], "Permissions": {} }], "CostOptimization": { "IsEnabled": true, "MaxCostPerReplication": 1.0, "MaxCostPerMonth": 1.0, "PreferredFreeProviders": ["example string"], "AvoidHighGasProviders": true, "GasFeeThreshold": 1.0, "CostAlertThreshold": 1.0 }, "IntelligentSelection": { "IsEnabled": true, "Algorithm": "example string", "Weights": { "Cost": 1.0, "Performance": 1.0, "Reliability": 1.0, "Security": 1.0, "Geographic": 1.0, "Availability": 1.0 }, "LearningEnabled": true, "AdaptationSpeed": "example string", "OptimizationGoals": [{ "Type": "example string", "Weight": 1.0, "Target": 1.0, "IsEnabled": true }] } }
|
|
1889
|
+
}
|
|
1890
|
+
```
|
|
1891
|
+
|
|
1892
|
+
---
|
|
1893
|
+
|
|
1894
|
+
### `getScheduleRules`
|
|
1895
|
+
|
|
1896
|
+
**GET** `api/hyperDrive/replication/schedule-rules`
|
|
1897
|
+
|
|
1898
|
+
**Request**
|
|
1899
|
+
|
|
1900
|
+
No request body.
|
|
1901
|
+
|
|
1902
|
+
**Response**
|
|
1903
|
+
|
|
1904
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1905
|
+
|
|
1906
|
+
`result` type: `ScheduleRuleConfig` (array)
|
|
1907
|
+
|
|
1908
|
+
| Field | Type |
|
|
1909
|
+
| --- | --- |
|
|
1910
|
+
| `Name` | `string` |
|
|
1911
|
+
| `IsEnabled` | `bool` |
|
|
1912
|
+
| `Schedule` | `ScheduleConfig` |
|
|
1913
|
+
| `DataTypes` | `List<string>` |
|
|
1914
|
+
| `Providers` | `List<string>` |
|
|
1915
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
1916
|
+
|
|
1917
|
+
**Example**
|
|
1918
|
+
|
|
1919
|
+
```js
|
|
1920
|
+
const { isError, message, result } = await oasis.hyperDrive.getScheduleRules({});
|
|
1921
|
+
if (isError) throw new Error(message);
|
|
1922
|
+
console.log(result);
|
|
1923
|
+
```
|
|
1924
|
+
|
|
1925
|
+
Example response:
|
|
1926
|
+
|
|
1927
|
+
```json
|
|
1928
|
+
{
|
|
1929
|
+
"isError": false,
|
|
1930
|
+
"message": "",
|
|
1931
|
+
"result": [{ "Name": "example string", "IsEnabled": true, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] }, "DataTypes": ["example string"], "Providers": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": {} }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } } }]
|
|
1932
|
+
}
|
|
1933
|
+
```
|
|
1934
|
+
|
|
1935
|
+
---
|
|
1936
|
+
|
|
1937
|
+
### `getSecurityRecommendations`
|
|
1938
|
+
|
|
1939
|
+
**GET** `api/hyperDrive/recommendations/security`
|
|
1940
|
+
|
|
1941
|
+
**Request**
|
|
1942
|
+
|
|
1943
|
+
No request body.
|
|
1944
|
+
|
|
1945
|
+
**Response**
|
|
1946
|
+
|
|
1947
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1948
|
+
|
|
1949
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
1950
|
+
|
|
1951
|
+
**Example**
|
|
1952
|
+
|
|
1953
|
+
```js
|
|
1954
|
+
const { isError, message, result } = await oasis.hyperDrive.getSecurityRecommendations({});
|
|
1955
|
+
if (isError) throw new Error(message);
|
|
1956
|
+
console.log(result);
|
|
1957
|
+
```
|
|
1958
|
+
|
|
1959
|
+
Example response:
|
|
1960
|
+
|
|
1961
|
+
```json
|
|
1962
|
+
{
|
|
1963
|
+
"isError": false,
|
|
1964
|
+
"message": "",
|
|
1965
|
+
"result": { "<string>": {} }
|
|
1966
|
+
}
|
|
1967
|
+
```
|
|
1968
|
+
|
|
1969
|
+
---
|
|
1970
|
+
|
|
1971
|
+
### `getSmartRecommendations`
|
|
1972
|
+
|
|
1973
|
+
**GET** `api/hyperDrive/recommendations/smart`
|
|
1974
|
+
|
|
1975
|
+
**Request**
|
|
1976
|
+
|
|
1977
|
+
No request body.
|
|
1978
|
+
|
|
1979
|
+
**Response**
|
|
1980
|
+
|
|
1981
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
1982
|
+
|
|
1983
|
+
`result` type: `Dictionary<string, object>` - a key/value map keyed by `string`, each value a `object`.
|
|
1984
|
+
|
|
1985
|
+
**Example**
|
|
1986
|
+
|
|
1987
|
+
```js
|
|
1988
|
+
const { isError, message, result } = await oasis.hyperDrive.getSmartRecommendations({});
|
|
1989
|
+
if (isError) throw new Error(message);
|
|
1990
|
+
console.log(result);
|
|
1991
|
+
```
|
|
1992
|
+
|
|
1993
|
+
Example response:
|
|
1994
|
+
|
|
1995
|
+
```json
|
|
1996
|
+
{
|
|
1997
|
+
"isError": false,
|
|
1998
|
+
"message": "",
|
|
1999
|
+
"result": { "<string>": {} }
|
|
2000
|
+
}
|
|
2001
|
+
```
|
|
2002
|
+
|
|
2003
|
+
---
|
|
2004
|
+
|
|
2005
|
+
### `getStatus`
|
|
2006
|
+
|
|
2007
|
+
Gets HyperDrive status and health
|
|
2008
|
+
|
|
2009
|
+
**GET** `api/hyperDrive/status`
|
|
2010
|
+
|
|
2011
|
+
**Request**
|
|
2012
|
+
|
|
2013
|
+
No request body.
|
|
2014
|
+
|
|
2015
|
+
**Response**
|
|
2016
|
+
|
|
2017
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2018
|
+
|
|
2019
|
+
`result` type: `HyperDriveStatus`
|
|
2020
|
+
|
|
2021
|
+
| Field | Type |
|
|
2022
|
+
| --- | --- |
|
|
2023
|
+
| `IsEnabled` | `bool` |
|
|
2024
|
+
| `AutoFailoverEnabled` | `bool` |
|
|
2025
|
+
| `AutoReplicationEnabled` | `bool` |
|
|
2026
|
+
| `AutoLoadBalancingEnabled` | `bool` |
|
|
2027
|
+
| `DefaultStrategy` | `LoadBalancingStrategy` |
|
|
2028
|
+
| `EnabledProviders` | `List<ProviderType>` |
|
|
2029
|
+
| `LoadBalancingProviders` | `List<ProviderType>` |
|
|
2030
|
+
| `TotalProviders` | `int` |
|
|
2031
|
+
| `ActiveProviders` | `int` |
|
|
2032
|
+
| `LastHealthCheck` | `DateTime` |
|
|
2033
|
+
|
|
2034
|
+
**Example**
|
|
2035
|
+
|
|
2036
|
+
```js
|
|
2037
|
+
const { isError, message, result } = await oasis.hyperDrive.getStatus({});
|
|
2038
|
+
if (isError) throw new Error(message);
|
|
2039
|
+
console.log(result);
|
|
2040
|
+
```
|
|
2041
|
+
|
|
2042
|
+
Example response:
|
|
2043
|
+
|
|
2044
|
+
```json
|
|
2045
|
+
{
|
|
2046
|
+
"isError": false,
|
|
2047
|
+
"message": "",
|
|
2048
|
+
"result": { "IsEnabled": true, "AutoFailoverEnabled": true, "AutoReplicationEnabled": true, "AutoLoadBalancingEnabled": true, "DefaultStrategy": { }, "EnabledProviders": [{ }], "LoadBalancingProviders": [], "TotalProviders": 1, "ActiveProviders": 1, "LastHealthCheck": "2026-01-01T00:00:00Z" }
|
|
2049
|
+
}
|
|
2050
|
+
```
|
|
2051
|
+
|
|
2052
|
+
---
|
|
2053
|
+
|
|
2054
|
+
### `getSubscriptionConfig`
|
|
2055
|
+
|
|
2056
|
+
Gets subscription configuration
|
|
2057
|
+
|
|
2058
|
+
**GET** `api/hyperDrive/subscription/config`
|
|
2059
|
+
|
|
2060
|
+
**Request**
|
|
2061
|
+
|
|
2062
|
+
No request body.
|
|
2063
|
+
|
|
2064
|
+
**Response**
|
|
2065
|
+
|
|
2066
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2067
|
+
|
|
2068
|
+
`result` type: `SubscriptionConfig`
|
|
2069
|
+
|
|
2070
|
+
| Field | Type |
|
|
2071
|
+
| --- | --- |
|
|
2072
|
+
| `PlanType` | `string` |
|
|
2073
|
+
| `MaxReplicationsPerMonth` | `int` |
|
|
2074
|
+
| `MaxFailoversPerMonth` | `int` |
|
|
2075
|
+
| `MaxRequestsPerMonth` | `int` |
|
|
2076
|
+
| `MaxStorageGB` | `int` |
|
|
2077
|
+
| `PayAsYouGoEnabled` | `bool` |
|
|
2078
|
+
| `CostPerReplication` | `decimal` |
|
|
2079
|
+
| `CostPerFailover` | `decimal` |
|
|
2080
|
+
| `CostPerGB` | `decimal` |
|
|
2081
|
+
| `Currency` | `string` |
|
|
2082
|
+
| `BillingCycle` | `string` |
|
|
2083
|
+
| `UsageAlerts` | `List<UsageAlertConfig>` |
|
|
2084
|
+
| `QuotaNotifications` | `List<QuotaNotificationConfig>` |
|
|
2085
|
+
|
|
2086
|
+
**Example**
|
|
2087
|
+
|
|
2088
|
+
```js
|
|
2089
|
+
const { isError, message, result } = await oasis.hyperDrive.getSubscriptionConfig({});
|
|
2090
|
+
if (isError) throw new Error(message);
|
|
2091
|
+
console.log(result);
|
|
2092
|
+
```
|
|
2093
|
+
|
|
2094
|
+
Example response:
|
|
2095
|
+
|
|
2096
|
+
```json
|
|
2097
|
+
{
|
|
2098
|
+
"isError": false,
|
|
2099
|
+
"message": "",
|
|
2100
|
+
"result": { "PlanType": "example string", "MaxReplicationsPerMonth": 1, "MaxFailoversPerMonth": 1, "MaxRequestsPerMonth": 1, "MaxStorageGB": 1, "PayAsYouGoEnabled": true, "CostPerReplication": 1.0, "CostPerFailover": 1.0, "CostPerGB": 1.0, "Currency": "example string", "BillingCycle": "example string", "UsageAlerts": [{ "Id": "example string", "Name": "example string", "Threshold": 1.0, "ThresholdType": "example string", "NotificationChannels": ["example string"], "IsEnabled": true }], "QuotaNotifications": [{ "Id": "example string", "Name": "example string", "QuotaType": "example string", "Threshold": 1.0, "NotificationChannels": ["example string"], "Actions": [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }], "IsEnabled": true }] }
|
|
2101
|
+
}
|
|
2102
|
+
```
|
|
2103
|
+
|
|
2104
|
+
---
|
|
2105
|
+
|
|
2106
|
+
### `getUsageAlerts`
|
|
2107
|
+
|
|
2108
|
+
**GET** `api/hyperDrive/subscription/usage-alerts`
|
|
2109
|
+
|
|
2110
|
+
**Request**
|
|
2111
|
+
|
|
2112
|
+
No request body.
|
|
2113
|
+
|
|
2114
|
+
**Response**
|
|
2115
|
+
|
|
2116
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2117
|
+
|
|
2118
|
+
`result` type: `UsageAlertConfig` (array)
|
|
2119
|
+
|
|
2120
|
+
| Field | Type |
|
|
2121
|
+
| --- | --- |
|
|
2122
|
+
| `Id` | `string` |
|
|
2123
|
+
| `Name` | `string` |
|
|
2124
|
+
| `Threshold` | `decimal` |
|
|
2125
|
+
| `ThresholdType` | `string` |
|
|
2126
|
+
| `NotificationChannels` | `List<string>` |
|
|
2127
|
+
| `IsEnabled` | `bool` |
|
|
2128
|
+
|
|
2129
|
+
**Example**
|
|
2130
|
+
|
|
2131
|
+
```js
|
|
2132
|
+
const { isError, message, result } = await oasis.hyperDrive.getUsageAlerts({});
|
|
2133
|
+
if (isError) throw new Error(message);
|
|
2134
|
+
console.log(result);
|
|
2135
|
+
```
|
|
2136
|
+
|
|
2137
|
+
Example response:
|
|
2138
|
+
|
|
2139
|
+
```json
|
|
2140
|
+
{
|
|
2141
|
+
"isError": false,
|
|
2142
|
+
"message": "",
|
|
2143
|
+
"result": [{ "Id": "example string", "Name": "example string", "Threshold": 1.0, "ThresholdType": "example string", "NotificationChannels": ["example string"], "IsEnabled": true }]
|
|
2144
|
+
}
|
|
2145
|
+
```
|
|
2146
|
+
|
|
2147
|
+
---
|
|
2148
|
+
|
|
2149
|
+
### `initiatePreventiveFailover`
|
|
2150
|
+
|
|
2151
|
+
Initiates preventive failover
|
|
2152
|
+
|
|
2153
|
+
**POST** `api/hyperDrive/failover/preventive`
|
|
2154
|
+
|
|
2155
|
+
**Request**
|
|
2156
|
+
|
|
2157
|
+
Body type: `ProviderType` (array)
|
|
2158
|
+
|
|
2159
|
+
_No fields._
|
|
2160
|
+
|
|
2161
|
+
**Response**
|
|
2162
|
+
|
|
2163
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2164
|
+
|
|
2165
|
+
`result` type: `bool`
|
|
2166
|
+
|
|
2167
|
+
**Example**
|
|
2168
|
+
|
|
2169
|
+
```js
|
|
2170
|
+
const { isError, message, result } = await oasis.hyperDrive.initiatePreventiveFailover({});
|
|
2171
|
+
if (isError) throw new Error(message);
|
|
2172
|
+
console.log(result);
|
|
2173
|
+
```
|
|
2174
|
+
|
|
2175
|
+
Example response:
|
|
2176
|
+
|
|
2177
|
+
```json
|
|
2178
|
+
{
|
|
2179
|
+
"isError": false,
|
|
2180
|
+
"message": "",
|
|
2181
|
+
"result": true
|
|
2182
|
+
}
|
|
2183
|
+
```
|
|
2184
|
+
|
|
2185
|
+
---
|
|
2186
|
+
|
|
2187
|
+
### `recordAnalyticsData`
|
|
2188
|
+
|
|
2189
|
+
Records analytics data
|
|
2190
|
+
|
|
2191
|
+
**POST** `api/hyperDrive/analytics/record`
|
|
2192
|
+
|
|
2193
|
+
**Request**
|
|
2194
|
+
|
|
2195
|
+
Body type: `AnalyticsDataPoint`
|
|
2196
|
+
|
|
2197
|
+
| Field | Type |
|
|
2198
|
+
| --- | --- |
|
|
2199
|
+
| `Timestamp` | `DateTime` |
|
|
2200
|
+
| `ProviderType` | `ProviderType` |
|
|
2201
|
+
| `Success` | `bool` |
|
|
2202
|
+
| `ResponseTimeMs` | `double` |
|
|
2203
|
+
| `ThroughputMbps` | `double` |
|
|
2204
|
+
| `Cost` | `double` |
|
|
2205
|
+
| `Region` | `string` |
|
|
2206
|
+
| `UserId` | `string` |
|
|
2207
|
+
| `Operation` | `string` |
|
|
2208
|
+
|
|
2209
|
+
**Response**
|
|
2210
|
+
|
|
2211
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2212
|
+
|
|
2213
|
+
`result` type: `bool`
|
|
2214
|
+
|
|
2215
|
+
**Example**
|
|
2216
|
+
|
|
2217
|
+
```js
|
|
2218
|
+
const { isError, message, result } = await oasis.hyperDrive.recordAnalyticsData({
|
|
2219
|
+
timestamp: "2026-01-01T00:00:00Z",
|
|
2220
|
+
providerType: { },
|
|
2221
|
+
success: true,
|
|
2222
|
+
responseTimeMs: 1.0,
|
|
2223
|
+
throughputMbps: 1.0,
|
|
2224
|
+
cost: 1.0,
|
|
2225
|
+
region: "example string",
|
|
2226
|
+
userId: "example string",
|
|
2227
|
+
operation: "example string"
|
|
2228
|
+
});
|
|
2229
|
+
if (isError) throw new Error(message);
|
|
2230
|
+
console.log(result);
|
|
2231
|
+
```
|
|
2232
|
+
|
|
2233
|
+
Example response:
|
|
2234
|
+
|
|
2235
|
+
```json
|
|
2236
|
+
{
|
|
2237
|
+
"isError": false,
|
|
2238
|
+
"message": "",
|
|
2239
|
+
"result": true
|
|
2240
|
+
}
|
|
2241
|
+
```
|
|
2242
|
+
|
|
2243
|
+
---
|
|
2244
|
+
|
|
2245
|
+
### `recordConnection`
|
|
2246
|
+
|
|
2247
|
+
Records connection activity
|
|
2248
|
+
|
|
2249
|
+
**POST** `api/hyperDrive/record-connection`
|
|
2250
|
+
|
|
2251
|
+
**Request**
|
|
2252
|
+
|
|
2253
|
+
Body type: `RecordConnectionModel`
|
|
2254
|
+
|
|
2255
|
+
| Field | Type |
|
|
2256
|
+
| --- | --- |
|
|
2257
|
+
| `ProviderType` | `ProviderType` |
|
|
2258
|
+
| `IsConnecting` | `bool` |
|
|
2259
|
+
|
|
2260
|
+
**Response**
|
|
2261
|
+
|
|
2262
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2263
|
+
|
|
2264
|
+
`result` type: `bool`
|
|
2265
|
+
|
|
2266
|
+
**Example**
|
|
2267
|
+
|
|
2268
|
+
```js
|
|
2269
|
+
const { isError, message, result } = await oasis.hyperDrive.recordConnection({
|
|
2270
|
+
providerType: { },
|
|
2271
|
+
isConnecting: true
|
|
2272
|
+
});
|
|
2273
|
+
if (isError) throw new Error(message);
|
|
2274
|
+
console.log(result);
|
|
2275
|
+
```
|
|
2276
|
+
|
|
2277
|
+
Example response:
|
|
2278
|
+
|
|
2279
|
+
```json
|
|
2280
|
+
{
|
|
2281
|
+
"isError": false,
|
|
2282
|
+
"message": "",
|
|
2283
|
+
"result": true
|
|
2284
|
+
}
|
|
2285
|
+
```
|
|
2286
|
+
|
|
2287
|
+
---
|
|
2288
|
+
|
|
2289
|
+
### `recordFailureEvent`
|
|
2290
|
+
|
|
2291
|
+
Records failure event
|
|
2292
|
+
|
|
2293
|
+
**POST** `api/hyperDrive/failover/record-failure`
|
|
2294
|
+
|
|
2295
|
+
**Request**
|
|
2296
|
+
|
|
2297
|
+
Body type: `FailureEvent`
|
|
2298
|
+
|
|
2299
|
+
| Field | Type |
|
|
2300
|
+
| --- | --- |
|
|
2301
|
+
| `Timestamp` | `DateTime` |
|
|
2302
|
+
| `ProviderType` | `ProviderType` |
|
|
2303
|
+
| `FailureType` | `FailureType` |
|
|
2304
|
+
| `Description` | `string` |
|
|
2305
|
+
| `Duration` | `double` |
|
|
2306
|
+
| `Cause` | `string` |
|
|
2307
|
+
| `Resolution` | `string` |
|
|
2308
|
+
|
|
2309
|
+
**Response**
|
|
2310
|
+
|
|
2311
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2312
|
+
|
|
2313
|
+
`result` type: `bool`
|
|
2314
|
+
|
|
2315
|
+
**Example**
|
|
2316
|
+
|
|
2317
|
+
```js
|
|
2318
|
+
const { isError, message, result } = await oasis.hyperDrive.recordFailureEvent({
|
|
2319
|
+
timestamp: "2026-01-01T00:00:00Z",
|
|
2320
|
+
providerType: { },
|
|
2321
|
+
failureType: { },
|
|
2322
|
+
description: "example string",
|
|
2323
|
+
duration: 1.0,
|
|
2324
|
+
cause: "example string",
|
|
2325
|
+
resolution: "example string"
|
|
2326
|
+
});
|
|
2327
|
+
if (isError) throw new Error(message);
|
|
2328
|
+
console.log(result);
|
|
2329
|
+
```
|
|
2330
|
+
|
|
2331
|
+
Example response:
|
|
2332
|
+
|
|
2333
|
+
```json
|
|
2334
|
+
{
|
|
2335
|
+
"isError": false,
|
|
2336
|
+
"message": "",
|
|
2337
|
+
"result": true
|
|
2338
|
+
}
|
|
2339
|
+
```
|
|
2340
|
+
|
|
2341
|
+
---
|
|
2342
|
+
|
|
2343
|
+
### `recordPerformanceData`
|
|
2344
|
+
|
|
2345
|
+
Records performance data for AI training
|
|
2346
|
+
|
|
2347
|
+
**POST** `api/hyperDrive/ai/record-performance`
|
|
2348
|
+
|
|
2349
|
+
**Request**
|
|
2350
|
+
|
|
2351
|
+
Body type: `PerformanceDataPoint`
|
|
2352
|
+
|
|
2353
|
+
| Field | Type |
|
|
2354
|
+
| --- | --- |
|
|
2355
|
+
| `Id` | `string` |
|
|
2356
|
+
| `ProviderType` | `ProviderType` |
|
|
2357
|
+
| `ProviderName` | `string` |
|
|
2358
|
+
| `Operation` | `string` |
|
|
2359
|
+
| `Timestamp` | `DateTime` |
|
|
2360
|
+
| `Duration` | `TimeSpan` |
|
|
2361
|
+
| `Success` | `bool` |
|
|
2362
|
+
| `ErrorMessage` | `string` |
|
|
2363
|
+
| `DataSize` | `long` |
|
|
2364
|
+
| `RetryCount` | `int` |
|
|
2365
|
+
| `Cost` | `decimal` |
|
|
2366
|
+
| `Metrics` | `Dictionary<string, object>` |
|
|
2367
|
+
| `Context` | `Dictionary<string, object>` |
|
|
2368
|
+
| `UserId` | `string` |
|
|
2369
|
+
| `SessionId` | `string` |
|
|
2370
|
+
| `RequestId` | `string` |
|
|
2371
|
+
| `AvatarId` | `string` |
|
|
2372
|
+
| `HolonId` | `string` |
|
|
2373
|
+
| `SourceIP` | `string` |
|
|
2374
|
+
| `UserAgent` | `string` |
|
|
2375
|
+
| `Location` | `GeographicLocation` |
|
|
2376
|
+
| `Tags` | `Dictionary<string, string>` |
|
|
2377
|
+
|
|
2378
|
+
**Response**
|
|
2379
|
+
|
|
2380
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2381
|
+
|
|
2382
|
+
`result` type: `bool`
|
|
2383
|
+
|
|
2384
|
+
**Example**
|
|
2385
|
+
|
|
2386
|
+
```js
|
|
2387
|
+
const { isError, message, result } = await oasis.hyperDrive.recordPerformanceData({
|
|
2388
|
+
id: "example string",
|
|
2389
|
+
providerType: { },
|
|
2390
|
+
providerName: "example string",
|
|
2391
|
+
operation: "example string",
|
|
2392
|
+
timestamp: "2026-01-01T00:00:00Z",
|
|
2393
|
+
duration: /* <TimeSpan> */,
|
|
2394
|
+
success: true,
|
|
2395
|
+
errorMessage: "example string",
|
|
2396
|
+
dataSize: 1,
|
|
2397
|
+
retryCount: 1,
|
|
2398
|
+
cost: 1.0,
|
|
2399
|
+
metrics: { "<string>": {} },
|
|
2400
|
+
context: { "<string>": {} },
|
|
2401
|
+
userId: "example string",
|
|
2402
|
+
sessionId: "example string",
|
|
2403
|
+
requestId: "example string",
|
|
2404
|
+
avatarId: "example string",
|
|
2405
|
+
holonId: "example string",
|
|
2406
|
+
sourceIP: "example string",
|
|
2407
|
+
userAgent: "example string",
|
|
2408
|
+
location: { "Latitude": 1.0, "Longitude": 1.0, "Country": "example string", "Region": "example string", "City": "example string" },
|
|
2409
|
+
tags: { "<string>": "example string" }
|
|
2410
|
+
});
|
|
2411
|
+
if (isError) throw new Error(message);
|
|
2412
|
+
console.log(result);
|
|
2413
|
+
```
|
|
2414
|
+
|
|
2415
|
+
Example response:
|
|
2416
|
+
|
|
2417
|
+
```json
|
|
2418
|
+
{
|
|
2419
|
+
"isError": false,
|
|
2420
|
+
"message": "",
|
|
2421
|
+
"result": true
|
|
2422
|
+
}
|
|
2423
|
+
```
|
|
2424
|
+
|
|
2425
|
+
---
|
|
2426
|
+
|
|
2427
|
+
### `recordRequest`
|
|
2428
|
+
|
|
2429
|
+
Records a request for performance tracking
|
|
2430
|
+
|
|
2431
|
+
**POST** `api/hyperDrive/record-request`
|
|
2432
|
+
|
|
2433
|
+
**Request**
|
|
2434
|
+
|
|
2435
|
+
Body type: `RecordRequestModel`
|
|
2436
|
+
|
|
2437
|
+
| Field | Type |
|
|
2438
|
+
| --- | --- |
|
|
2439
|
+
| `ProviderType` | `ProviderType` |
|
|
2440
|
+
| `Success` | `bool` |
|
|
2441
|
+
| `ResponseTimeMs` | `double` |
|
|
2442
|
+
| `Cost` | `double` |
|
|
2443
|
+
|
|
2444
|
+
**Response**
|
|
2445
|
+
|
|
2446
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2447
|
+
|
|
2448
|
+
`result` type: `bool`
|
|
2449
|
+
|
|
2450
|
+
**Example**
|
|
2451
|
+
|
|
2452
|
+
```js
|
|
2453
|
+
const { isError, message, result } = await oasis.hyperDrive.recordRequest({
|
|
2454
|
+
providerType: { },
|
|
2455
|
+
success: true,
|
|
2456
|
+
responseTimeMs: 1.0,
|
|
2457
|
+
cost: 1.0
|
|
2458
|
+
});
|
|
2459
|
+
if (isError) throw new Error(message);
|
|
2460
|
+
console.log(result);
|
|
2461
|
+
```
|
|
2462
|
+
|
|
2463
|
+
Example response:
|
|
2464
|
+
|
|
2465
|
+
```json
|
|
2466
|
+
{
|
|
2467
|
+
"isError": false,
|
|
2468
|
+
"message": "",
|
|
2469
|
+
"result": true
|
|
2470
|
+
}
|
|
2471
|
+
```
|
|
2472
|
+
|
|
2473
|
+
---
|
|
2474
|
+
|
|
2475
|
+
### `resetAllMetrics`
|
|
2476
|
+
|
|
2477
|
+
Resets all metrics
|
|
2478
|
+
|
|
2479
|
+
**POST** `api/hyperDrive/metrics/reset-all`
|
|
2480
|
+
|
|
2481
|
+
**Request**
|
|
2482
|
+
|
|
2483
|
+
No request body.
|
|
2484
|
+
|
|
2485
|
+
**Response**
|
|
2486
|
+
|
|
2487
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2488
|
+
|
|
2489
|
+
`result` type: `bool`
|
|
2490
|
+
|
|
2491
|
+
**Example**
|
|
2492
|
+
|
|
2493
|
+
```js
|
|
2494
|
+
const { isError, message, result } = await oasis.hyperDrive.resetAllMetrics({});
|
|
2495
|
+
if (isError) throw new Error(message);
|
|
2496
|
+
console.log(result);
|
|
2497
|
+
```
|
|
2498
|
+
|
|
2499
|
+
Example response:
|
|
2500
|
+
|
|
2501
|
+
```json
|
|
2502
|
+
{
|
|
2503
|
+
"isError": false,
|
|
2504
|
+
"message": "",
|
|
2505
|
+
"result": true
|
|
2506
|
+
}
|
|
2507
|
+
```
|
|
2508
|
+
|
|
2509
|
+
---
|
|
2510
|
+
|
|
2511
|
+
### `resetConfiguration`
|
|
2512
|
+
|
|
2513
|
+
Resets configuration to defaults
|
|
2514
|
+
|
|
2515
|
+
**POST** `api/hyperDrive/config/reset`
|
|
2516
|
+
|
|
2517
|
+
**Request**
|
|
2518
|
+
|
|
2519
|
+
No request body.
|
|
2520
|
+
|
|
2521
|
+
**Response**
|
|
2522
|
+
|
|
2523
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2524
|
+
|
|
2525
|
+
`result` type: `bool`
|
|
2526
|
+
|
|
2527
|
+
**Example**
|
|
2528
|
+
|
|
2529
|
+
```js
|
|
2530
|
+
const { isError, message, result } = await oasis.hyperDrive.resetConfiguration({});
|
|
2531
|
+
if (isError) throw new Error(message);
|
|
2532
|
+
console.log(result);
|
|
2533
|
+
```
|
|
2534
|
+
|
|
2535
|
+
Example response:
|
|
2536
|
+
|
|
2537
|
+
```json
|
|
2538
|
+
{
|
|
2539
|
+
"isError": false,
|
|
2540
|
+
"message": "",
|
|
2541
|
+
"result": true
|
|
2542
|
+
}
|
|
2543
|
+
```
|
|
2544
|
+
|
|
2545
|
+
---
|
|
2546
|
+
|
|
2547
|
+
### `resetProviderMetrics`
|
|
2548
|
+
|
|
2549
|
+
Resets metrics for a specific provider
|
|
2550
|
+
|
|
2551
|
+
**POST** `api/hyperDrive/metrics/{providerType}/reset`
|
|
2552
|
+
|
|
2553
|
+
Route parameters:
|
|
2554
|
+
|
|
2555
|
+
| Field | Type |
|
|
2556
|
+
| --- | --- |
|
|
2557
|
+
| `providerType` | `ProviderType` |
|
|
2558
|
+
|
|
2559
|
+
**Request**
|
|
2560
|
+
|
|
2561
|
+
No request body.
|
|
2562
|
+
|
|
2563
|
+
**Response**
|
|
2564
|
+
|
|
2565
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2566
|
+
|
|
2567
|
+
`result` type: `bool`
|
|
2568
|
+
|
|
2569
|
+
**Example**
|
|
2570
|
+
|
|
2571
|
+
```js
|
|
2572
|
+
const { isError, message, result } = await oasis.hyperDrive.resetProviderMetrics({
|
|
2573
|
+
providerType: '<providerType>'
|
|
2574
|
+
});
|
|
2575
|
+
if (isError) throw new Error(message);
|
|
2576
|
+
console.log(result);
|
|
2577
|
+
```
|
|
2578
|
+
|
|
2579
|
+
Example response:
|
|
2580
|
+
|
|
2581
|
+
```json
|
|
2582
|
+
{
|
|
2583
|
+
"isError": false,
|
|
2584
|
+
"message": "",
|
|
2585
|
+
"result": true
|
|
2586
|
+
}
|
|
2587
|
+
```
|
|
2588
|
+
|
|
2589
|
+
---
|
|
2590
|
+
|
|
2591
|
+
### `setCostLimits`
|
|
2592
|
+
|
|
2593
|
+
**PUT** `api/hyperDrive/costs/limits`
|
|
2594
|
+
|
|
2595
|
+
**Request**
|
|
2596
|
+
|
|
2597
|
+
Body type: `Dictionary<string, decimal>` - a key/value map keyed by `string`, each value a `decimal`.
|
|
2598
|
+
|
|
2599
|
+
**Response**
|
|
2600
|
+
|
|
2601
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2602
|
+
|
|
2603
|
+
`result` type: `bool`
|
|
2604
|
+
|
|
2605
|
+
**Example**
|
|
2606
|
+
|
|
2607
|
+
```js
|
|
2608
|
+
const { isError, message, result } = await oasis.hyperDrive.setCostLimits({
|
|
2609
|
+
/* ...request body fields */
|
|
2610
|
+
});
|
|
2611
|
+
if (isError) throw new Error(message);
|
|
2612
|
+
console.log(result);
|
|
2613
|
+
```
|
|
2614
|
+
|
|
2615
|
+
Example response:
|
|
2616
|
+
|
|
2617
|
+
```json
|
|
2618
|
+
{
|
|
2619
|
+
"isError": false,
|
|
2620
|
+
"message": "",
|
|
2621
|
+
"result": true
|
|
2622
|
+
}
|
|
2623
|
+
```
|
|
2624
|
+
|
|
2625
|
+
---
|
|
2626
|
+
|
|
2627
|
+
### `setHyperDriveMode`
|
|
2628
|
+
|
|
2629
|
+
**PUT** `api/hyperDrive/mode`
|
|
2630
|
+
|
|
2631
|
+
**Request**
|
|
2632
|
+
|
|
2633
|
+
Body fields:
|
|
2634
|
+
|
|
2635
|
+
| Field | Type |
|
|
2636
|
+
| --- | --- |
|
|
2637
|
+
| `mode` | `string` |
|
|
2638
|
+
|
|
2639
|
+
**Response**
|
|
2640
|
+
|
|
2641
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2642
|
+
|
|
2643
|
+
`result` type: `bool`
|
|
2644
|
+
|
|
2645
|
+
**Example**
|
|
2646
|
+
|
|
2647
|
+
```js
|
|
2648
|
+
const { isError, message, result } = await oasis.hyperDrive.setHyperDriveMode({
|
|
2649
|
+
mode: 'example string'
|
|
2650
|
+
});
|
|
2651
|
+
if (isError) throw new Error(message);
|
|
2652
|
+
console.log(result);
|
|
2653
|
+
```
|
|
2654
|
+
|
|
2655
|
+
Example response:
|
|
2656
|
+
|
|
2657
|
+
```json
|
|
2658
|
+
{
|
|
2659
|
+
"isError": false,
|
|
2660
|
+
"message": "",
|
|
2661
|
+
"result": true
|
|
2662
|
+
}
|
|
2663
|
+
```
|
|
2664
|
+
|
|
2665
|
+
---
|
|
2666
|
+
|
|
2667
|
+
### `updateConfiguration`
|
|
2668
|
+
|
|
2669
|
+
Updates the HyperDrive configuration
|
|
2670
|
+
|
|
2671
|
+
**PUT** `api/hyperDrive/config`
|
|
2672
|
+
|
|
2673
|
+
**Request**
|
|
2674
|
+
|
|
2675
|
+
Body type: `OASISHyperDriveConfig`
|
|
2676
|
+
|
|
2677
|
+
| Field | Type |
|
|
2678
|
+
| --- | --- |
|
|
2679
|
+
| `IsEnabled` | `bool` |
|
|
2680
|
+
| `DefaultStrategy` | `string` |
|
|
2681
|
+
| `AutoFailoverEnabled` | `bool` |
|
|
2682
|
+
| `AutoReplicationEnabled` | `bool` |
|
|
2683
|
+
| `AutoLoadBalancingEnabled` | `bool` |
|
|
2684
|
+
| `MaxRetryAttempts` | `int` |
|
|
2685
|
+
| `RequestTimeoutMs` | `int` |
|
|
2686
|
+
| `HealthCheckIntervalMs` | `int` |
|
|
2687
|
+
| `MaxConcurrentRequests` | `int` |
|
|
2688
|
+
| `PerformanceWeight` | `double` |
|
|
2689
|
+
| `CostWeight` | `double` |
|
|
2690
|
+
| `GeographicWeight` | `double` |
|
|
2691
|
+
| `AvailabilityWeight` | `double` |
|
|
2692
|
+
| `LatencyWeight` | `double` |
|
|
2693
|
+
| `ThroughputWeight` | `double` |
|
|
2694
|
+
| `ReliabilityWeight` | `double` |
|
|
2695
|
+
| `MaxLatencyThresholdMs` | `int` |
|
|
2696
|
+
| `MaxErrorRateThreshold` | `double` |
|
|
2697
|
+
| `MinUptimeThreshold` | `double` |
|
|
2698
|
+
| `EnabledProviders` | `List<string>` |
|
|
2699
|
+
| `AutoFailoverProviders` | `List<string>` |
|
|
2700
|
+
| `AutoReplicationProviders` | `List<string>` |
|
|
2701
|
+
| `LoadBalancingProviders` | `List<string>` |
|
|
2702
|
+
| `ProviderConfigs` | `Dictionary<string, ProviderConfig>` |
|
|
2703
|
+
| `GeographicConfig` | `GeographicConfig` |
|
|
2704
|
+
| `CostConfig` | `CostConfig` |
|
|
2705
|
+
| `PerformanceConfig` | `PerformanceConfig` |
|
|
2706
|
+
| `SecurityConfig` | `SecurityConfig` |
|
|
2707
|
+
| `MonitoringConfig` | `MonitoringConfig` |
|
|
2708
|
+
|
|
2709
|
+
**Response**
|
|
2710
|
+
|
|
2711
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2712
|
+
|
|
2713
|
+
`result` type: `bool`
|
|
2714
|
+
|
|
2715
|
+
**Example**
|
|
2716
|
+
|
|
2717
|
+
```js
|
|
2718
|
+
const { isError, message, result } = await oasis.hyperDrive.updateConfiguration({
|
|
2719
|
+
isEnabled: true,
|
|
2720
|
+
defaultStrategy: "example string",
|
|
2721
|
+
autoFailoverEnabled: true,
|
|
2722
|
+
autoReplicationEnabled: true,
|
|
2723
|
+
autoLoadBalancingEnabled: true,
|
|
2724
|
+
maxRetryAttempts: 1,
|
|
2725
|
+
requestTimeoutMs: 1,
|
|
2726
|
+
healthCheckIntervalMs: 1,
|
|
2727
|
+
maxConcurrentRequests: 1,
|
|
2728
|
+
performanceWeight: 1.0,
|
|
2729
|
+
costWeight: 1.0,
|
|
2730
|
+
geographicWeight: 1.0,
|
|
2731
|
+
availabilityWeight: 1.0,
|
|
2732
|
+
latencyWeight: 1.0,
|
|
2733
|
+
throughputWeight: 1.0,
|
|
2734
|
+
reliabilityWeight: 1.0,
|
|
2735
|
+
maxLatencyThresholdMs: 1,
|
|
2736
|
+
maxErrorRateThreshold: 1.0,
|
|
2737
|
+
minUptimeThreshold: 1.0,
|
|
2738
|
+
enabledProviders: ["example string"],
|
|
2739
|
+
autoFailoverProviders: ["example string"],
|
|
2740
|
+
autoReplicationProviders: ["example string"],
|
|
2741
|
+
loadBalancingProviders: ["example string"],
|
|
2742
|
+
providerConfigs: { "<string>": { "ProviderType": "example string", "IsEnabled": true, "Weight": 1, "TimeoutMs": 1, "MaxConnections": 1, "ErrorThreshold": 1.0, "MinUptime": 1.0, "MaxLatencyMs": 1, "Endpoint": "example string", "ApiKey": "example string", "SecretKey": "example string", "CustomSettings": { "<string>": "example string" } } },
|
|
2743
|
+
geographicConfig: { "IsEnabled": true, "DefaultRegion": "example string", "UserLocation": "example string", "MaxDistanceKm": 1.0, "MaxNetworkHops": 1, "MaxLatencyMs": 1, "Regions": { "<string>": { "Name": "example string", "Country": "example string", "City": "example string", "Latitude": 1.0, "Longitude": 1.0, "TimeZone": "example string", "MaxLatencyMs": 1.0, "MaxNetworkHops": 1 } } },
|
|
2744
|
+
costConfig: { "IsEnabled": true, "Currency": "example string", "MaxCostPerOperation": 1.0, "MaxStorageCostPerGB": 1.0, "MaxComputeCostPerHour": 1.0, "MaxNetworkCostPerGB": 1.0, "ProviderCosts": { "<string>": { "ProviderType": "example string", "StorageCostPerGB": 1.0, "ComputeCostPerHour": 1.0, "NetworkCostPerGB": 1.0, "TransactionCost": 1.0, "ApiCallCost": 1.0, "TotalCost": 1.0, "Currency": "example string", "LastUpdated": "2026-01-01T00:00:00Z", "CostEfficiencyScore": 1 } } },
|
|
2745
|
+
performanceConfig: { "IsEnabled": true, "MaxResponseTimeMs": 1, "MaxErrorRate": 1.0, "MinUptime": 1.0, "MinThroughputMbps": 1, "MaxConcurrentConnections": 1, "QueueDepthThreshold": 1, "MaxCpuUsage": 1.0, "MaxMemoryUsage": 1.0 },
|
|
2746
|
+
securityConfig: { "IsEnabled": true, "RequireEncryption": true, "RequireAuthentication": true, "RequireAuthorization": true, "MaxRetryAttempts": 1, "SessionTimeoutMs": 1, "MaxConcurrentSessions": 1, "AllowedIPs": ["example string"], "BlockedIPs": ["example string"], "SecurityHeaders": { "<string>": "example string" } },
|
|
2747
|
+
monitoringConfig: { "IsEnabled": true, "MetricsCollectionIntervalMs": 1, "MaxMetricsHistory": 1, "AlertThreshold": 1, "EnableRealTimeMonitoring": true, "EnablePerformanceProfiling": true, "EnableCostTracking": true, "EnableGeographicTracking": true, "MonitoringEndpoints": ["example string"], "CustomMetrics": { "<string>": "example string" } }
|
|
2748
|
+
});
|
|
2749
|
+
if (isError) throw new Error(message);
|
|
2750
|
+
console.log(result);
|
|
2751
|
+
```
|
|
2752
|
+
|
|
2753
|
+
Example response:
|
|
2754
|
+
|
|
2755
|
+
```json
|
|
2756
|
+
{
|
|
2757
|
+
"isError": false,
|
|
2758
|
+
"message": "",
|
|
2759
|
+
"result": true
|
|
2760
|
+
}
|
|
2761
|
+
```
|
|
2762
|
+
|
|
2763
|
+
---
|
|
2764
|
+
|
|
2765
|
+
### `updateCostAnalysis`
|
|
2766
|
+
|
|
2767
|
+
Updates cost analysis for a provider
|
|
2768
|
+
|
|
2769
|
+
**PUT** `api/hyperDrive/cost/{providerType}`
|
|
2770
|
+
|
|
2771
|
+
Route parameters:
|
|
2772
|
+
|
|
2773
|
+
| Field | Type |
|
|
2774
|
+
| --- | --- |
|
|
2775
|
+
| `providerType` | `ProviderType` |
|
|
2776
|
+
|
|
2777
|
+
**Request**
|
|
2778
|
+
|
|
2779
|
+
Body type: `CostAnalysis`
|
|
2780
|
+
|
|
2781
|
+
| Field | Type |
|
|
2782
|
+
| --- | --- |
|
|
2783
|
+
| `ProviderType` | `ProviderType` |
|
|
2784
|
+
| `StorageCostPerGB` | `double` |
|
|
2785
|
+
| `ComputeCostPerHour` | `double` |
|
|
2786
|
+
| `NetworkCostPerGB` | `double` |
|
|
2787
|
+
| `TransactionCost` | `double` |
|
|
2788
|
+
| `ApiCallCost` | `double` |
|
|
2789
|
+
| `TotalCost` | `double` |
|
|
2790
|
+
| `Currency` | `string` |
|
|
2791
|
+
| `LastUpdated` | `DateTime` |
|
|
2792
|
+
| `CostEfficiencyScore` | `double` |
|
|
2793
|
+
|
|
2794
|
+
**Response**
|
|
2795
|
+
|
|
2796
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2797
|
+
|
|
2798
|
+
`result` type: `bool`
|
|
2799
|
+
|
|
2800
|
+
**Example**
|
|
2801
|
+
|
|
2802
|
+
```js
|
|
2803
|
+
const { isError, message, result } = await oasis.hyperDrive.updateCostAnalysis({
|
|
2804
|
+
providerType: { },
|
|
2805
|
+
storageCostPerGB: 1.0,
|
|
2806
|
+
computeCostPerHour: 1.0,
|
|
2807
|
+
networkCostPerGB: 1.0,
|
|
2808
|
+
transactionCost: 1.0,
|
|
2809
|
+
apiCallCost: 1.0,
|
|
2810
|
+
totalCost: 1.0,
|
|
2811
|
+
currency: "example string",
|
|
2812
|
+
lastUpdated: "2026-01-01T00:00:00Z",
|
|
2813
|
+
costEfficiencyScore: 1.0
|
|
2814
|
+
});
|
|
2815
|
+
if (isError) throw new Error(message);
|
|
2816
|
+
console.log(result);
|
|
2817
|
+
```
|
|
2818
|
+
|
|
2819
|
+
Example response:
|
|
2820
|
+
|
|
2821
|
+
```json
|
|
2822
|
+
{
|
|
2823
|
+
"isError": false,
|
|
2824
|
+
"message": "",
|
|
2825
|
+
"result": true
|
|
2826
|
+
}
|
|
2827
|
+
```
|
|
2828
|
+
|
|
2829
|
+
---
|
|
2830
|
+
|
|
2831
|
+
### `updateCostOptimizationRule`
|
|
2832
|
+
|
|
2833
|
+
**PUT** `api/hyperDrive/replication/cost-optimization`
|
|
2834
|
+
|
|
2835
|
+
**Request**
|
|
2836
|
+
|
|
2837
|
+
Body type: `CostOptimizationRuleConfig`
|
|
2838
|
+
|
|
2839
|
+
| Field | Type |
|
|
2840
|
+
| --- | --- |
|
|
2841
|
+
| `IsEnabled` | `bool` |
|
|
2842
|
+
| `MaxCostPerReplication` | `decimal` |
|
|
2843
|
+
| `MaxCostPerMonth` | `decimal` |
|
|
2844
|
+
| `PreferredFreeProviders` | `List<string>` |
|
|
2845
|
+
| `AvoidHighGasProviders` | `bool` |
|
|
2846
|
+
| `GasFeeThreshold` | `decimal` |
|
|
2847
|
+
| `CostAlertThreshold` | `decimal` |
|
|
2848
|
+
|
|
2849
|
+
**Response**
|
|
2850
|
+
|
|
2851
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2852
|
+
|
|
2853
|
+
`result` type: `CostOptimizationRuleConfig`
|
|
2854
|
+
|
|
2855
|
+
| Field | Type |
|
|
2856
|
+
| --- | --- |
|
|
2857
|
+
| `IsEnabled` | `bool` |
|
|
2858
|
+
| `MaxCostPerReplication` | `decimal` |
|
|
2859
|
+
| `MaxCostPerMonth` | `decimal` |
|
|
2860
|
+
| `PreferredFreeProviders` | `List<string>` |
|
|
2861
|
+
| `AvoidHighGasProviders` | `bool` |
|
|
2862
|
+
| `GasFeeThreshold` | `decimal` |
|
|
2863
|
+
| `CostAlertThreshold` | `decimal` |
|
|
2864
|
+
|
|
2865
|
+
**Example**
|
|
2866
|
+
|
|
2867
|
+
```js
|
|
2868
|
+
const { isError, message, result } = await oasis.hyperDrive.updateCostOptimizationRule({
|
|
2869
|
+
isEnabled: true,
|
|
2870
|
+
maxCostPerReplication: 1.0,
|
|
2871
|
+
maxCostPerMonth: 1.0,
|
|
2872
|
+
preferredFreeProviders: ["example string"],
|
|
2873
|
+
avoidHighGasProviders: true,
|
|
2874
|
+
gasFeeThreshold: 1.0,
|
|
2875
|
+
costAlertThreshold: 1.0
|
|
2876
|
+
});
|
|
2877
|
+
if (isError) throw new Error(message);
|
|
2878
|
+
console.log(result);
|
|
2879
|
+
```
|
|
2880
|
+
|
|
2881
|
+
Example response:
|
|
2882
|
+
|
|
2883
|
+
```json
|
|
2884
|
+
{
|
|
2885
|
+
"isError": false,
|
|
2886
|
+
"message": "",
|
|
2887
|
+
"result": { "IsEnabled": true, "MaxCostPerReplication": 1.0, "MaxCostPerMonth": 1.0, "PreferredFreeProviders": ["example string"], "AvoidHighGasProviders": true, "GasFeeThreshold": 1.0, "CostAlertThreshold": 1.0 }
|
|
2888
|
+
}
|
|
2889
|
+
```
|
|
2890
|
+
|
|
2891
|
+
---
|
|
2892
|
+
|
|
2893
|
+
### `updateDataPermissions`
|
|
2894
|
+
|
|
2895
|
+
Updates data permissions configuration
|
|
2896
|
+
|
|
2897
|
+
**PUT** `api/hyperDrive/data-permissions`
|
|
2898
|
+
|
|
2899
|
+
**Request**
|
|
2900
|
+
|
|
2901
|
+
Body type: `DataPermissionsConfig`
|
|
2902
|
+
|
|
2903
|
+
| Field | Type |
|
|
2904
|
+
| --- | --- |
|
|
2905
|
+
| `AvatarPermissions` | `AvatarPermissionsConfig` |
|
|
2906
|
+
| `HolonPermissions` | `HolonPermissionsConfig` |
|
|
2907
|
+
| `ProviderPermissions` | `ProviderPermissionsConfig` |
|
|
2908
|
+
| `FieldLevelPermissions` | `FieldLevelPermissionsConfig` |
|
|
2909
|
+
| `AccessControl` | `AccessControlConfig` |
|
|
2910
|
+
|
|
2911
|
+
**Response**
|
|
2912
|
+
|
|
2913
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2914
|
+
|
|
2915
|
+
`result` type: `bool`
|
|
2916
|
+
|
|
2917
|
+
**Example**
|
|
2918
|
+
|
|
2919
|
+
```js
|
|
2920
|
+
const { isError, message, result } = await oasis.hyperDrive.updateDataPermissions({
|
|
2921
|
+
avatarPermissions: { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } },
|
|
2922
|
+
holonPermissions: { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } },
|
|
2923
|
+
providerPermissions: { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] },
|
|
2924
|
+
fieldLevelPermissions: { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] },
|
|
2925
|
+
accessControl: { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] }
|
|
2926
|
+
});
|
|
2927
|
+
if (isError) throw new Error(message);
|
|
2928
|
+
console.log(result);
|
|
2929
|
+
```
|
|
2930
|
+
|
|
2931
|
+
Example response:
|
|
2932
|
+
|
|
2933
|
+
```json
|
|
2934
|
+
{
|
|
2935
|
+
"isError": false,
|
|
2936
|
+
"message": "",
|
|
2937
|
+
"result": true
|
|
2938
|
+
}
|
|
2939
|
+
```
|
|
2940
|
+
|
|
2941
|
+
---
|
|
2942
|
+
|
|
2943
|
+
### `updateDataTypeReplicationRule`
|
|
2944
|
+
|
|
2945
|
+
**PUT** `api/hyperDrive/replication/data-type-rules`
|
|
2946
|
+
|
|
2947
|
+
**Request**
|
|
2948
|
+
|
|
2949
|
+
Body type: `DataTypeReplicationRuleConfig`
|
|
2950
|
+
|
|
2951
|
+
| Field | Type |
|
|
2952
|
+
| --- | --- |
|
|
2953
|
+
| `DataType` | `string` |
|
|
2954
|
+
| `IsEnabled` | `bool` |
|
|
2955
|
+
| `RequiredProviders` | `List<string>` |
|
|
2956
|
+
| `OptionalProviders` | `List<string>` |
|
|
2957
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
2958
|
+
| `CostLimit` | `decimal` |
|
|
2959
|
+
| `Schedule` | `ScheduleConfig` |
|
|
2960
|
+
|
|
2961
|
+
**Response**
|
|
2962
|
+
|
|
2963
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
2964
|
+
|
|
2965
|
+
`result` type: `DataTypeReplicationRuleConfig`
|
|
2966
|
+
|
|
2967
|
+
| Field | Type |
|
|
2968
|
+
| --- | --- |
|
|
2969
|
+
| `DataType` | `string` |
|
|
2970
|
+
| `IsEnabled` | `bool` |
|
|
2971
|
+
| `RequiredProviders` | `List<string>` |
|
|
2972
|
+
| `OptionalProviders` | `List<string>` |
|
|
2973
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
2974
|
+
| `CostLimit` | `decimal` |
|
|
2975
|
+
| `Schedule` | `ScheduleConfig` |
|
|
2976
|
+
|
|
2977
|
+
**Example**
|
|
2978
|
+
|
|
2979
|
+
```js
|
|
2980
|
+
const { isError, message, result } = await oasis.hyperDrive.updateDataTypeReplicationRule({
|
|
2981
|
+
dataType: "example string",
|
|
2982
|
+
isEnabled: true,
|
|
2983
|
+
requiredProviders: ["example string"],
|
|
2984
|
+
optionalProviders: ["example string"],
|
|
2985
|
+
permissions: { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } },
|
|
2986
|
+
costLimit: 1.0,
|
|
2987
|
+
schedule: { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] }
|
|
2988
|
+
});
|
|
2989
|
+
if (isError) throw new Error(message);
|
|
2990
|
+
console.log(result);
|
|
2991
|
+
```
|
|
2992
|
+
|
|
2993
|
+
Example response:
|
|
2994
|
+
|
|
2995
|
+
```json
|
|
2996
|
+
{
|
|
2997
|
+
"isError": false,
|
|
2998
|
+
"message": "",
|
|
2999
|
+
"result": { "DataType": "example string", "IsEnabled": true, "RequiredProviders": ["example string"], "OptionalProviders": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} }
|
|
3000
|
+
}
|
|
3001
|
+
```
|
|
3002
|
+
|
|
3003
|
+
---
|
|
3004
|
+
|
|
3005
|
+
### `updateEscalationRule`
|
|
3006
|
+
|
|
3007
|
+
**PUT** `api/hyperDrive/failover/escalation-rules`
|
|
3008
|
+
|
|
3009
|
+
**Request**
|
|
3010
|
+
|
|
3011
|
+
Body type: `EscalationRuleConfig`
|
|
3012
|
+
|
|
3013
|
+
| Field | Type |
|
|
3014
|
+
| --- | --- |
|
|
3015
|
+
| `Name` | `string` |
|
|
3016
|
+
| `Level` | `string` |
|
|
3017
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
3018
|
+
| `Action` | `FailoverActionConfig` |
|
|
3019
|
+
| `Notification` | `NotificationRuleConfig` |
|
|
3020
|
+
|
|
3021
|
+
**Response**
|
|
3022
|
+
|
|
3023
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3024
|
+
|
|
3025
|
+
`result` type: `EscalationRuleConfig`
|
|
3026
|
+
|
|
3027
|
+
| Field | Type |
|
|
3028
|
+
| --- | --- |
|
|
3029
|
+
| `Name` | `string` |
|
|
3030
|
+
| `Level` | `string` |
|
|
3031
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
3032
|
+
| `Action` | `FailoverActionConfig` |
|
|
3033
|
+
| `Notification` | `NotificationRuleConfig` |
|
|
3034
|
+
|
|
3035
|
+
**Example**
|
|
3036
|
+
|
|
3037
|
+
```js
|
|
3038
|
+
const { isError, message, result } = await oasis.hyperDrive.updateEscalationRule({
|
|
3039
|
+
name: "example string",
|
|
3040
|
+
level: "example string",
|
|
3041
|
+
condition: { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 },
|
|
3042
|
+
action: { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } },
|
|
3043
|
+
notification: { "Channels": ["example string"], "Message": "example string", "Priority": "example string", "IsEnabled": true }
|
|
3044
|
+
});
|
|
3045
|
+
if (isError) throw new Error(message);
|
|
3046
|
+
console.log(result);
|
|
3047
|
+
```
|
|
3048
|
+
|
|
3049
|
+
Example response:
|
|
3050
|
+
|
|
3051
|
+
```json
|
|
3052
|
+
{
|
|
3053
|
+
"isError": false,
|
|
3054
|
+
"message": "",
|
|
3055
|
+
"result": { "Name": "example string", "Level": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }, "Notification": { "Channels": ["example string"], "Message": "example string", "Priority": "example string", "IsEnabled": true } }
|
|
3056
|
+
}
|
|
3057
|
+
```
|
|
3058
|
+
|
|
3059
|
+
---
|
|
3060
|
+
|
|
3061
|
+
### `updateFailoverRules`
|
|
3062
|
+
|
|
3063
|
+
Updates failover rules configuration
|
|
3064
|
+
|
|
3065
|
+
**PUT** `api/hyperDrive/failover/rules`
|
|
3066
|
+
|
|
3067
|
+
**Request**
|
|
3068
|
+
|
|
3069
|
+
Body type: `FailoverRulesConfig`
|
|
3070
|
+
|
|
3071
|
+
| Field | Type |
|
|
3072
|
+
| --- | --- |
|
|
3073
|
+
| `Mode` | `string` |
|
|
3074
|
+
| `IsEnabled` | `bool` |
|
|
3075
|
+
| `MaxFailoversPerMonth` | `int` |
|
|
3076
|
+
| `CostThreshold` | `decimal` |
|
|
3077
|
+
| `FreeProvidersOnly` | `bool` |
|
|
3078
|
+
| `GasFeeThreshold` | `decimal` |
|
|
3079
|
+
| `FailoverTriggers` | `List<FailoverTriggerConfig>` |
|
|
3080
|
+
| `ProviderRules` | `List<ProviderFailoverRuleConfig>` |
|
|
3081
|
+
| `IntelligentSelection` | `IntelligentSelectionRuleConfig` |
|
|
3082
|
+
| `EscalationRules` | `List<EscalationRuleConfig>` |
|
|
3083
|
+
|
|
3084
|
+
**Response**
|
|
3085
|
+
|
|
3086
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3087
|
+
|
|
3088
|
+
`result` type: `bool`
|
|
3089
|
+
|
|
3090
|
+
**Example**
|
|
3091
|
+
|
|
3092
|
+
```js
|
|
3093
|
+
const { isError, message, result } = await oasis.hyperDrive.updateFailoverRules({
|
|
3094
|
+
mode: "example string",
|
|
3095
|
+
isEnabled: true,
|
|
3096
|
+
maxFailoversPerMonth: 1,
|
|
3097
|
+
costThreshold: 1.0,
|
|
3098
|
+
freeProvidersOnly: true,
|
|
3099
|
+
gasFeeThreshold: 1.0,
|
|
3100
|
+
failoverTriggers: [{ "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } } }],
|
|
3101
|
+
providerRules: [{ "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "Conditions": [{ "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }], "FallbackProviders": ["example string"] }],
|
|
3102
|
+
intelligentSelection: { "IsEnabled": true, "Algorithm": "example string", "Weights": { "Cost": 1.0, "Performance": 1.0, "Reliability": 1.0, "Security": 1.0, "Geographic": 1.0, "Availability": 1.0 }, "LearningEnabled": true, "AdaptationSpeed": "example string", "OptimizationGoals": [{ "Type": "example string", "Weight": 1.0, "Target": 1.0, "IsEnabled": true }] },
|
|
3103
|
+
escalationRules: [{ "Name": "example string", "Level": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }, "Notification": { "Channels": ["example string"], "Message": "example string", "Priority": "example string", "IsEnabled": true } }]
|
|
3104
|
+
});
|
|
3105
|
+
if (isError) throw new Error(message);
|
|
3106
|
+
console.log(result);
|
|
3107
|
+
```
|
|
3108
|
+
|
|
3109
|
+
Example response:
|
|
3110
|
+
|
|
3111
|
+
```json
|
|
3112
|
+
{
|
|
3113
|
+
"isError": false,
|
|
3114
|
+
"message": "",
|
|
3115
|
+
"result": true
|
|
3116
|
+
}
|
|
3117
|
+
```
|
|
3118
|
+
|
|
3119
|
+
---
|
|
3120
|
+
|
|
3121
|
+
### `updateFailoverTrigger`
|
|
3122
|
+
|
|
3123
|
+
**PUT** `api/hyperDrive/failover/triggers/{id}`
|
|
3124
|
+
|
|
3125
|
+
Route parameters:
|
|
3126
|
+
|
|
3127
|
+
| Field | Type |
|
|
3128
|
+
| --- | --- |
|
|
3129
|
+
| `id` | `string` |
|
|
3130
|
+
|
|
3131
|
+
**Request**
|
|
3132
|
+
|
|
3133
|
+
Body type: `FailoverTriggerConfig`
|
|
3134
|
+
|
|
3135
|
+
| Field | Type |
|
|
3136
|
+
| --- | --- |
|
|
3137
|
+
| `Id` | `string` |
|
|
3138
|
+
| `Name` | `string` |
|
|
3139
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
3140
|
+
| `Priority` | `string` |
|
|
3141
|
+
| `IsEnabled` | `bool` |
|
|
3142
|
+
| `Action` | `FailoverActionConfig` |
|
|
3143
|
+
|
|
3144
|
+
**Response**
|
|
3145
|
+
|
|
3146
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3147
|
+
|
|
3148
|
+
`result` type: `FailoverTriggerConfig`
|
|
3149
|
+
|
|
3150
|
+
| Field | Type |
|
|
3151
|
+
| --- | --- |
|
|
3152
|
+
| `Id` | `string` |
|
|
3153
|
+
| `Name` | `string` |
|
|
3154
|
+
| `Condition` | `FailoverConditionConfig` |
|
|
3155
|
+
| `Priority` | `string` |
|
|
3156
|
+
| `IsEnabled` | `bool` |
|
|
3157
|
+
| `Action` | `FailoverActionConfig` |
|
|
3158
|
+
|
|
3159
|
+
**Example**
|
|
3160
|
+
|
|
3161
|
+
```js
|
|
3162
|
+
const { isError, message, result } = await oasis.hyperDrive.updateFailoverTrigger({
|
|
3163
|
+
id: "example string",
|
|
3164
|
+
name: "example string",
|
|
3165
|
+
condition: { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 },
|
|
3166
|
+
priority: "example string",
|
|
3167
|
+
isEnabled: true,
|
|
3168
|
+
action: { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }
|
|
3169
|
+
});
|
|
3170
|
+
if (isError) throw new Error(message);
|
|
3171
|
+
console.log(result);
|
|
3172
|
+
```
|
|
3173
|
+
|
|
3174
|
+
Example response:
|
|
3175
|
+
|
|
3176
|
+
```json
|
|
3177
|
+
{
|
|
3178
|
+
"isError": false,
|
|
3179
|
+
"message": "",
|
|
3180
|
+
"result": { "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProvider": "example string", "FallbackProviders": ["example string"], "CostLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } } }
|
|
3181
|
+
}
|
|
3182
|
+
```
|
|
3183
|
+
|
|
3184
|
+
---
|
|
3185
|
+
|
|
3186
|
+
### `updateGeographicInfo`
|
|
3187
|
+
|
|
3188
|
+
Updates geographic information for a provider
|
|
3189
|
+
|
|
3190
|
+
**PUT** `api/hyperDrive/geographic/{providerType}`
|
|
3191
|
+
|
|
3192
|
+
Route parameters:
|
|
3193
|
+
|
|
3194
|
+
| Field | Type |
|
|
3195
|
+
| --- | --- |
|
|
3196
|
+
| `providerType` | `ProviderType` |
|
|
3197
|
+
|
|
3198
|
+
**Request**
|
|
3199
|
+
|
|
3200
|
+
Body type: `GeographicInfo`
|
|
3201
|
+
|
|
3202
|
+
| Field | Type |
|
|
3203
|
+
| --- | --- |
|
|
3204
|
+
| `Region` | `string` |
|
|
3205
|
+
| `Country` | `string` |
|
|
3206
|
+
| `City` | `string` |
|
|
3207
|
+
| `Latitude` | `double` |
|
|
3208
|
+
| `Longitude` | `double` |
|
|
3209
|
+
| `TimeZone` | `string` |
|
|
3210
|
+
| `DistanceKm` | `double` |
|
|
3211
|
+
| `NetworkHops` | `int` |
|
|
3212
|
+
| `NetworkLatency` | `double` |
|
|
3213
|
+
|
|
3214
|
+
**Response**
|
|
3215
|
+
|
|
3216
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3217
|
+
|
|
3218
|
+
`result` type: `bool`
|
|
3219
|
+
|
|
3220
|
+
**Example**
|
|
3221
|
+
|
|
3222
|
+
```js
|
|
3223
|
+
const { isError, message, result } = await oasis.hyperDrive.updateGeographicInfo({
|
|
3224
|
+
providerType: '<providerType>',
|
|
3225
|
+
region: "example string",
|
|
3226
|
+
country: "example string",
|
|
3227
|
+
city: "example string",
|
|
3228
|
+
latitude: 1.0,
|
|
3229
|
+
longitude: 1.0,
|
|
3230
|
+
timeZone: "example string",
|
|
3231
|
+
distanceKm: 1.0,
|
|
3232
|
+
networkHops: 1,
|
|
3233
|
+
networkLatency: 1.0
|
|
3234
|
+
});
|
|
3235
|
+
if (isError) throw new Error(message);
|
|
3236
|
+
console.log(result);
|
|
3237
|
+
```
|
|
3238
|
+
|
|
3239
|
+
Example response:
|
|
3240
|
+
|
|
3241
|
+
```json
|
|
3242
|
+
{
|
|
3243
|
+
"isError": false,
|
|
3244
|
+
"message": "",
|
|
3245
|
+
"result": true
|
|
3246
|
+
}
|
|
3247
|
+
```
|
|
3248
|
+
|
|
3249
|
+
---
|
|
3250
|
+
|
|
3251
|
+
### `updateIntelligentMode`
|
|
3252
|
+
|
|
3253
|
+
Updates intelligent mode configuration
|
|
3254
|
+
|
|
3255
|
+
**PUT** `api/hyperDrive/intelligent-mode`
|
|
3256
|
+
|
|
3257
|
+
**Request**
|
|
3258
|
+
|
|
3259
|
+
Body type: `IntelligentModeConfig`
|
|
3260
|
+
|
|
3261
|
+
| Field | Type |
|
|
3262
|
+
| --- | --- |
|
|
3263
|
+
| `IsEnabled` | `bool` |
|
|
3264
|
+
| `AutoOptimization` | `bool` |
|
|
3265
|
+
| `CostAwareness` | `bool` |
|
|
3266
|
+
| `PerformanceOptimization` | `bool` |
|
|
3267
|
+
| `SecurityOptimization` | `bool` |
|
|
3268
|
+
| `LearningEnabled` | `bool` |
|
|
3269
|
+
| `AdaptationSpeed` | `string` |
|
|
3270
|
+
| `OptimizationGoals` | `List<OptimizationGoalConfig>` |
|
|
3271
|
+
|
|
3272
|
+
**Response**
|
|
3273
|
+
|
|
3274
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3275
|
+
|
|
3276
|
+
`result` type: `bool`
|
|
3277
|
+
|
|
3278
|
+
**Example**
|
|
3279
|
+
|
|
3280
|
+
```js
|
|
3281
|
+
const { isError, message, result } = await oasis.hyperDrive.updateIntelligentMode({
|
|
3282
|
+
isEnabled: true,
|
|
3283
|
+
autoOptimization: true,
|
|
3284
|
+
costAwareness: true,
|
|
3285
|
+
performanceOptimization: true,
|
|
3286
|
+
securityOptimization: true,
|
|
3287
|
+
learningEnabled: true,
|
|
3288
|
+
adaptationSpeed: "example string",
|
|
3289
|
+
optimizationGoals: [{ "Type": "example string", "Weight": 1.0, "Target": 1.0, "IsEnabled": true }]
|
|
3290
|
+
});
|
|
3291
|
+
if (isError) throw new Error(message);
|
|
3292
|
+
console.log(result);
|
|
3293
|
+
```
|
|
3294
|
+
|
|
3295
|
+
Example response:
|
|
3296
|
+
|
|
3297
|
+
```json
|
|
3298
|
+
{
|
|
3299
|
+
"isError": false,
|
|
3300
|
+
"message": "",
|
|
3301
|
+
"result": true
|
|
3302
|
+
}
|
|
3303
|
+
```
|
|
3304
|
+
|
|
3305
|
+
---
|
|
3306
|
+
|
|
3307
|
+
### `updateProviderFailoverRule`
|
|
3308
|
+
|
|
3309
|
+
**PUT** `api/hyperDrive/failover/provider-rules`
|
|
3310
|
+
|
|
3311
|
+
**Request**
|
|
3312
|
+
|
|
3313
|
+
Body type: `ProviderFailoverRuleConfig`
|
|
3314
|
+
|
|
3315
|
+
| Field | Type |
|
|
3316
|
+
| --- | --- |
|
|
3317
|
+
| `ProviderType` | `string` |
|
|
3318
|
+
| `IsEnabled` | `bool` |
|
|
3319
|
+
| `Priority` | `int` |
|
|
3320
|
+
| `CostLimit` | `decimal` |
|
|
3321
|
+
| `GasFeeLimit` | `decimal` |
|
|
3322
|
+
| `Conditions` | `List<FailoverConditionConfig>` |
|
|
3323
|
+
| `FallbackProviders` | `List<string>` |
|
|
3324
|
+
|
|
3325
|
+
**Response**
|
|
3326
|
+
|
|
3327
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3328
|
+
|
|
3329
|
+
`result` type: `ProviderFailoverRuleConfig`
|
|
3330
|
+
|
|
3331
|
+
| Field | Type |
|
|
3332
|
+
| --- | --- |
|
|
3333
|
+
| `ProviderType` | `string` |
|
|
3334
|
+
| `IsEnabled` | `bool` |
|
|
3335
|
+
| `Priority` | `int` |
|
|
3336
|
+
| `CostLimit` | `decimal` |
|
|
3337
|
+
| `GasFeeLimit` | `decimal` |
|
|
3338
|
+
| `Conditions` | `List<FailoverConditionConfig>` |
|
|
3339
|
+
| `FallbackProviders` | `List<string>` |
|
|
3340
|
+
|
|
3341
|
+
**Example**
|
|
3342
|
+
|
|
3343
|
+
```js
|
|
3344
|
+
const { isError, message, result } = await oasis.hyperDrive.updateProviderFailoverRule({
|
|
3345
|
+
providerType: "example string",
|
|
3346
|
+
isEnabled: true,
|
|
3347
|
+
priority: 1,
|
|
3348
|
+
costLimit: 1.0,
|
|
3349
|
+
gasFeeLimit: 1.0,
|
|
3350
|
+
conditions: [{ "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }],
|
|
3351
|
+
fallbackProviders: ["example string"]
|
|
3352
|
+
});
|
|
3353
|
+
if (isError) throw new Error(message);
|
|
3354
|
+
console.log(result);
|
|
3355
|
+
```
|
|
3356
|
+
|
|
3357
|
+
Example response:
|
|
3358
|
+
|
|
3359
|
+
```json
|
|
3360
|
+
{
|
|
3361
|
+
"isError": false,
|
|
3362
|
+
"message": "",
|
|
3363
|
+
"result": { "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "Conditions": [{ "Type": "example string", "Operator": "example string", "Value": {}, "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Threshold": 1.0 }], "FallbackProviders": ["example string"] }
|
|
3364
|
+
}
|
|
3365
|
+
```
|
|
3366
|
+
|
|
3367
|
+
---
|
|
3368
|
+
|
|
3369
|
+
### `updateProviderReplicationRule`
|
|
3370
|
+
|
|
3371
|
+
**PUT** `api/hyperDrive/replication/provider-rules`
|
|
3372
|
+
|
|
3373
|
+
**Request**
|
|
3374
|
+
|
|
3375
|
+
Body type: `ProviderReplicationRuleConfig`
|
|
3376
|
+
|
|
3377
|
+
| Field | Type |
|
|
3378
|
+
| --- | --- |
|
|
3379
|
+
| `ProviderType` | `string` |
|
|
3380
|
+
| `IsEnabled` | `bool` |
|
|
3381
|
+
| `Priority` | `int` |
|
|
3382
|
+
| `CostLimit` | `decimal` |
|
|
3383
|
+
| `GasFeeLimit` | `decimal` |
|
|
3384
|
+
| `DataTypes` | `List<string>` |
|
|
3385
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
3386
|
+
| `Conditions` | `List<ReplicationConditionConfig>` |
|
|
3387
|
+
| `Schedule` | `ScheduleConfig` |
|
|
3388
|
+
|
|
3389
|
+
**Response**
|
|
3390
|
+
|
|
3391
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3392
|
+
|
|
3393
|
+
`result` type: `ProviderReplicationRuleConfig`
|
|
3394
|
+
|
|
3395
|
+
| Field | Type |
|
|
3396
|
+
| --- | --- |
|
|
3397
|
+
| `ProviderType` | `string` |
|
|
3398
|
+
| `IsEnabled` | `bool` |
|
|
3399
|
+
| `Priority` | `int` |
|
|
3400
|
+
| `CostLimit` | `decimal` |
|
|
3401
|
+
| `GasFeeLimit` | `decimal` |
|
|
3402
|
+
| `DataTypes` | `List<string>` |
|
|
3403
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
3404
|
+
| `Conditions` | `List<ReplicationConditionConfig>` |
|
|
3405
|
+
| `Schedule` | `ScheduleConfig` |
|
|
3406
|
+
|
|
3407
|
+
**Example**
|
|
3408
|
+
|
|
3409
|
+
```js
|
|
3410
|
+
const { isError, message, result } = await oasis.hyperDrive.updateProviderReplicationRule({
|
|
3411
|
+
providerType: "example string",
|
|
3412
|
+
isEnabled: true,
|
|
3413
|
+
priority: 1,
|
|
3414
|
+
costLimit: 1.0,
|
|
3415
|
+
gasFeeLimit: 1.0,
|
|
3416
|
+
dataTypes: ["example string"],
|
|
3417
|
+
permissions: { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } },
|
|
3418
|
+
conditions: [{ "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } }],
|
|
3419
|
+
schedule: { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] }
|
|
3420
|
+
});
|
|
3421
|
+
if (isError) throw new Error(message);
|
|
3422
|
+
console.log(result);
|
|
3423
|
+
```
|
|
3424
|
+
|
|
3425
|
+
Example response:
|
|
3426
|
+
|
|
3427
|
+
```json
|
|
3428
|
+
{
|
|
3429
|
+
"isError": false,
|
|
3430
|
+
"message": "",
|
|
3431
|
+
"result": { "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "Conditions": [{ "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": {} }], "Schedule": {} }
|
|
3432
|
+
}
|
|
3433
|
+
```
|
|
3434
|
+
|
|
3435
|
+
---
|
|
3436
|
+
|
|
3437
|
+
### `updateQuotaNotification`
|
|
3438
|
+
|
|
3439
|
+
**PUT** `api/hyperDrive/subscription/quota-notifications/{id}`
|
|
3440
|
+
|
|
3441
|
+
Route parameters:
|
|
3442
|
+
|
|
3443
|
+
| Field | Type |
|
|
3444
|
+
| --- | --- |
|
|
3445
|
+
| `id` | `string` |
|
|
3446
|
+
|
|
3447
|
+
**Request**
|
|
3448
|
+
|
|
3449
|
+
Body type: `QuotaNotificationConfig`
|
|
3450
|
+
|
|
3451
|
+
| Field | Type |
|
|
3452
|
+
| --- | --- |
|
|
3453
|
+
| `Id` | `string` |
|
|
3454
|
+
| `Name` | `string` |
|
|
3455
|
+
| `QuotaType` | `string` |
|
|
3456
|
+
| `Threshold` | `decimal` |
|
|
3457
|
+
| `NotificationChannels` | `List<string>` |
|
|
3458
|
+
| `Actions` | `List<QuotaActionConfig>` |
|
|
3459
|
+
| `IsEnabled` | `bool` |
|
|
3460
|
+
|
|
3461
|
+
**Response**
|
|
3462
|
+
|
|
3463
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3464
|
+
|
|
3465
|
+
`result` type: `QuotaNotificationConfig`
|
|
3466
|
+
|
|
3467
|
+
| Field | Type |
|
|
3468
|
+
| --- | --- |
|
|
3469
|
+
| `Id` | `string` |
|
|
3470
|
+
| `Name` | `string` |
|
|
3471
|
+
| `QuotaType` | `string` |
|
|
3472
|
+
| `Threshold` | `decimal` |
|
|
3473
|
+
| `NotificationChannels` | `List<string>` |
|
|
3474
|
+
| `Actions` | `List<QuotaActionConfig>` |
|
|
3475
|
+
| `IsEnabled` | `bool` |
|
|
3476
|
+
|
|
3477
|
+
**Example**
|
|
3478
|
+
|
|
3479
|
+
```js
|
|
3480
|
+
const { isError, message, result } = await oasis.hyperDrive.updateQuotaNotification({
|
|
3481
|
+
id: "example string",
|
|
3482
|
+
name: "example string",
|
|
3483
|
+
quotaType: "example string",
|
|
3484
|
+
threshold: 1.0,
|
|
3485
|
+
notificationChannels: ["example string"],
|
|
3486
|
+
actions: [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }],
|
|
3487
|
+
isEnabled: true
|
|
3488
|
+
});
|
|
3489
|
+
if (isError) throw new Error(message);
|
|
3490
|
+
console.log(result);
|
|
3491
|
+
```
|
|
3492
|
+
|
|
3493
|
+
Example response:
|
|
3494
|
+
|
|
3495
|
+
```json
|
|
3496
|
+
{
|
|
3497
|
+
"isError": false,
|
|
3498
|
+
"message": "",
|
|
3499
|
+
"result": { "Id": "example string", "Name": "example string", "QuotaType": "example string", "Threshold": 1.0, "NotificationChannels": ["example string"], "Actions": [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }], "IsEnabled": true }
|
|
3500
|
+
}
|
|
3501
|
+
```
|
|
3502
|
+
|
|
3503
|
+
---
|
|
3504
|
+
|
|
3505
|
+
### `updateReplicationRules`
|
|
3506
|
+
|
|
3507
|
+
Updates replication rules configuration
|
|
3508
|
+
|
|
3509
|
+
**PUT** `api/hyperDrive/replication/rules`
|
|
3510
|
+
|
|
3511
|
+
**Request**
|
|
3512
|
+
|
|
3513
|
+
Body type: `ReplicationRulesConfig`
|
|
3514
|
+
|
|
3515
|
+
| Field | Type |
|
|
3516
|
+
| --- | --- |
|
|
3517
|
+
| `Mode` | `string` |
|
|
3518
|
+
| `IsEnabled` | `bool` |
|
|
3519
|
+
| `MaxReplicationsPerMonth` | `int` |
|
|
3520
|
+
| `CostThreshold` | `decimal` |
|
|
3521
|
+
| `FreeProvidersOnly` | `bool` |
|
|
3522
|
+
| `GasFeeThreshold` | `decimal` |
|
|
3523
|
+
| `ReplicationTriggers` | `List<ReplicationTriggerConfig>` |
|
|
3524
|
+
| `ProviderRules` | `List<ProviderReplicationRuleConfig>` |
|
|
3525
|
+
| `DataTypeRules` | `List<DataTypeReplicationRuleConfig>` |
|
|
3526
|
+
| `ScheduleRules` | `List<ScheduleRuleConfig>` |
|
|
3527
|
+
| `CostOptimization` | `CostOptimizationRuleConfig` |
|
|
3528
|
+
| `IntelligentSelection` | `IntelligentSelectionRuleConfig` |
|
|
3529
|
+
|
|
3530
|
+
**Response**
|
|
3531
|
+
|
|
3532
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3533
|
+
|
|
3534
|
+
`result` type: `bool`
|
|
3535
|
+
|
|
3536
|
+
**Example**
|
|
3537
|
+
|
|
3538
|
+
```js
|
|
3539
|
+
const { isError, message, result } = await oasis.hyperDrive.updateReplicationRules({
|
|
3540
|
+
mode: "example string",
|
|
3541
|
+
isEnabled: true,
|
|
3542
|
+
maxReplicationsPerMonth: 1,
|
|
3543
|
+
costThreshold: 1.0,
|
|
3544
|
+
freeProvidersOnly: true,
|
|
3545
|
+
gasFeeThreshold: 1.0,
|
|
3546
|
+
replicationTriggers: [{ "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProviders": ["example string"], "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": {}, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} } }],
|
|
3547
|
+
providerRules: [{ "ProviderType": "example string", "IsEnabled": true, "Priority": 1, "CostLimit": 1.0, "GasFeeLimit": 1.0, "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "Conditions": [{ "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": {} }], "Schedule": {} }],
|
|
3548
|
+
dataTypeRules: [{ "DataType": "example string", "IsEnabled": true, "RequiredProviders": ["example string"], "OptionalProviders": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} }],
|
|
3549
|
+
scheduleRules: [{ "Name": "example string", "IsEnabled": true, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] }, "DataTypes": ["example string"], "Providers": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": {} }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } } }],
|
|
3550
|
+
costOptimization: { "IsEnabled": true, "MaxCostPerReplication": 1.0, "MaxCostPerMonth": 1.0, "PreferredFreeProviders": ["example string"], "AvoidHighGasProviders": true, "GasFeeThreshold": 1.0, "CostAlertThreshold": 1.0 },
|
|
3551
|
+
intelligentSelection: { "IsEnabled": true, "Algorithm": "example string", "Weights": { "Cost": 1.0, "Performance": 1.0, "Reliability": 1.0, "Security": 1.0, "Geographic": 1.0, "Availability": 1.0 }, "LearningEnabled": true, "AdaptationSpeed": "example string", "OptimizationGoals": [{ "Type": "example string", "Weight": 1.0, "Target": 1.0, "IsEnabled": true }] }
|
|
3552
|
+
});
|
|
3553
|
+
if (isError) throw new Error(message);
|
|
3554
|
+
console.log(result);
|
|
3555
|
+
```
|
|
3556
|
+
|
|
3557
|
+
Example response:
|
|
3558
|
+
|
|
3559
|
+
```json
|
|
3560
|
+
{
|
|
3561
|
+
"isError": false,
|
|
3562
|
+
"message": "",
|
|
3563
|
+
"result": true
|
|
3564
|
+
}
|
|
3565
|
+
```
|
|
3566
|
+
|
|
3567
|
+
---
|
|
3568
|
+
|
|
3569
|
+
### `updateReplicationTrigger`
|
|
3570
|
+
|
|
3571
|
+
**PUT** `api/hyperDrive/replication/triggers/{id}`
|
|
3572
|
+
|
|
3573
|
+
Route parameters:
|
|
3574
|
+
|
|
3575
|
+
| Field | Type |
|
|
3576
|
+
| --- | --- |
|
|
3577
|
+
| `id` | `string` |
|
|
3578
|
+
|
|
3579
|
+
**Request**
|
|
3580
|
+
|
|
3581
|
+
Body type: `ReplicationTriggerConfig`
|
|
3582
|
+
|
|
3583
|
+
| Field | Type |
|
|
3584
|
+
| --- | --- |
|
|
3585
|
+
| `Id` | `string` |
|
|
3586
|
+
| `Name` | `string` |
|
|
3587
|
+
| `Condition` | `ReplicationConditionConfig` |
|
|
3588
|
+
| `Priority` | `string` |
|
|
3589
|
+
| `IsEnabled` | `bool` |
|
|
3590
|
+
| `Action` | `ReplicationActionConfig` |
|
|
3591
|
+
|
|
3592
|
+
**Response**
|
|
3593
|
+
|
|
3594
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3595
|
+
|
|
3596
|
+
`result` type: `ReplicationTriggerConfig`
|
|
3597
|
+
|
|
3598
|
+
| Field | Type |
|
|
3599
|
+
| --- | --- |
|
|
3600
|
+
| `Id` | `string` |
|
|
3601
|
+
| `Name` | `string` |
|
|
3602
|
+
| `Condition` | `ReplicationConditionConfig` |
|
|
3603
|
+
| `Priority` | `string` |
|
|
3604
|
+
| `IsEnabled` | `bool` |
|
|
3605
|
+
| `Action` | `ReplicationActionConfig` |
|
|
3606
|
+
|
|
3607
|
+
**Example**
|
|
3608
|
+
|
|
3609
|
+
```js
|
|
3610
|
+
const { isError, message, result } = await oasis.hyperDrive.updateReplicationTrigger({
|
|
3611
|
+
id: "example string",
|
|
3612
|
+
name: "example string",
|
|
3613
|
+
condition: { "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } },
|
|
3614
|
+
priority: "example string",
|
|
3615
|
+
isEnabled: true,
|
|
3616
|
+
action: { "Type": "example string", "TargetProviders": ["example string"], "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} }
|
|
3617
|
+
});
|
|
3618
|
+
if (isError) throw new Error(message);
|
|
3619
|
+
console.log(result);
|
|
3620
|
+
```
|
|
3621
|
+
|
|
3622
|
+
Example response:
|
|
3623
|
+
|
|
3624
|
+
```json
|
|
3625
|
+
{
|
|
3626
|
+
"isError": false,
|
|
3627
|
+
"message": "",
|
|
3628
|
+
"result": { "Id": "example string", "Name": "example string", "Condition": { "Type": "example string", "Operator": "example string", "Value": {}, "Field": "example string", "ProviderType": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] } }, "Priority": "example string", "IsEnabled": true, "Action": { "Type": "example string", "TargetProviders": ["example string"], "DataTypes": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": {}, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }, "CostLimit": 1.0, "Schedule": {} } }
|
|
3629
|
+
}
|
|
3630
|
+
```
|
|
3631
|
+
|
|
3632
|
+
---
|
|
3633
|
+
|
|
3634
|
+
### `updateScheduleRule`
|
|
3635
|
+
|
|
3636
|
+
**PUT** `api/hyperDrive/replication/schedule-rules`
|
|
3637
|
+
|
|
3638
|
+
**Request**
|
|
3639
|
+
|
|
3640
|
+
Body type: `ScheduleRuleConfig`
|
|
3641
|
+
|
|
3642
|
+
| Field | Type |
|
|
3643
|
+
| --- | --- |
|
|
3644
|
+
| `Name` | `string` |
|
|
3645
|
+
| `IsEnabled` | `bool` |
|
|
3646
|
+
| `Schedule` | `ScheduleConfig` |
|
|
3647
|
+
| `DataTypes` | `List<string>` |
|
|
3648
|
+
| `Providers` | `List<string>` |
|
|
3649
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
3650
|
+
|
|
3651
|
+
**Response**
|
|
3652
|
+
|
|
3653
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3654
|
+
|
|
3655
|
+
`result` type: `ScheduleRuleConfig`
|
|
3656
|
+
|
|
3657
|
+
| Field | Type |
|
|
3658
|
+
| --- | --- |
|
|
3659
|
+
| `Name` | `string` |
|
|
3660
|
+
| `IsEnabled` | `bool` |
|
|
3661
|
+
| `Schedule` | `ScheduleConfig` |
|
|
3662
|
+
| `DataTypes` | `List<string>` |
|
|
3663
|
+
| `Providers` | `List<string>` |
|
|
3664
|
+
| `Permissions` | `DataPermissionsConfig` |
|
|
3665
|
+
|
|
3666
|
+
**Example**
|
|
3667
|
+
|
|
3668
|
+
```js
|
|
3669
|
+
const { isError, message, result } = await oasis.hyperDrive.updateScheduleRule({
|
|
3670
|
+
name: "example string",
|
|
3671
|
+
isEnabled: true,
|
|
3672
|
+
schedule: { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] },
|
|
3673
|
+
dataTypes: ["example string"],
|
|
3674
|
+
providers: ["example string"],
|
|
3675
|
+
permissions: { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } }
|
|
3676
|
+
});
|
|
3677
|
+
if (isError) throw new Error(message);
|
|
3678
|
+
console.log(result);
|
|
3679
|
+
```
|
|
3680
|
+
|
|
3681
|
+
Example response:
|
|
3682
|
+
|
|
3683
|
+
```json
|
|
3684
|
+
{
|
|
3685
|
+
"isError": false,
|
|
3686
|
+
"message": "",
|
|
3687
|
+
"result": { "Name": "example string", "IsEnabled": true, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] }, "DataTypes": ["example string"], "Providers": ["example string"], "Permissions": { "AvatarPermissions": { "IsEnabled": true, "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "HolonPermissions": { "IsEnabled": true, "HolonTypes": [{ "HolonType": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true, "ProviderTypes": ["example string"], "Fields": [{ "FieldName": "example string", "Permission": "example string", "IsEncrypted": true, "IsRequired": true }] }], "DefaultPermission": "example string", "ProviderOverrides": { "<string>": [] } }, "ProviderPermissions": { "IsEnabled": true, "Providers": [{ "ProviderType": "example string", "Permission": "example string", "AllowedDataTypes": ["example string"], "CostLimit": 1.0, "GasFeeLimit": 1.0, "Schedule": {} }] }, "FieldLevelPermissions": { "IsEnabled": true, "Rules": [{ "FieldPath": "example string", "DataType": "example string", "Permissions": { "<string>": "example string" }, "Encryption": { "<string>": true }, "Required": { "<string>": true } }] }, "AccessControl": { "IsEnabled": true, "AuthenticationRequired": true, "AuthorizationLevel": "example string", "EncryptionLevel": "example string", "AuditLogging": true, "AccessPolicies": [{ "Name": "example string", "Condition": { "UserRole": "example string", "SubscriptionPlan": "example string", "TimeWindow": { "Start": "example string", "End": "example string", "TimeZone": "example string", "DaysOfWeek": ["example string"] }, "Location": "example string", "DeviceType": "example string" }, "Permissions": "example string", "Providers": ["example string"], "DataTypes": ["example string"] }] } } }
|
|
3688
|
+
}
|
|
3689
|
+
```
|
|
3690
|
+
|
|
3691
|
+
---
|
|
3692
|
+
|
|
3693
|
+
### `updateSubscriptionConfig`
|
|
3694
|
+
|
|
3695
|
+
Updates subscription configuration
|
|
3696
|
+
|
|
3697
|
+
**PUT** `api/hyperDrive/subscription/config`
|
|
3698
|
+
|
|
3699
|
+
**Request**
|
|
3700
|
+
|
|
3701
|
+
Body type: `SubscriptionConfig`
|
|
3702
|
+
|
|
3703
|
+
| Field | Type |
|
|
3704
|
+
| --- | --- |
|
|
3705
|
+
| `PlanType` | `string` |
|
|
3706
|
+
| `MaxReplicationsPerMonth` | `int` |
|
|
3707
|
+
| `MaxFailoversPerMonth` | `int` |
|
|
3708
|
+
| `MaxRequestsPerMonth` | `int` |
|
|
3709
|
+
| `MaxStorageGB` | `int` |
|
|
3710
|
+
| `PayAsYouGoEnabled` | `bool` |
|
|
3711
|
+
| `CostPerReplication` | `decimal` |
|
|
3712
|
+
| `CostPerFailover` | `decimal` |
|
|
3713
|
+
| `CostPerGB` | `decimal` |
|
|
3714
|
+
| `Currency` | `string` |
|
|
3715
|
+
| `BillingCycle` | `string` |
|
|
3716
|
+
| `UsageAlerts` | `List<UsageAlertConfig>` |
|
|
3717
|
+
| `QuotaNotifications` | `List<QuotaNotificationConfig>` |
|
|
3718
|
+
|
|
3719
|
+
**Response**
|
|
3720
|
+
|
|
3721
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3722
|
+
|
|
3723
|
+
`result` type: `bool`
|
|
3724
|
+
|
|
3725
|
+
**Example**
|
|
3726
|
+
|
|
3727
|
+
```js
|
|
3728
|
+
const { isError, message, result } = await oasis.hyperDrive.updateSubscriptionConfig({
|
|
3729
|
+
planType: "example string",
|
|
3730
|
+
maxReplicationsPerMonth: 1,
|
|
3731
|
+
maxFailoversPerMonth: 1,
|
|
3732
|
+
maxRequestsPerMonth: 1,
|
|
3733
|
+
maxStorageGB: 1,
|
|
3734
|
+
payAsYouGoEnabled: true,
|
|
3735
|
+
costPerReplication: 1.0,
|
|
3736
|
+
costPerFailover: 1.0,
|
|
3737
|
+
costPerGB: 1.0,
|
|
3738
|
+
currency: "example string",
|
|
3739
|
+
billingCycle: "example string",
|
|
3740
|
+
usageAlerts: [{ "Id": "example string", "Name": "example string", "Threshold": 1.0, "ThresholdType": "example string", "NotificationChannels": ["example string"], "IsEnabled": true }],
|
|
3741
|
+
quotaNotifications: [{ "Id": "example string", "Name": "example string", "QuotaType": "example string", "Threshold": 1.0, "NotificationChannels": ["example string"], "Actions": [{ "Type": "example string", "Value": {}, "Schedule": { "Type": "example string", "Interval": 1, "IntervalUnit": "example string", "CronExpression": "example string", "TimeZone": "example string", "StartTime": "example string", "EndTime": "example string", "DaysOfWeek": ["example string"], "DaysOfMonth": [1] } }], "IsEnabled": true }]
|
|
3742
|
+
});
|
|
3743
|
+
if (isError) throw new Error(message);
|
|
3744
|
+
console.log(result);
|
|
3745
|
+
```
|
|
3746
|
+
|
|
3747
|
+
Example response:
|
|
3748
|
+
|
|
3749
|
+
```json
|
|
3750
|
+
{
|
|
3751
|
+
"isError": false,
|
|
3752
|
+
"message": "",
|
|
3753
|
+
"result": true
|
|
3754
|
+
}
|
|
3755
|
+
```
|
|
3756
|
+
|
|
3757
|
+
---
|
|
3758
|
+
|
|
3759
|
+
### `updateUsageAlert`
|
|
3760
|
+
|
|
3761
|
+
**PUT** `api/hyperDrive/subscription/usage-alerts/{id}`
|
|
3762
|
+
|
|
3763
|
+
Route parameters:
|
|
3764
|
+
|
|
3765
|
+
| Field | Type |
|
|
3766
|
+
| --- | --- |
|
|
3767
|
+
| `id` | `string` |
|
|
3768
|
+
|
|
3769
|
+
**Request**
|
|
3770
|
+
|
|
3771
|
+
Body type: `UsageAlertConfig`
|
|
3772
|
+
|
|
3773
|
+
| Field | Type |
|
|
3774
|
+
| --- | --- |
|
|
3775
|
+
| `Id` | `string` |
|
|
3776
|
+
| `Name` | `string` |
|
|
3777
|
+
| `Threshold` | `decimal` |
|
|
3778
|
+
| `ThresholdType` | `string` |
|
|
3779
|
+
| `NotificationChannels` | `List<string>` |
|
|
3780
|
+
| `IsEnabled` | `bool` |
|
|
3781
|
+
|
|
3782
|
+
**Response**
|
|
3783
|
+
|
|
3784
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3785
|
+
|
|
3786
|
+
`result` type: `UsageAlertConfig`
|
|
3787
|
+
|
|
3788
|
+
| Field | Type |
|
|
3789
|
+
| --- | --- |
|
|
3790
|
+
| `Id` | `string` |
|
|
3791
|
+
| `Name` | `string` |
|
|
3792
|
+
| `Threshold` | `decimal` |
|
|
3793
|
+
| `ThresholdType` | `string` |
|
|
3794
|
+
| `NotificationChannels` | `List<string>` |
|
|
3795
|
+
| `IsEnabled` | `bool` |
|
|
3796
|
+
|
|
3797
|
+
**Example**
|
|
3798
|
+
|
|
3799
|
+
```js
|
|
3800
|
+
const { isError, message, result } = await oasis.hyperDrive.updateUsageAlert({
|
|
3801
|
+
id: "example string",
|
|
3802
|
+
name: "example string",
|
|
3803
|
+
threshold: 1.0,
|
|
3804
|
+
thresholdType: "example string",
|
|
3805
|
+
notificationChannels: ["example string"],
|
|
3806
|
+
isEnabled: true
|
|
3807
|
+
});
|
|
3808
|
+
if (isError) throw new Error(message);
|
|
3809
|
+
console.log(result);
|
|
3810
|
+
```
|
|
3811
|
+
|
|
3812
|
+
Example response:
|
|
3813
|
+
|
|
3814
|
+
```json
|
|
3815
|
+
{
|
|
3816
|
+
"isError": false,
|
|
3817
|
+
"message": "",
|
|
3818
|
+
"result": { "Id": "example string", "Name": "example string", "Threshold": 1.0, "ThresholdType": "example string", "NotificationChannels": ["example string"], "IsEnabled": true }
|
|
3819
|
+
}
|
|
3820
|
+
```
|
|
3821
|
+
|
|
3822
|
+
---
|
|
3823
|
+
|
|
3824
|
+
### `validateConfiguration`
|
|
3825
|
+
|
|
3826
|
+
Validates the current configuration
|
|
3827
|
+
|
|
3828
|
+
**POST** `api/hyperDrive/config/validate`
|
|
3829
|
+
|
|
3830
|
+
**Request**
|
|
3831
|
+
|
|
3832
|
+
No request body.
|
|
3833
|
+
|
|
3834
|
+
**Response**
|
|
3835
|
+
|
|
3836
|
+
Standard `OASISResult` envelope (see top of this page) with:
|
|
3837
|
+
|
|
3838
|
+
`result` type: `bool`
|
|
3839
|
+
|
|
3840
|
+
**Example**
|
|
3841
|
+
|
|
3842
|
+
```js
|
|
3843
|
+
const { isError, message, result } = await oasis.hyperDrive.validateConfiguration({});
|
|
3844
|
+
if (isError) throw new Error(message);
|
|
3845
|
+
console.log(result);
|
|
3846
|
+
```
|
|
3847
|
+
|
|
3848
|
+
Example response:
|
|
3849
|
+
|
|
3850
|
+
```json
|
|
3851
|
+
{
|
|
3852
|
+
"isError": false,
|
|
3853
|
+
"message": "",
|
|
3854
|
+
"result": true
|
|
3855
|
+
}
|
|
3856
|
+
```
|
|
3857
|
+
|