@oasisomniverse/web5-api 1.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.
Files changed (92) hide show
  1. package/README.md +250 -0
  2. package/docs/README.md +44 -0
  3. package/docs/modules/Avatar.md +606 -0
  4. package/docs/modules/CelestialBodies.md +1051 -0
  5. package/docs/modules/CelestialBodiesMetaData.md +949 -0
  6. package/docs/modules/CelestialSpaces.md +1051 -0
  7. package/docs/modules/Chapters.md +955 -0
  8. package/docs/modules/Competition.md +594 -0
  9. package/docs/modules/Cosmic.md +3653 -0
  10. package/docs/modules/Games.md +2619 -0
  11. package/docs/modules/GeoHotSpots.md +1027 -0
  12. package/docs/modules/GeoNFTs.md +1049 -0
  13. package/docs/modules/Health.md +90 -0
  14. package/docs/modules/Holons.md +1139 -0
  15. package/docs/modules/HolonsMetaData.md +949 -0
  16. package/docs/modules/InventoryItems.md +1071 -0
  17. package/docs/modules/Libraries.md +1052 -0
  18. package/docs/modules/Missions.md +1286 -0
  19. package/docs/modules/NFTs.md +1008 -0
  20. package/docs/modules/OAPPs.md +1190 -0
  21. package/docs/modules/Parks.md +1079 -0
  22. package/docs/modules/Plugins.md +1138 -0
  23. package/docs/modules/Quests.md +1941 -0
  24. package/docs/modules/Runtimes.md +1112 -0
  25. package/docs/modules/STAR.md +178 -0
  26. package/docs/modules/Templates.md +990 -0
  27. package/docs/modules/Zomes.md +1049 -0
  28. package/docs/modules/ZomesMetaData.md +949 -0
  29. package/index.d.ts +97 -0
  30. package/index.js +3 -0
  31. package/index.mjs +4 -0
  32. package/package.json +117 -0
  33. package/src/core/httpClient.js +110 -0
  34. package/src/core/routeHelper.js +85 -0
  35. package/src/core/tokenStore.js +52 -0
  36. package/src/core/types.d.ts +18 -0
  37. package/src/index.js +60 -0
  38. package/src/modules/Auth.d.ts +15 -0
  39. package/src/modules/Auth.js +62 -0
  40. package/src/modules/Avatar.d.ts +45 -0
  41. package/src/modules/Avatar.js +47 -0
  42. package/src/modules/CelestialBodies.d.ts +72 -0
  43. package/src/modules/CelestialBodies.js +65 -0
  44. package/src/modules/CelestialBodiesMetaData.d.ts +69 -0
  45. package/src/modules/CelestialBodiesMetaData.js +61 -0
  46. package/src/modules/CelestialSpaces.d.ts +72 -0
  47. package/src/modules/CelestialSpaces.js +65 -0
  48. package/src/modules/Chapters.d.ts +66 -0
  49. package/src/modules/Chapters.js +61 -0
  50. package/src/modules/Competition.d.ts +33 -0
  51. package/src/modules/Competition.js +39 -0
  52. package/src/modules/Cosmic.d.ts +222 -0
  53. package/src/modules/Cosmic.js +165 -0
  54. package/src/modules/Games.d.ts +171 -0
  55. package/src/modules/Games.js +131 -0
  56. package/src/modules/GeoHotSpots.d.ts +66 -0
  57. package/src/modules/GeoHotSpots.js +61 -0
  58. package/src/modules/GeoNFTs.d.ts +72 -0
  59. package/src/modules/GeoNFTs.js +65 -0
  60. package/src/modules/Health.d.ts +12 -0
  61. package/src/modules/Health.js +25 -0
  62. package/src/modules/Holons.d.ts +78 -0
  63. package/src/modules/Holons.js +69 -0
  64. package/src/modules/HolonsMetaData.d.ts +69 -0
  65. package/src/modules/HolonsMetaData.js +61 -0
  66. package/src/modules/InventoryItems.d.ts +69 -0
  67. package/src/modules/InventoryItems.js +63 -0
  68. package/src/modules/Libraries.d.ts +72 -0
  69. package/src/modules/Libraries.js +65 -0
  70. package/src/modules/Missions.d.ts +87 -0
  71. package/src/modules/Missions.js +75 -0
  72. package/src/modules/NFTs.d.ts +69 -0
  73. package/src/modules/NFTs.js +63 -0
  74. package/src/modules/OAPPs.d.ts +69 -0
  75. package/src/modules/OAPPs.js +61 -0
  76. package/src/modules/Parks.d.ts +72 -0
  77. package/src/modules/Parks.js +65 -0
  78. package/src/modules/Plugins.d.ts +78 -0
  79. package/src/modules/Plugins.js +69 -0
  80. package/src/modules/Quests.d.ts +129 -0
  81. package/src/modules/Quests.js +101 -0
  82. package/src/modules/Runtimes.d.ts +81 -0
  83. package/src/modules/Runtimes.js +69 -0
  84. package/src/modules/STAR.d.ts +18 -0
  85. package/src/modules/STAR.js +29 -0
  86. package/src/modules/Templates.d.ts +72 -0
  87. package/src/modules/Templates.js +63 -0
  88. package/src/modules/Zomes.d.ts +72 -0
  89. package/src/modules/Zomes.js +65 -0
  90. package/src/modules/ZomesMetaData.d.ts +69 -0
  91. package/src/modules/ZomesMetaData.js +61 -0
  92. package/src/modules/index.js +67 -0
@@ -0,0 +1,1027 @@
1
+ # GeoHotSpots — `star.geoHotSpots`
2
+
3
+ Source controller: [`GeoHotSpotsController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/STAR%20ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/GeoHotSpotsController.cs)
4
+ Route prefix: `api/geoHotSpots`
5
+ 20 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
+ ### `activateGeoHotSpot`
22
+
23
+ Activates a geo hot spot.
24
+
25
+ **POST** `api/geoHotSpots/{id}/activate`
26
+
27
+ Route parameters:
28
+
29
+ | Field | Type |
30
+ | --- | --- |
31
+ | `id` | `Guid` |
32
+
33
+ **Request**
34
+
35
+ Body fields:
36
+
37
+ | Field | Type |
38
+ | --- | --- |
39
+ | `version` | `int (optional)` |
40
+
41
+ **Response**
42
+
43
+ Standard `OASISResult` envelope (see top of this page) with:
44
+
45
+ `result` type: `IActionResult` (not part of the request/response payload).
46
+
47
+ **Example**
48
+
49
+ ```js
50
+ const { isError, message, result } = await star.geoHotSpots.activateGeoHotSpot({
51
+ id: '<id>',
52
+ version: 1
53
+ });
54
+ if (isError) throw new Error(message);
55
+ console.log(result);
56
+ ```
57
+
58
+ Example response:
59
+
60
+ ```json
61
+ {
62
+ "isError": false,
63
+ "message": "",
64
+ "result": null
65
+ }
66
+ ```
67
+
68
+ ---
69
+
70
+ ### `createGeoHotSpot`
71
+
72
+ Creates a new geo hot spot for the authenticated avatar.
73
+
74
+ **POST** `api/geoHotSpots`
75
+
76
+ **Request**
77
+
78
+ Body type: `GeoHotSpot`
79
+
80
+ | Field | Type |
81
+ | --- | --- |
82
+ | `TriggerType` | `GeoHotSpotTriggeredType` |
83
+ | `TimeInSecondsNeedToBeAtLocationToTriggerHotSpot` | `int` |
84
+ | `Lat` | `double` |
85
+ | `Long` | `double` |
86
+ | `HotSpotRadiusInMetres` | `int` |
87
+ | `Object3D` | `byte[]` |
88
+ | `Object3DURI` | `Uri` |
89
+ | `Image2D` | `byte[]` |
90
+ | `Image2DURI` | `Uri` |
91
+ | `TimeInSecondsNeedToLookAt3DObjectOr2DImageToTriggerHotSpot` | `int` |
92
+ | `Rewards` | `IList<IInventoryItem>` |
93
+ | `RewardIds` | `IList<string>` |
94
+ | `AudioData` | `byte[]` |
95
+ | `AudioUrl` | `string` |
96
+ | `VideoData` | `byte[]` |
97
+ | `VideoUrl` | `string` |
98
+ | `TextContent` | `string` |
99
+ | `WebsiteUrl` | `string` |
100
+
101
+ **Response**
102
+
103
+ Standard `OASISResult` envelope (see top of this page) with:
104
+
105
+ `result` type: `IActionResult` (not part of the request/response payload).
106
+
107
+ **Example**
108
+
109
+ ```js
110
+ const { isError, message, result } = await star.geoHotSpots.createGeoHotSpot({
111
+ triggerType: { },
112
+ timeInSecondsNeedToBeAtLocationToTriggerHotSpot: 1,
113
+ lat: 1.0,
114
+ long: 1.0,
115
+ hotSpotRadiusInMetres: 1,
116
+ object3D: "<base64-bytes>",
117
+ object3DURI: "https://example.com/asset.png",
118
+ image2D: "<base64-bytes>",
119
+ image2DURI: "https://example.com/asset.png",
120
+ timeInSecondsNeedToLookAt3DObjectOr2DImageToTriggerHotSpot: 1,
121
+ rewards: [{ "Image2D": "<base64-bytes>", "Image2DURI": "https://example.com/asset.png", "ThumbnailUrl": "example string", "Object3D": "<base64-bytes>", "Object3DURI": "https://example.com/asset.png", "Quantity": 1, "Stack": true, "IsStackable": true, "GameSource": "example string", "ItemType": "example string", "NftId": "example string", "Rarity": "example string", "MaxQuantity": 1, "Weight": 1.0, "IsUsable": true, "IsTradeable": true, "OwnerAvatarId": "example string", "AcquiredOn": "2026-01-01T00:00:00Z", "LastUsedOn": "2026-01-01T00:00:00Z", "Properties": { "<string>": {} } }],
122
+ rewardIds: ["example string"],
123
+ audioData: "<base64-bytes>",
124
+ audioUrl: "example string",
125
+ videoData: "<base64-bytes>",
126
+ videoUrl: "example string",
127
+ textContent: "example string",
128
+ websiteUrl: "example string"
129
+ });
130
+ if (isError) throw new Error(message);
131
+ console.log(result);
132
+ ```
133
+
134
+ Example response:
135
+
136
+ ```json
137
+ {
138
+ "isError": false,
139
+ "message": "",
140
+ "result": null
141
+ }
142
+ ```
143
+
144
+ ---
145
+
146
+ ### `createGeoHotSpotWithOptions`
147
+
148
+ Creates a new geo hot spot with specified parameters.
149
+
150
+ **POST** `api/geoHotSpots/create`
151
+
152
+ **Request**
153
+
154
+ Body type: `CreateGeoHotSpotRequest`
155
+
156
+ | Field | Type |
157
+ | --- | --- |
158
+ | `Name` | `string` |
159
+ | `Description` | `string` |
160
+ | `HolonSubType` | `HolonType` |
161
+ | `SourceFolderPath` | `string` |
162
+ | `CreateOptions` | `ISTARNETCreateOptions<GeoHotSpot, STARNETDNA>` |
163
+
164
+ **Response**
165
+
166
+ Standard `OASISResult` envelope (see top of this page) with:
167
+
168
+ `result` type: `IActionResult` (not part of the request/response payload).
169
+
170
+ **Example**
171
+
172
+ ```js
173
+ const { isError, message, result } = await star.geoHotSpots.createGeoHotSpotWithOptions({
174
+ name: "example string",
175
+ description: "example string",
176
+ holonSubType: { },
177
+ sourceFolderPath: "example string",
178
+ createOptions: { "STARNETHolon": /* <T1> */, "STARNETDNA": /* <T2> */, "MetaTagMappings": { "MetaHolonTags": [{ "HolonName": "example string", "HolonType": { }, "NodeName": "example string", "NodeType": { "Score": 1.0 }, "MetaTag": "example string" }], "MetaTags": { "<string>": "example string" } }, "CheckIfSourcePathExists": true, "CustomCreateParams": { "<string>": {} } }
179
+ });
180
+ if (isError) throw new Error(message);
181
+ console.log(result);
182
+ ```
183
+
184
+ Example response:
185
+
186
+ ```json
187
+ {
188
+ "isError": false,
189
+ "message": "",
190
+ "result": null
191
+ }
192
+ ```
193
+
194
+ ---
195
+
196
+ ### `deactivateGeoHotSpot`
197
+
198
+ Deactivates a geo hot spot.
199
+
200
+ **POST** `api/geoHotSpots/{id}/deactivate`
201
+
202
+ Route parameters:
203
+
204
+ | Field | Type |
205
+ | --- | --- |
206
+ | `id` | `Guid` |
207
+
208
+ **Request**
209
+
210
+ Body fields:
211
+
212
+ | Field | Type |
213
+ | --- | --- |
214
+ | `version` | `int (optional)` |
215
+
216
+ **Response**
217
+
218
+ Standard `OASISResult` envelope (see top of this page) with:
219
+
220
+ `result` type: `IActionResult` (not part of the request/response payload).
221
+
222
+ **Example**
223
+
224
+ ```js
225
+ const { isError, message, result } = await star.geoHotSpots.deactivateGeoHotSpot({
226
+ id: '<id>',
227
+ version: 1
228
+ });
229
+ if (isError) throw new Error(message);
230
+ console.log(result);
231
+ ```
232
+
233
+ Example response:
234
+
235
+ ```json
236
+ {
237
+ "isError": false,
238
+ "message": "",
239
+ "result": null
240
+ }
241
+ ```
242
+
243
+ ---
244
+
245
+ ### `deleteGeoHotSpot`
246
+
247
+ Deletes a geo hot spot by its unique identifier.
248
+
249
+ **DELETE** `api/geoHotSpots/{id}`
250
+
251
+ Route parameters:
252
+
253
+ | Field | Type |
254
+ | --- | --- |
255
+ | `id` | `Guid` |
256
+
257
+ **Request**
258
+
259
+ No request body.
260
+
261
+ **Response**
262
+
263
+ Standard `OASISResult` envelope (see top of this page) with:
264
+
265
+ `result` type: `IActionResult` (not part of the request/response payload).
266
+
267
+ **Example**
268
+
269
+ ```js
270
+ const { isError, message, result } = await star.geoHotSpots.deleteGeoHotSpot({
271
+ id: '<id>'
272
+ });
273
+ if (isError) throw new Error(message);
274
+ console.log(result);
275
+ ```
276
+
277
+ Example response:
278
+
279
+ ```json
280
+ {
281
+ "isError": false,
282
+ "message": "",
283
+ "result": null
284
+ }
285
+ ```
286
+
287
+ ---
288
+
289
+ ### `downloadGeoHotSpot`
290
+
291
+ Downloads a geo hot spot from the STARNET system.
292
+
293
+ **POST** `api/geoHotSpots/{id}/download`
294
+
295
+ Route parameters:
296
+
297
+ | Field | Type |
298
+ | --- | --- |
299
+ | `id` | `Guid` |
300
+
301
+ **Request**
302
+
303
+ Body fields:
304
+
305
+ | Field | Type |
306
+ | --- | --- |
307
+ | `version` | `int (optional)` |
308
+ | `downloadPath` | `string (optional)` |
309
+ | `reInstall` | `bool (optional)` |
310
+
311
+ **Response**
312
+
313
+ Standard `OASISResult` envelope (see top of this page) with:
314
+
315
+ `result` type: `IActionResult` (not part of the request/response payload).
316
+
317
+ **Example**
318
+
319
+ ```js
320
+ const { isError, message, result } = await star.geoHotSpots.downloadGeoHotSpot({
321
+ id: '<id>',
322
+ version: 1,
323
+ downloadPath: 'example string',
324
+ reInstall: true
325
+ });
326
+ if (isError) throw new Error(message);
327
+ console.log(result);
328
+ ```
329
+
330
+ Example response:
331
+
332
+ ```json
333
+ {
334
+ "isError": false,
335
+ "message": "",
336
+ "result": null
337
+ }
338
+ ```
339
+
340
+ ---
341
+
342
+ ### `editGeoHotSpot`
343
+
344
+ Edits a geo hot spot with new DNA configuration.
345
+
346
+ **POST** `api/geoHotSpots/{id}/edit`
347
+
348
+ Route parameters:
349
+
350
+ | Field | Type |
351
+ | --- | --- |
352
+ | `id` | `Guid` |
353
+
354
+ **Request**
355
+
356
+ Body type: `EditGeoHotSpotRequest`
357
+
358
+ | Field | Type |
359
+ | --- | --- |
360
+ | `NewDNA` | `STARNETDNA` |
361
+
362
+ **Response**
363
+
364
+ Standard `OASISResult` envelope (see top of this page) with:
365
+
366
+ `result` type: `IActionResult` (not part of the request/response payload).
367
+
368
+ **Example**
369
+
370
+ ```js
371
+ const { isError, message, result } = await star.geoHotSpots.editGeoHotSpot({
372
+ id: '<id>',
373
+ newDNA: { "Id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "Name": "example string", "Description": "example string", "STARNETHolonType": "example string", "STARNETCategory": {}, "STARNETSubCategory": {}, "Dependencies": { "OAPPs": [{ "Type": { }, "HolonId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "STARNETHolonId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "Name": "example string", "Description": "example string", "Version": "example string", "VersionSequence": 1, "Install": true, "InstallMode": { }, "InstalledFrom": "example string", "InstalledTo": "example string" }], "Runtimes": [], "Libraries": [], "Templates": [], "NFTs": [], "NFTCollections": [], "GeoNFTs": [], "GeoNFTCollections": [], "GeoHotSpots": [], "Quests": [], "Missions": [], "Chapters": [], "InventoryItems": [], "CelestialSpaces": [], "CelestialBodies": [], "Zomes": [], "Holons": [], "CelestialBodiesMetaDataDNA": [], "ZomesMetaDataDNA": [], "HolonsMetaDataDNA": [] }, "MetaData": { "<string>": {} }, "MetaHolonTagMappings": /* <>> */, "MetaTagMappings": { "<string>": "example string" }, "CreatedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "CreatedByAvatarUsername": "example string", "CreatedOn": "2026-01-01T00:00:00Z", "SourcePath": "example string", "PublishedPath": "example string", "PublishedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "PublishedByAvatarUsername": "example string", "PublishedOn": "2026-01-01T00:00:00Z", "LaunchTarget": "example string", "ModifiedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "ModifiedByAvatarUsername": "example string", "ModifiedOn": "2026-01-01T00:00:00Z", "PublishedOnSTARNET": true, "PublishedToCloud": true, "PublishedToPinata": true, "PinataIPFSHash": "example string", "PublishedProviderType": "example string", "FileSize": 1, "Version": "example string", "OASISRuntimeVersion": "example string", "OASISAPIVersion": "example string", "COSMICVersion": "example string", "STARRuntimeVersion": "example string", "STARODKVersion": "example string", "STARAPIVersion": "example string", "STARNETVersion": "example string", "DotNetVersion": "example string", "VersionSequence": 1, "Downloads": 1, "Installs": 1, "TotalDownloads": 1, "TotalInstalls": 1, "NumberOfVersions": 1 }
374
+ });
375
+ if (isError) throw new Error(message);
376
+ console.log(result);
377
+ ```
378
+
379
+ Example response:
380
+
381
+ ```json
382
+ {
383
+ "isError": false,
384
+ "message": "",
385
+ "result": null
386
+ }
387
+ ```
388
+
389
+ ---
390
+
391
+ ### `getAllGeoHotSpots`
392
+
393
+ Retrieves all geo hot spots in the system.
394
+
395
+ **GET** `api/geoHotSpots`
396
+
397
+ **Request**
398
+
399
+ No request body.
400
+
401
+ **Response**
402
+
403
+ Standard `OASISResult` envelope (see top of this page) with:
404
+
405
+ `result` type: `IActionResult` (not part of the request/response payload).
406
+
407
+ **Example**
408
+
409
+ ```js
410
+ const { isError, message, result } = await star.geoHotSpots.getAllGeoHotSpots({});
411
+ if (isError) throw new Error(message);
412
+ console.log(result);
413
+ ```
414
+
415
+ Example response:
416
+
417
+ ```json
418
+ {
419
+ "isError": false,
420
+ "message": "",
421
+ "result": null
422
+ }
423
+ ```
424
+
425
+ ---
426
+
427
+ ### `getGeoHotSpot`
428
+
429
+ Retrieves a specific geo hot spot by its unique identifier.
430
+
431
+ **GET** `api/geoHotSpots/{id}`
432
+
433
+ Route parameters:
434
+
435
+ | Field | Type |
436
+ | --- | --- |
437
+ | `id` | `Guid` |
438
+
439
+ **Request**
440
+
441
+ No request body.
442
+
443
+ **Response**
444
+
445
+ Standard `OASISResult` envelope (see top of this page) with:
446
+
447
+ `result` type: `IActionResult` (not part of the request/response payload).
448
+
449
+ **Example**
450
+
451
+ ```js
452
+ const { isError, message, result } = await star.geoHotSpots.getGeoHotSpot({
453
+ id: '<id>'
454
+ });
455
+ if (isError) throw new Error(message);
456
+ console.log(result);
457
+ ```
458
+
459
+ Example response:
460
+
461
+ ```json
462
+ {
463
+ "isError": false,
464
+ "message": "",
465
+ "result": null
466
+ }
467
+ ```
468
+
469
+ ---
470
+
471
+ ### `getGeoHotSpotVersions`
472
+
473
+ Gets all versions of a specific geo hot spot.
474
+
475
+ **GET** `api/geoHotSpots/{id}/versions`
476
+
477
+ Route parameters:
478
+
479
+ | Field | Type |
480
+ | --- | --- |
481
+ | `id` | `Guid` |
482
+
483
+ **Request**
484
+
485
+ No request body.
486
+
487
+ **Response**
488
+
489
+ Standard `OASISResult` envelope (see top of this page) with:
490
+
491
+ `result` type: `IActionResult` (not part of the request/response payload).
492
+
493
+ **Example**
494
+
495
+ ```js
496
+ const { isError, message, result } = await star.geoHotSpots.getGeoHotSpotVersions({
497
+ id: '<id>'
498
+ });
499
+ if (isError) throw new Error(message);
500
+ console.log(result);
501
+ ```
502
+
503
+ Example response:
504
+
505
+ ```json
506
+ {
507
+ "isError": false,
508
+ "message": "",
509
+ "result": null
510
+ }
511
+ ```
512
+
513
+ ---
514
+
515
+ ### `getNearbyGeoHotSpots`
516
+
517
+ Retrieves geo hot spots within a specified radius of given coordinates.
518
+
519
+ **GET** `api/geoHotSpots/nearby`
520
+
521
+ **Request**
522
+
523
+ Query parameters:
524
+
525
+ | Field | Type |
526
+ | --- | --- |
527
+ | `latitude` | `double` |
528
+ | `longitude` | `double` |
529
+ | `radiusKm` | `double (optional)` |
530
+
531
+ **Response**
532
+
533
+ Standard `OASISResult` envelope (see top of this page) with:
534
+
535
+ `result` type: `IActionResult` (not part of the request/response payload).
536
+
537
+ **Example**
538
+
539
+ ```js
540
+ const { isError, message, result } = await star.geoHotSpots.getNearbyGeoHotSpots({
541
+ latitude: 1.0,
542
+ longitude: 1.0,
543
+ radiusKm: 1.0
544
+ });
545
+ if (isError) throw new Error(message);
546
+ console.log(result);
547
+ ```
548
+
549
+ Example response:
550
+
551
+ ```json
552
+ {
553
+ "isError": false,
554
+ "message": "",
555
+ "result": null
556
+ }
557
+ ```
558
+
559
+ ---
560
+
561
+ ### `loadAllGeoHotSpotsForAvatar`
562
+
563
+ Loads all geo hot spots for the authenticated avatar.
564
+
565
+ **GET** `api/geoHotSpots/load-all-for-avatar`
566
+
567
+ **Request**
568
+
569
+ Query parameters:
570
+
571
+ | Field | Type |
572
+ | --- | --- |
573
+ | `showAllVersions` | `bool (optional)` |
574
+ | `version` | `int (optional)` |
575
+
576
+ **Response**
577
+
578
+ Standard `OASISResult` envelope (see top of this page) with:
579
+
580
+ `result` type: `IActionResult` (not part of the request/response payload).
581
+
582
+ **Example**
583
+
584
+ ```js
585
+ const { isError, message, result } = await star.geoHotSpots.loadAllGeoHotSpotsForAvatar({
586
+ showAllVersions: true,
587
+ version: 1
588
+ });
589
+ if (isError) throw new Error(message);
590
+ console.log(result);
591
+ ```
592
+
593
+ Example response:
594
+
595
+ ```json
596
+ {
597
+ "isError": false,
598
+ "message": "",
599
+ "result": null
600
+ }
601
+ ```
602
+
603
+ ---
604
+
605
+ ### `loadGeoHotSpot`
606
+
607
+ Loads a geo hot spot by ID with optional version and holon type.
608
+
609
+ **GET** `api/geoHotSpots/{id}/load`
610
+
611
+ Route parameters:
612
+
613
+ | Field | Type |
614
+ | --- | --- |
615
+ | `id` | `Guid` |
616
+
617
+ **Request**
618
+
619
+ Query parameters:
620
+
621
+ | Field | Type |
622
+ | --- | --- |
623
+ | `version` | `int (optional)` |
624
+ | `holonType` | `string (optional)` |
625
+
626
+ **Response**
627
+
628
+ Standard `OASISResult` envelope (see top of this page) with:
629
+
630
+ `result` type: `IActionResult` (not part of the request/response payload).
631
+
632
+ **Example**
633
+
634
+ ```js
635
+ const { isError, message, result } = await star.geoHotSpots.loadGeoHotSpot({
636
+ id: '<id>',
637
+ version: 1,
638
+ holonType: 'example string'
639
+ });
640
+ if (isError) throw new Error(message);
641
+ console.log(result);
642
+ ```
643
+
644
+ Example response:
645
+
646
+ ```json
647
+ {
648
+ "isError": false,
649
+ "message": "",
650
+ "result": null
651
+ }
652
+ ```
653
+
654
+ ---
655
+
656
+ ### `loadGeoHotSpotFromPath`
657
+
658
+ Loads a geo hot spot from source or installed folder path.
659
+
660
+ **GET** `api/geoHotSpots/load-from-path`
661
+
662
+ **Request**
663
+
664
+ Query parameters:
665
+
666
+ | Field | Type |
667
+ | --- | --- |
668
+ | `path` | `string` |
669
+ | `holonType` | `string (optional)` |
670
+
671
+ **Response**
672
+
673
+ Standard `OASISResult` envelope (see top of this page) with:
674
+
675
+ `result` type: `IActionResult` (not part of the request/response payload).
676
+
677
+ **Example**
678
+
679
+ ```js
680
+ const { isError, message, result } = await star.geoHotSpots.loadGeoHotSpotFromPath({
681
+ path: 'example string',
682
+ holonType: 'example string'
683
+ });
684
+ if (isError) throw new Error(message);
685
+ console.log(result);
686
+ ```
687
+
688
+ Example response:
689
+
690
+ ```json
691
+ {
692
+ "isError": false,
693
+ "message": "",
694
+ "result": null
695
+ }
696
+ ```
697
+
698
+ ---
699
+
700
+ ### `loadGeoHotSpotFromPublished`
701
+
702
+ Loads a geo hot spot from a published file.
703
+
704
+ **GET** `api/geoHotSpots/load-from-published`
705
+
706
+ **Request**
707
+
708
+ Query parameters:
709
+
710
+ | Field | Type |
711
+ | --- | --- |
712
+ | `publishedFilePath` | `string` |
713
+
714
+ **Response**
715
+
716
+ Standard `OASISResult` envelope (see top of this page) with:
717
+
718
+ `result` type: `IActionResult` (not part of the request/response payload).
719
+
720
+ **Example**
721
+
722
+ ```js
723
+ const { isError, message, result } = await star.geoHotSpots.loadGeoHotSpotFromPublished({
724
+ publishedFilePath: 'example string'
725
+ });
726
+ if (isError) throw new Error(message);
727
+ console.log(result);
728
+ ```
729
+
730
+ Example response:
731
+
732
+ ```json
733
+ {
734
+ "isError": false,
735
+ "message": "",
736
+ "result": null
737
+ }
738
+ ```
739
+
740
+ ---
741
+
742
+ ### `loadGeoHotSpotVersion`
743
+
744
+ Loads a specific version of a geo hot spot.
745
+
746
+ **GET** `api/geoHotSpots/{id}/version/{version}`
747
+
748
+ Route parameters:
749
+
750
+ | Field | Type |
751
+ | --- | --- |
752
+ | `id` | `Guid` |
753
+ | `version` | `string` |
754
+
755
+ **Request**
756
+
757
+ No request body.
758
+
759
+ **Response**
760
+
761
+ Standard `OASISResult` envelope (see top of this page) with:
762
+
763
+ `result` type: `IActionResult` (not part of the request/response payload).
764
+
765
+ **Example**
766
+
767
+ ```js
768
+ const { isError, message, result } = await star.geoHotSpots.loadGeoHotSpotVersion({
769
+ id: '<id>',
770
+ version: '<version>'
771
+ });
772
+ if (isError) throw new Error(message);
773
+ console.log(result);
774
+ ```
775
+
776
+ Example response:
777
+
778
+ ```json
779
+ {
780
+ "isError": false,
781
+ "message": "",
782
+ "result": null
783
+ }
784
+ ```
785
+
786
+ ---
787
+
788
+ ### `publishGeoHotSpot`
789
+
790
+ Publishes a geo hot spot to the STARNET system.
791
+
792
+ **POST** `api/geoHotSpots/{id}/publish`
793
+
794
+ Route parameters:
795
+
796
+ | Field | Type |
797
+ | --- | --- |
798
+ | `id` | `Guid` |
799
+
800
+ **Request**
801
+
802
+ Body type: `PublishRequest`
803
+
804
+ | Field | Type |
805
+ | --- | --- |
806
+ | `SourcePath` | `string` |
807
+ | `LaunchTarget` | `string` |
808
+ | `PublishPath` | `string` |
809
+ | `Edit` | `bool` |
810
+ | `RegisterOnSTARNET` | `bool` |
811
+ | `GenerateBinary` | `bool` |
812
+ | `UploadToCloud` | `bool` |
813
+
814
+ **Response**
815
+
816
+ Standard `OASISResult` envelope (see top of this page) with:
817
+
818
+ `result` type: `IActionResult` (not part of the request/response payload).
819
+
820
+ **Example**
821
+
822
+ ```js
823
+ const { isError, message, result } = await star.geoHotSpots.publishGeoHotSpot({
824
+ id: '<id>',
825
+ sourcePath: "example string",
826
+ launchTarget: "example string",
827
+ publishPath: "example string",
828
+ edit: true,
829
+ registerOnSTARNET: true,
830
+ generateBinary: true,
831
+ uploadToCloud: true
832
+ });
833
+ if (isError) throw new Error(message);
834
+ console.log(result);
835
+ ```
836
+
837
+ Example response:
838
+
839
+ ```json
840
+ {
841
+ "isError": false,
842
+ "message": "",
843
+ "result": null
844
+ }
845
+ ```
846
+
847
+ ---
848
+
849
+ ### `republishGeoHotSpot`
850
+
851
+ Republishes a geo hot spot to the STARNET system.
852
+
853
+ **POST** `api/geoHotSpots/{id}/republish`
854
+
855
+ Route parameters:
856
+
857
+ | Field | Type |
858
+ | --- | --- |
859
+ | `id` | `Guid` |
860
+
861
+ **Request**
862
+
863
+ Body fields:
864
+
865
+ | Field | Type |
866
+ | --- | --- |
867
+ | `version` | `int (optional)` |
868
+
869
+ **Response**
870
+
871
+ Standard `OASISResult` envelope (see top of this page) with:
872
+
873
+ `result` type: `IActionResult` (not part of the request/response payload).
874
+
875
+ **Example**
876
+
877
+ ```js
878
+ const { isError, message, result } = await star.geoHotSpots.republishGeoHotSpot({
879
+ id: '<id>',
880
+ version: 1
881
+ });
882
+ if (isError) throw new Error(message);
883
+ console.log(result);
884
+ ```
885
+
886
+ Example response:
887
+
888
+ ```json
889
+ {
890
+ "isError": false,
891
+ "message": "",
892
+ "result": null
893
+ }
894
+ ```
895
+
896
+ ---
897
+
898
+ ### `unpublishGeoHotSpot`
899
+
900
+ Unpublishes a geo hot spot from the STARNET system.
901
+
902
+ **POST** `api/geoHotSpots/{id}/unpublish`
903
+
904
+ Route parameters:
905
+
906
+ | Field | Type |
907
+ | --- | --- |
908
+ | `id` | `Guid` |
909
+
910
+ **Request**
911
+
912
+ Body fields:
913
+
914
+ | Field | Type |
915
+ | --- | --- |
916
+ | `version` | `int (optional)` |
917
+
918
+ **Response**
919
+
920
+ Standard `OASISResult` envelope (see top of this page) with:
921
+
922
+ `result` type: `IActionResult` (not part of the request/response payload).
923
+
924
+ **Example**
925
+
926
+ ```js
927
+ const { isError, message, result } = await star.geoHotSpots.unpublishGeoHotSpot({
928
+ id: '<id>',
929
+ version: 1
930
+ });
931
+ if (isError) throw new Error(message);
932
+ console.log(result);
933
+ ```
934
+
935
+ Example response:
936
+
937
+ ```json
938
+ {
939
+ "isError": false,
940
+ "message": "",
941
+ "result": null
942
+ }
943
+ ```
944
+
945
+ ---
946
+
947
+ ### `updateGeoHotSpot`
948
+
949
+ Updates an existing geo hot spot by its unique identifier.
950
+
951
+ **PUT** `api/geoHotSpots/{id}`
952
+
953
+ Route parameters:
954
+
955
+ | Field | Type |
956
+ | --- | --- |
957
+ | `id` | `Guid` |
958
+
959
+ **Request**
960
+
961
+ Body type: `GeoHotSpot`
962
+
963
+ | Field | Type |
964
+ | --- | --- |
965
+ | `TriggerType` | `GeoHotSpotTriggeredType` |
966
+ | `TimeInSecondsNeedToBeAtLocationToTriggerHotSpot` | `int` |
967
+ | `Lat` | `double` |
968
+ | `Long` | `double` |
969
+ | `HotSpotRadiusInMetres` | `int` |
970
+ | `Object3D` | `byte[]` |
971
+ | `Object3DURI` | `Uri` |
972
+ | `Image2D` | `byte[]` |
973
+ | `Image2DURI` | `Uri` |
974
+ | `TimeInSecondsNeedToLookAt3DObjectOr2DImageToTriggerHotSpot` | `int` |
975
+ | `Rewards` | `IList<IInventoryItem>` |
976
+ | `RewardIds` | `IList<string>` |
977
+ | `AudioData` | `byte[]` |
978
+ | `AudioUrl` | `string` |
979
+ | `VideoData` | `byte[]` |
980
+ | `VideoUrl` | `string` |
981
+ | `TextContent` | `string` |
982
+ | `WebsiteUrl` | `string` |
983
+
984
+ **Response**
985
+
986
+ Standard `OASISResult` envelope (see top of this page) with:
987
+
988
+ `result` type: `IActionResult` (not part of the request/response payload).
989
+
990
+ **Example**
991
+
992
+ ```js
993
+ const { isError, message, result } = await star.geoHotSpots.updateGeoHotSpot({
994
+ id: '<id>',
995
+ triggerType: { },
996
+ timeInSecondsNeedToBeAtLocationToTriggerHotSpot: 1,
997
+ lat: 1.0,
998
+ long: 1.0,
999
+ hotSpotRadiusInMetres: 1,
1000
+ object3D: "<base64-bytes>",
1001
+ object3DURI: "https://example.com/asset.png",
1002
+ image2D: "<base64-bytes>",
1003
+ image2DURI: "https://example.com/asset.png",
1004
+ timeInSecondsNeedToLookAt3DObjectOr2DImageToTriggerHotSpot: 1,
1005
+ rewards: [{ "Image2D": "<base64-bytes>", "Image2DURI": "https://example.com/asset.png", "ThumbnailUrl": "example string", "Object3D": "<base64-bytes>", "Object3DURI": "https://example.com/asset.png", "Quantity": 1, "Stack": true, "IsStackable": true, "GameSource": "example string", "ItemType": "example string", "NftId": "example string", "Rarity": "example string", "MaxQuantity": 1, "Weight": 1.0, "IsUsable": true, "IsTradeable": true, "OwnerAvatarId": "example string", "AcquiredOn": "2026-01-01T00:00:00Z", "LastUsedOn": "2026-01-01T00:00:00Z", "Properties": { "<string>": {} } }],
1006
+ rewardIds: ["example string"],
1007
+ audioData: "<base64-bytes>",
1008
+ audioUrl: "example string",
1009
+ videoData: "<base64-bytes>",
1010
+ videoUrl: "example string",
1011
+ textContent: "example string",
1012
+ websiteUrl: "example string"
1013
+ });
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": null
1025
+ }
1026
+ ```
1027
+