@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,1049 @@
1
+ # GeoNFTs — `star.geoNFTs`
2
+
3
+ Source controller: [`GeoNFTsController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/STAR%20ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/GeoNFTsController.cs)
4
+ Route prefix: `api/geoNFTs`
5
+ 22 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
+ ### `activateGeoNFT`
22
+
23
+ Activates a geo NFT.
24
+
25
+ **POST** `api/geoNFTs/{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.geoNFTs.activateGeoNFT({
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
+ ### `createGeoNFT`
71
+
72
+ Creates a new geo NFT for the authenticated avatar.
73
+
74
+ **POST** `api/geoNFTs`
75
+
76
+ **Request**
77
+
78
+ Body type: `STARGeoNFT`
79
+
80
+ | Field | Type |
81
+ | --- | --- |
82
+ | `NFTType` | `NFTType` |
83
+ | `GeoNFTId` | `Guid` |
84
+
85
+ **Response**
86
+
87
+ Standard `OASISResult` envelope (see top of this page) with:
88
+
89
+ `result` type: `IActionResult` (not part of the request/response payload).
90
+
91
+ **Example**
92
+
93
+ ```js
94
+ const { isError, message, result } = await star.geoNFTs.createGeoNFT({
95
+ nFTType: { },
96
+ geoNFTId: "3fa85f64-5717-4562-b3fc-2c963f66afa6"
97
+ });
98
+ if (isError) throw new Error(message);
99
+ console.log(result);
100
+ ```
101
+
102
+ Example response:
103
+
104
+ ```json
105
+ {
106
+ "isError": false,
107
+ "message": "",
108
+ "result": null
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ### `createGeoNFTWithOptions`
115
+
116
+ Creates a new geo NFT with specified parameters.
117
+
118
+ **POST** `api/geoNFTs/create`
119
+
120
+ **Request**
121
+
122
+ Body type: `CreateGeoNFTRequest`
123
+
124
+ | Field | Type |
125
+ | --- | --- |
126
+ | `Name` | `string` |
127
+ | `Description` | `string` |
128
+ | `HolonSubType` | `HolonType` |
129
+ | `SourceFolderPath` | `string` |
130
+ | `CreateOptions` | `ISTARNETCreateOptions<STARGeoNFT, STARNETDNA>` |
131
+
132
+ **Response**
133
+
134
+ Standard `OASISResult` envelope (see top of this page) with:
135
+
136
+ `result` type: `IActionResult` (not part of the request/response payload).
137
+
138
+ **Example**
139
+
140
+ ```js
141
+ const { isError, message, result } = await star.geoNFTs.createGeoNFTWithOptions({
142
+ name: "example string",
143
+ description: "example string",
144
+ holonSubType: { },
145
+ sourceFolderPath: "example string",
146
+ 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>": {} } }
147
+ });
148
+ if (isError) throw new Error(message);
149
+ console.log(result);
150
+ ```
151
+
152
+ Example response:
153
+
154
+ ```json
155
+ {
156
+ "isError": false,
157
+ "message": "",
158
+ "result": null
159
+ }
160
+ ```
161
+
162
+ ---
163
+
164
+ ### `deactivateGeoNFT`
165
+
166
+ Deactivates a geo NFT.
167
+
168
+ **POST** `api/geoNFTs/{id}/deactivate`
169
+
170
+ Route parameters:
171
+
172
+ | Field | Type |
173
+ | --- | --- |
174
+ | `id` | `Guid` |
175
+
176
+ **Request**
177
+
178
+ Body fields:
179
+
180
+ | Field | Type |
181
+ | --- | --- |
182
+ | `version` | `int (optional)` |
183
+
184
+ **Response**
185
+
186
+ Standard `OASISResult` envelope (see top of this page) with:
187
+
188
+ `result` type: `IActionResult` (not part of the request/response payload).
189
+
190
+ **Example**
191
+
192
+ ```js
193
+ const { isError, message, result } = await star.geoNFTs.deactivateGeoNFT({
194
+ id: '<id>',
195
+ version: 1
196
+ });
197
+ if (isError) throw new Error(message);
198
+ console.log(result);
199
+ ```
200
+
201
+ Example response:
202
+
203
+ ```json
204
+ {
205
+ "isError": false,
206
+ "message": "",
207
+ "result": null
208
+ }
209
+ ```
210
+
211
+ ---
212
+
213
+ ### `deleteGeoNFT`
214
+
215
+ Deletes a geo NFT by its unique identifier.
216
+
217
+ **DELETE** `api/geoNFTs/{id}`
218
+
219
+ Route parameters:
220
+
221
+ | Field | Type |
222
+ | --- | --- |
223
+ | `id` | `Guid` |
224
+
225
+ **Request**
226
+
227
+ No request body.
228
+
229
+ **Response**
230
+
231
+ Standard `OASISResult` envelope (see top of this page) with:
232
+
233
+ `result` type: `IActionResult` (not part of the request/response payload).
234
+
235
+ **Example**
236
+
237
+ ```js
238
+ const { isError, message, result } = await star.geoNFTs.deleteGeoNFT({
239
+ id: '<id>'
240
+ });
241
+ if (isError) throw new Error(message);
242
+ console.log(result);
243
+ ```
244
+
245
+ Example response:
246
+
247
+ ```json
248
+ {
249
+ "isError": false,
250
+ "message": "",
251
+ "result": null
252
+ }
253
+ ```
254
+
255
+ ---
256
+
257
+ ### `downloadGeoNFT`
258
+
259
+ Downloads a geo NFT from the STARNET system.
260
+
261
+ **POST** `api/geoNFTs/{id}/download`
262
+
263
+ Route parameters:
264
+
265
+ | Field | Type |
266
+ | --- | --- |
267
+ | `id` | `Guid` |
268
+
269
+ **Request**
270
+
271
+ Body fields:
272
+
273
+ | Field | Type |
274
+ | --- | --- |
275
+ | `version` | `int (optional)` |
276
+ | `downloadPath` | `string (optional)` |
277
+ | `reInstall` | `bool (optional)` |
278
+
279
+ **Response**
280
+
281
+ Standard `OASISResult` envelope (see top of this page) with:
282
+
283
+ `result` type: `IActionResult` (not part of the request/response payload).
284
+
285
+ **Example**
286
+
287
+ ```js
288
+ const { isError, message, result } = await star.geoNFTs.downloadGeoNFT({
289
+ id: '<id>',
290
+ version: 1,
291
+ downloadPath: 'example string',
292
+ reInstall: true
293
+ });
294
+ if (isError) throw new Error(message);
295
+ console.log(result);
296
+ ```
297
+
298
+ Example response:
299
+
300
+ ```json
301
+ {
302
+ "isError": false,
303
+ "message": "",
304
+ "result": null
305
+ }
306
+ ```
307
+
308
+ ---
309
+
310
+ ### `editGeoNFT`
311
+
312
+ Edits a geo NFT with new DNA configuration.
313
+
314
+ **POST** `api/geoNFTs/{id}/edit`
315
+
316
+ Route parameters:
317
+
318
+ | Field | Type |
319
+ | --- | --- |
320
+ | `id` | `Guid` |
321
+
322
+ **Request**
323
+
324
+ Body type: `EditGeoNFTRequest`
325
+
326
+ | Field | Type |
327
+ | --- | --- |
328
+ | `NewDNA` | `STARNETDNA` |
329
+
330
+ **Response**
331
+
332
+ Standard `OASISResult` envelope (see top of this page) with:
333
+
334
+ `result` type: `IActionResult` (not part of the request/response payload).
335
+
336
+ **Example**
337
+
338
+ ```js
339
+ const { isError, message, result } = await star.geoNFTs.editGeoNFT({
340
+ id: '<id>',
341
+ 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 }
342
+ });
343
+ if (isError) throw new Error(message);
344
+ console.log(result);
345
+ ```
346
+
347
+ Example response:
348
+
349
+ ```json
350
+ {
351
+ "isError": false,
352
+ "message": "",
353
+ "result": null
354
+ }
355
+ ```
356
+
357
+ ---
358
+
359
+ ### `getAllGeoNFTs`
360
+
361
+ Retrieves all geo NFTs in the system.
362
+
363
+ **GET** `api/geoNFTs`
364
+
365
+ **Request**
366
+
367
+ No request body.
368
+
369
+ **Response**
370
+
371
+ Standard `OASISResult` envelope (see top of this page) with:
372
+
373
+ `result` type: `IActionResult` (not part of the request/response payload).
374
+
375
+ **Example**
376
+
377
+ ```js
378
+ const { isError, message, result } = await star.geoNFTs.getAllGeoNFTs({});
379
+ if (isError) throw new Error(message);
380
+ console.log(result);
381
+ ```
382
+
383
+ Example response:
384
+
385
+ ```json
386
+ {
387
+ "isError": false,
388
+ "message": "",
389
+ "result": null
390
+ }
391
+ ```
392
+
393
+ ---
394
+
395
+ ### `getGeoNFT`
396
+
397
+ Retrieves a specific geo NFT by its unique identifier.
398
+
399
+ **GET** `api/geoNFTs/{id}`
400
+
401
+ Route parameters:
402
+
403
+ | Field | Type |
404
+ | --- | --- |
405
+ | `id` | `Guid` |
406
+
407
+ **Request**
408
+
409
+ No request body.
410
+
411
+ **Response**
412
+
413
+ Standard `OASISResult` envelope (see top of this page) with:
414
+
415
+ `result` type: `IActionResult` (not part of the request/response payload).
416
+
417
+ **Example**
418
+
419
+ ```js
420
+ const { isError, message, result } = await star.geoNFTs.getGeoNFT({
421
+ id: '<id>'
422
+ });
423
+ if (isError) throw new Error(message);
424
+ console.log(result);
425
+ ```
426
+
427
+ Example response:
428
+
429
+ ```json
430
+ {
431
+ "isError": false,
432
+ "message": "",
433
+ "result": null
434
+ }
435
+ ```
436
+
437
+ ---
438
+
439
+ ### `getGeoNFTVersions`
440
+
441
+ Gets all versions of a specific geo NFT.
442
+
443
+ **GET** `api/geoNFTs/{id}/versions`
444
+
445
+ Route parameters:
446
+
447
+ | Field | Type |
448
+ | --- | --- |
449
+ | `id` | `Guid` |
450
+
451
+ **Request**
452
+
453
+ No request body.
454
+
455
+ **Response**
456
+
457
+ Standard `OASISResult` envelope (see top of this page) with:
458
+
459
+ `result` type: `IActionResult` (not part of the request/response payload).
460
+
461
+ **Example**
462
+
463
+ ```js
464
+ const { isError, message, result } = await star.geoNFTs.getGeoNFTVersions({
465
+ id: '<id>'
466
+ });
467
+ if (isError) throw new Error(message);
468
+ console.log(result);
469
+ ```
470
+
471
+ Example response:
472
+
473
+ ```json
474
+ {
475
+ "isError": false,
476
+ "message": "",
477
+ "result": null
478
+ }
479
+ ```
480
+
481
+ ---
482
+
483
+ ### `getGeoNFTsByAvatar`
484
+
485
+ Retrieves geo NFTs associated with a specific avatar.
486
+
487
+ **GET** `api/geoNFTs/by-avatar/{avatarId}`
488
+
489
+ Route parameters:
490
+
491
+ | Field | Type |
492
+ | --- | --- |
493
+ | `avatarId` | `Guid` |
494
+
495
+ **Request**
496
+
497
+ No request body.
498
+
499
+ **Response**
500
+
501
+ Standard `OASISResult` envelope (see top of this page) with:
502
+
503
+ `result` type: `IActionResult` (not part of the request/response payload).
504
+
505
+ **Example**
506
+
507
+ ```js
508
+ const { isError, message, result } = await star.geoNFTs.getGeoNFTsByAvatar({
509
+ avatarId: '<avatarId>'
510
+ });
511
+ if (isError) throw new Error(message);
512
+ console.log(result);
513
+ ```
514
+
515
+ Example response:
516
+
517
+ ```json
518
+ {
519
+ "isError": false,
520
+ "message": "",
521
+ "result": null
522
+ }
523
+ ```
524
+
525
+ ---
526
+
527
+ ### `getNearbyGeoNFTs`
528
+
529
+ Retrieves geo NFTs within a specified radius of a geographic location.
530
+
531
+ **GET** `api/geoNFTs/nearby`
532
+
533
+ **Request**
534
+
535
+ Query parameters:
536
+
537
+ | Field | Type |
538
+ | --- | --- |
539
+ | `latitude` | `double` |
540
+ | `longitude` | `double` |
541
+ | `radiusKm` | `double (optional)` |
542
+
543
+ **Response**
544
+
545
+ Standard `OASISResult` envelope (see top of this page) with:
546
+
547
+ `result` type: `IActionResult` (not part of the request/response payload).
548
+
549
+ **Example**
550
+
551
+ ```js
552
+ const { isError, message, result } = await star.geoNFTs.getNearbyGeoNFTs({
553
+ latitude: 1.0,
554
+ longitude: 1.0,
555
+ radiusKm: 1.0
556
+ });
557
+ if (isError) throw new Error(message);
558
+ console.log(result);
559
+ ```
560
+
561
+ Example response:
562
+
563
+ ```json
564
+ {
565
+ "isError": false,
566
+ "message": "",
567
+ "result": null
568
+ }
569
+ ```
570
+
571
+ ---
572
+
573
+ ### `loadAllGeoNFTsForAvatar`
574
+
575
+ Loads all geo NFTs for the authenticated avatar.
576
+
577
+ **GET** `api/geoNFTs/load-all-for-avatar`
578
+
579
+ **Request**
580
+
581
+ Query parameters:
582
+
583
+ | Field | Type |
584
+ | --- | --- |
585
+ | `showAllVersions` | `bool (optional)` |
586
+ | `version` | `int (optional)` |
587
+
588
+ **Response**
589
+
590
+ Standard `OASISResult` envelope (see top of this page) with:
591
+
592
+ `result` type: `IActionResult` (not part of the request/response payload).
593
+
594
+ **Example**
595
+
596
+ ```js
597
+ const { isError, message, result } = await star.geoNFTs.loadAllGeoNFTsForAvatar({
598
+ showAllVersions: true,
599
+ version: 1
600
+ });
601
+ if (isError) throw new Error(message);
602
+ console.log(result);
603
+ ```
604
+
605
+ Example response:
606
+
607
+ ```json
608
+ {
609
+ "isError": false,
610
+ "message": "",
611
+ "result": null
612
+ }
613
+ ```
614
+
615
+ ---
616
+
617
+ ### `loadGeoNFT`
618
+
619
+ Loads a geo NFT by ID with optional version and holon type.
620
+
621
+ **GET** `api/geoNFTs/{id}/load`
622
+
623
+ Route parameters:
624
+
625
+ | Field | Type |
626
+ | --- | --- |
627
+ | `id` | `Guid` |
628
+
629
+ **Request**
630
+
631
+ Query parameters:
632
+
633
+ | Field | Type |
634
+ | --- | --- |
635
+ | `version` | `int (optional)` |
636
+ | `holonType` | `string (optional)` |
637
+
638
+ **Response**
639
+
640
+ Standard `OASISResult` envelope (see top of this page) with:
641
+
642
+ `result` type: `IActionResult` (not part of the request/response payload).
643
+
644
+ **Example**
645
+
646
+ ```js
647
+ const { isError, message, result } = await star.geoNFTs.loadGeoNFT({
648
+ id: '<id>',
649
+ version: 1,
650
+ holonType: 'example string'
651
+ });
652
+ if (isError) throw new Error(message);
653
+ console.log(result);
654
+ ```
655
+
656
+ Example response:
657
+
658
+ ```json
659
+ {
660
+ "isError": false,
661
+ "message": "",
662
+ "result": null
663
+ }
664
+ ```
665
+
666
+ ---
667
+
668
+ ### `loadGeoNFTFromPath`
669
+
670
+ Loads a geo NFT from source or installed folder path.
671
+
672
+ **GET** `api/geoNFTs/load-from-path`
673
+
674
+ **Request**
675
+
676
+ Query parameters:
677
+
678
+ | Field | Type |
679
+ | --- | --- |
680
+ | `path` | `string` |
681
+ | `holonType` | `string (optional)` |
682
+
683
+ **Response**
684
+
685
+ Standard `OASISResult` envelope (see top of this page) with:
686
+
687
+ `result` type: `IActionResult` (not part of the request/response payload).
688
+
689
+ **Example**
690
+
691
+ ```js
692
+ const { isError, message, result } = await star.geoNFTs.loadGeoNFTFromPath({
693
+ path: 'example string',
694
+ holonType: 'example string'
695
+ });
696
+ if (isError) throw new Error(message);
697
+ console.log(result);
698
+ ```
699
+
700
+ Example response:
701
+
702
+ ```json
703
+ {
704
+ "isError": false,
705
+ "message": "",
706
+ "result": null
707
+ }
708
+ ```
709
+
710
+ ---
711
+
712
+ ### `loadGeoNFTFromPublished`
713
+
714
+ Loads a geo NFT from a published file.
715
+
716
+ **GET** `api/geoNFTs/load-from-published`
717
+
718
+ **Request**
719
+
720
+ Query parameters:
721
+
722
+ | Field | Type |
723
+ | --- | --- |
724
+ | `publishedFilePath` | `string` |
725
+
726
+ **Response**
727
+
728
+ Standard `OASISResult` envelope (see top of this page) with:
729
+
730
+ `result` type: `IActionResult` (not part of the request/response payload).
731
+
732
+ **Example**
733
+
734
+ ```js
735
+ const { isError, message, result } = await star.geoNFTs.loadGeoNFTFromPublished({
736
+ publishedFilePath: 'example string'
737
+ });
738
+ if (isError) throw new Error(message);
739
+ console.log(result);
740
+ ```
741
+
742
+ Example response:
743
+
744
+ ```json
745
+ {
746
+ "isError": false,
747
+ "message": "",
748
+ "result": null
749
+ }
750
+ ```
751
+
752
+ ---
753
+
754
+ ### `loadGeoNFTVersion`
755
+
756
+ Loads a specific version of a geo NFT.
757
+
758
+ **GET** `api/geoNFTs/{id}/version/{version}`
759
+
760
+ Route parameters:
761
+
762
+ | Field | Type |
763
+ | --- | --- |
764
+ | `id` | `Guid` |
765
+ | `version` | `string` |
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: `IActionResult` (not part of the request/response payload).
776
+
777
+ **Example**
778
+
779
+ ```js
780
+ const { isError, message, result } = await star.geoNFTs.loadGeoNFTVersion({
781
+ id: '<id>',
782
+ version: '<version>'
783
+ });
784
+ if (isError) throw new Error(message);
785
+ console.log(result);
786
+ ```
787
+
788
+ Example response:
789
+
790
+ ```json
791
+ {
792
+ "isError": false,
793
+ "message": "",
794
+ "result": null
795
+ }
796
+ ```
797
+
798
+ ---
799
+
800
+ ### `publishGeoNFT`
801
+
802
+ Publishes a geo NFT to the STARNET system.
803
+
804
+ **POST** `api/geoNFTs/{id}/publish`
805
+
806
+ Route parameters:
807
+
808
+ | Field | Type |
809
+ | --- | --- |
810
+ | `id` | `Guid` |
811
+
812
+ **Request**
813
+
814
+ Body type: `PublishRequest`
815
+
816
+ | Field | Type |
817
+ | --- | --- |
818
+ | `SourcePath` | `string` |
819
+ | `LaunchTarget` | `string` |
820
+ | `PublishPath` | `string` |
821
+ | `Edit` | `bool` |
822
+ | `RegisterOnSTARNET` | `bool` |
823
+ | `GenerateBinary` | `bool` |
824
+ | `UploadToCloud` | `bool` |
825
+
826
+ **Response**
827
+
828
+ Standard `OASISResult` envelope (see top of this page) with:
829
+
830
+ `result` type: `IActionResult` (not part of the request/response payload).
831
+
832
+ **Example**
833
+
834
+ ```js
835
+ const { isError, message, result } = await star.geoNFTs.publishGeoNFT({
836
+ id: '<id>',
837
+ sourcePath: "example string",
838
+ launchTarget: "example string",
839
+ publishPath: "example string",
840
+ edit: true,
841
+ registerOnSTARNET: true,
842
+ generateBinary: true,
843
+ uploadToCloud: true
844
+ });
845
+ if (isError) throw new Error(message);
846
+ console.log(result);
847
+ ```
848
+
849
+ Example response:
850
+
851
+ ```json
852
+ {
853
+ "isError": false,
854
+ "message": "",
855
+ "result": null
856
+ }
857
+ ```
858
+
859
+ ---
860
+
861
+ ### `republishGeoNFT`
862
+
863
+ Republishes a geo NFT to the STARNET system.
864
+
865
+ **POST** `api/geoNFTs/{id}/republish`
866
+
867
+ Route parameters:
868
+
869
+ | Field | Type |
870
+ | --- | --- |
871
+ | `id` | `Guid` |
872
+
873
+ **Request**
874
+
875
+ Body fields:
876
+
877
+ | Field | Type |
878
+ | --- | --- |
879
+ | `version` | `int (optional)` |
880
+
881
+ **Response**
882
+
883
+ Standard `OASISResult` envelope (see top of this page) with:
884
+
885
+ `result` type: `IActionResult` (not part of the request/response payload).
886
+
887
+ **Example**
888
+
889
+ ```js
890
+ const { isError, message, result } = await star.geoNFTs.republishGeoNFT({
891
+ id: '<id>',
892
+ version: 1
893
+ });
894
+ if (isError) throw new Error(message);
895
+ console.log(result);
896
+ ```
897
+
898
+ Example response:
899
+
900
+ ```json
901
+ {
902
+ "isError": false,
903
+ "message": "",
904
+ "result": null
905
+ }
906
+ ```
907
+
908
+ ---
909
+
910
+ ### `searchGeoNFTs`
911
+
912
+ Searches geo NFTs by name or description.
913
+
914
+ **GET** `api/geoNFTs/search`
915
+
916
+ **Request**
917
+
918
+ Query parameters:
919
+
920
+ | Field | Type |
921
+ | --- | --- |
922
+ | `query` | `string` |
923
+
924
+ **Response**
925
+
926
+ Standard `OASISResult` envelope (see top of this page) with:
927
+
928
+ `result` type: `IActionResult` (not part of the request/response payload).
929
+
930
+ **Example**
931
+
932
+ ```js
933
+ const { isError, message, result } = await star.geoNFTs.searchGeoNFTs({
934
+ query: 'example string'
935
+ });
936
+ if (isError) throw new Error(message);
937
+ console.log(result);
938
+ ```
939
+
940
+ Example response:
941
+
942
+ ```json
943
+ {
944
+ "isError": false,
945
+ "message": "",
946
+ "result": null
947
+ }
948
+ ```
949
+
950
+ ---
951
+
952
+ ### `unpublishGeoNFT`
953
+
954
+ Unpublishes a geo NFT from the STARNET system.
955
+
956
+ **POST** `api/geoNFTs/{id}/unpublish`
957
+
958
+ Route parameters:
959
+
960
+ | Field | Type |
961
+ | --- | --- |
962
+ | `id` | `Guid` |
963
+
964
+ **Request**
965
+
966
+ Body fields:
967
+
968
+ | Field | Type |
969
+ | --- | --- |
970
+ | `version` | `int (optional)` |
971
+
972
+ **Response**
973
+
974
+ Standard `OASISResult` envelope (see top of this page) with:
975
+
976
+ `result` type: `IActionResult` (not part of the request/response payload).
977
+
978
+ **Example**
979
+
980
+ ```js
981
+ const { isError, message, result } = await star.geoNFTs.unpublishGeoNFT({
982
+ id: '<id>',
983
+ version: 1
984
+ });
985
+ if (isError) throw new Error(message);
986
+ console.log(result);
987
+ ```
988
+
989
+ Example response:
990
+
991
+ ```json
992
+ {
993
+ "isError": false,
994
+ "message": "",
995
+ "result": null
996
+ }
997
+ ```
998
+
999
+ ---
1000
+
1001
+ ### `updateGeoNFT`
1002
+
1003
+ Updates an existing geo NFT by its unique identifier.
1004
+
1005
+ **PUT** `api/geoNFTs/{id}`
1006
+
1007
+ Route parameters:
1008
+
1009
+ | Field | Type |
1010
+ | --- | --- |
1011
+ | `id` | `Guid` |
1012
+
1013
+ **Request**
1014
+
1015
+ Body type: `STARGeoNFT`
1016
+
1017
+ | Field | Type |
1018
+ | --- | --- |
1019
+ | `NFTType` | `NFTType` |
1020
+ | `GeoNFTId` | `Guid` |
1021
+
1022
+ **Response**
1023
+
1024
+ Standard `OASISResult` envelope (see top of this page) with:
1025
+
1026
+ `result` type: `IActionResult` (not part of the request/response payload).
1027
+
1028
+ **Example**
1029
+
1030
+ ```js
1031
+ const { isError, message, result } = await star.geoNFTs.updateGeoNFT({
1032
+ id: '<id>',
1033
+ nFTType: { },
1034
+ geoNFTId: "3fa85f64-5717-4562-b3fc-2c963f66afa6"
1035
+ });
1036
+ if (isError) throw new Error(message);
1037
+ console.log(result);
1038
+ ```
1039
+
1040
+ Example response:
1041
+
1042
+ ```json
1043
+ {
1044
+ "isError": false,
1045
+ "message": "",
1046
+ "result": null
1047
+ }
1048
+ ```
1049
+