@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.
Files changed (116) hide show
  1. package/README.md +464 -0
  2. package/docs/README.md +52 -0
  3. package/docs/auth.md +89 -0
  4. package/docs/getting-started.md +129 -0
  5. package/docs/modules/Avatar.md +4160 -0
  6. package/docs/modules/Bridge.md +394 -0
  7. package/docs/modules/Chat.md +168 -0
  8. package/docs/modules/Clan.md +552 -0
  9. package/docs/modules/Competition.md +594 -0
  10. package/docs/modules/Data.md +796 -0
  11. package/docs/modules/EOSIO.md +508 -0
  12. package/docs/modules/Eggs.md +396 -0
  13. package/docs/modules/Files.md +312 -0
  14. package/docs/modules/Gifts.md +306 -0
  15. package/docs/modules/Health.md +90 -0
  16. package/docs/modules/Holochain.md +374 -0
  17. package/docs/modules/HyperDrive.md +3857 -0
  18. package/docs/modules/Karma.md +644 -0
  19. package/docs/modules/Keys.md +3303 -0
  20. package/docs/modules/Map.md +1026 -0
  21. package/docs/modules/Messaging.md +320 -0
  22. package/docs/modules/Nft.md +2216 -0
  23. package/docs/modules/OLand.md +425 -0
  24. package/docs/modules/ONET.md +442 -0
  25. package/docs/modules/ONODE.md +504 -0
  26. package/docs/modules/Provider.md +1396 -0
  27. package/docs/modules/Search.md +69 -0
  28. package/docs/modules/Seeds.md +167 -0
  29. package/docs/modules/Settings.md +533 -0
  30. package/docs/modules/Share.md +64 -0
  31. package/docs/modules/Social.md +190 -0
  32. package/docs/modules/Solana.md +150 -0
  33. package/docs/modules/Stats.md +359 -0
  34. package/docs/modules/Subscription.md +437 -0
  35. package/docs/modules/Video.md +150 -0
  36. package/docs/modules/Wallet.md +1993 -0
  37. package/index.d.ts +106 -0
  38. package/index.js +3 -0
  39. package/index.mjs +4 -0
  40. package/package.json +120 -0
  41. package/src/core/httpClient.js +110 -0
  42. package/src/core/routeHelper.js +50 -0
  43. package/src/core/tokenStore.js +52 -0
  44. package/src/core/types.d.ts +18 -0
  45. package/src/index.js +46 -0
  46. package/src/modules/Auth.d.ts +28 -0
  47. package/src/modules/Auth.js +98 -0
  48. package/src/modules/Avatar.d.ts +192 -0
  49. package/src/modules/Avatar.js +143 -0
  50. package/src/modules/Bridge.d.ts +24 -0
  51. package/src/modules/Bridge.js +35 -0
  52. package/src/modules/Cargo.js +35 -0
  53. package/src/modules/Chat.d.ts +15 -0
  54. package/src/modules/Chat.js +27 -0
  55. package/src/modules/Clan.d.ts +36 -0
  56. package/src/modules/Clan.js +41 -0
  57. package/src/modules/Competition.d.ts +33 -0
  58. package/src/modules/Competition.js +39 -0
  59. package/src/modules/Core.js +27 -0
  60. package/src/modules/Data.d.ts +36 -0
  61. package/src/modules/Data.js +41 -0
  62. package/src/modules/EOSIO.d.ts +33 -0
  63. package/src/modules/EOSIO.js +39 -0
  64. package/src/modules/Eggs.d.ts +24 -0
  65. package/src/modules/Eggs.js +33 -0
  66. package/src/modules/Files.d.ts +24 -0
  67. package/src/modules/Files.js +33 -0
  68. package/src/modules/Gifts.d.ts +24 -0
  69. package/src/modules/Gifts.js +33 -0
  70. package/src/modules/Health.d.ts +12 -0
  71. package/src/modules/Health.js +25 -0
  72. package/src/modules/Holochain.d.ts +27 -0
  73. package/src/modules/Holochain.js +35 -0
  74. package/src/modules/HyperDrive.d.ts +237 -0
  75. package/src/modules/HyperDrive.js +175 -0
  76. package/src/modules/Karma.d.ts +42 -0
  77. package/src/modules/Karma.js +45 -0
  78. package/src/modules/Keys.d.ts +183 -0
  79. package/src/modules/Keys.js +139 -0
  80. package/src/modules/Map.d.ts +75 -0
  81. package/src/modules/Map.js +65 -0
  82. package/src/modules/Messaging.d.ts +24 -0
  83. package/src/modules/Messaging.js +33 -0
  84. package/src/modules/Nft.d.ts +102 -0
  85. package/src/modules/Nft.js +85 -0
  86. package/src/modules/OAPP.js +31 -0
  87. package/src/modules/OLand.d.ts +27 -0
  88. package/src/modules/OLand.js +35 -0
  89. package/src/modules/ONET.d.ts +39 -0
  90. package/src/modules/ONET.js +43 -0
  91. package/src/modules/ONODE.d.ts +45 -0
  92. package/src/modules/ONODE.js +47 -0
  93. package/src/modules/Provider.d.ts +99 -0
  94. package/src/modules/Provider.js +83 -0
  95. package/src/modules/Search.d.ts +9 -0
  96. package/src/modules/Search.js +23 -0
  97. package/src/modules/Seeds.d.ts +15 -0
  98. package/src/modules/Seeds.js +27 -0
  99. package/src/modules/Settings.d.ts +48 -0
  100. package/src/modules/Settings.js +47 -0
  101. package/src/modules/Share.d.ts +9 -0
  102. package/src/modules/Share.js +23 -0
  103. package/src/modules/Social.d.ts +18 -0
  104. package/src/modules/Social.js +29 -0
  105. package/src/modules/Solana.d.ts +12 -0
  106. package/src/modules/Solana.js +25 -0
  107. package/src/modules/Stats.d.ts +30 -0
  108. package/src/modules/Stats.js +37 -0
  109. package/src/modules/Subscription.d.ts +36 -0
  110. package/src/modules/Subscription.js +41 -0
  111. package/src/modules/Telos.js +39 -0
  112. package/src/modules/Video.d.ts +15 -0
  113. package/src/modules/Video.js +27 -0
  114. package/src/modules/Wallet.d.ts +102 -0
  115. package/src/modules/Wallet.js +85 -0
  116. package/src/modules/index.js +79 -0
@@ -0,0 +1,2216 @@
1
+ # Nft — `oasis.nft`
2
+
3
+ Source controller: [`NftController.cs`](https://github.com/NextGenSoftwareUK/OASIS2/blob/main/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/NftController.cs)
4
+ Route prefix: `api/nft`
5
+ 32 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
+ ### `collectGeoNFTAsync`
22
+
23
+ **POST** `api/nft/collect-geo-nft`
24
+
25
+ **Request**
26
+
27
+ Body type: `ICollectGeoNFTRequest`
28
+
29
+ | Field | Type |
30
+ | --- | --- |
31
+ | `CollectedByAvatarId` | `Guid` |
32
+ | `GameSource` | `string` |
33
+ | `GeoNFTId` | `Guid` |
34
+ | `Image2D` | `byte[]` |
35
+ | `Image2DURI` | `Uri` |
36
+ | `ItemType` | `InventoryItemType` |
37
+ | `Object3D` | `byte[]` |
38
+ | `Object3DURI` | `Uri` |
39
+ | `Quantity` | `int` |
40
+ | `Stack` | `bool` |
41
+
42
+ **Response**
43
+
44
+ Standard `OASISResult` envelope (see top of this page) with:
45
+
46
+ `result` type: `IInventoryItem`
47
+
48
+ | Field | Type |
49
+ | --- | --- |
50
+ | `Image2D` | `byte[]` |
51
+ | `Image2DURI` | `Uri` |
52
+ | `ThumbnailUrl` | `string` |
53
+ | `Object3D` | `byte[]` |
54
+ | `Object3DURI` | `Uri` |
55
+ | `Quantity` | `int` |
56
+ | `Stack` | `bool` |
57
+ | `IsStackable` | `bool` |
58
+ | `GameSource` | `string` |
59
+ | `ItemType` | `string` |
60
+ | `NftId` | `string` |
61
+ | `Rarity` | `string` |
62
+ | `MaxQuantity` | `int` |
63
+ | `Weight` | `float` |
64
+ | `IsUsable` | `bool` |
65
+ | `IsTradeable` | `bool` |
66
+ | `OwnerAvatarId` | `string` |
67
+ | `AcquiredOn` | `DateTime` |
68
+ | `LastUsedOn` | `DateTime` |
69
+ | `Properties` | `Dictionary<string, object>` |
70
+
71
+ **Example**
72
+
73
+ ```js
74
+ const { isError, message, result } = await oasis.nft.collectGeoNFTAsync({
75
+ collectedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
76
+ gameSource: "example string",
77
+ geoNFTId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
78
+ image2D: "<base64-bytes>",
79
+ image2DURI: "https://example.com/asset.png",
80
+ itemType: { },
81
+ object3D: "<base64-bytes>",
82
+ object3DURI: "https://example.com/asset.png",
83
+ quantity: 1,
84
+ stack: true
85
+ });
86
+ if (isError) throw new Error(message);
87
+ console.log(result);
88
+ ```
89
+
90
+ Example response:
91
+
92
+ ```json
93
+ {
94
+ "isError": false,
95
+ "message": "",
96
+ "result": { "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>": {} } }
97
+ }
98
+ ```
99
+
100
+ ---
101
+
102
+ ### `collectNFTAsync`
103
+
104
+ NFT (Non-Fungible Token) management endpoints for creating, managing, and trading digital assets. Provides comprehensive NFT functionality including minting, transferring, and metadata management.
105
+
106
+ **POST** `api/nft/collect-nft`
107
+
108
+ **Request**
109
+
110
+ Body type: `ICollectGeoNFTRequest`
111
+
112
+ | Field | Type |
113
+ | --- | --- |
114
+ | `CollectedByAvatarId` | `Guid` |
115
+ | `GameSource` | `string` |
116
+ | `GeoNFTId` | `Guid` |
117
+ | `Image2D` | `byte[]` |
118
+ | `Image2DURI` | `Uri` |
119
+ | `ItemType` | `InventoryItemType` |
120
+ | `Object3D` | `byte[]` |
121
+ | `Object3DURI` | `Uri` |
122
+ | `Quantity` | `int` |
123
+ | `Stack` | `bool` |
124
+
125
+ **Response**
126
+
127
+ Standard `OASISResult` envelope (see top of this page) with:
128
+
129
+ `result` type: `IInventoryItem`
130
+
131
+ | Field | Type |
132
+ | --- | --- |
133
+ | `Image2D` | `byte[]` |
134
+ | `Image2DURI` | `Uri` |
135
+ | `ThumbnailUrl` | `string` |
136
+ | `Object3D` | `byte[]` |
137
+ | `Object3DURI` | `Uri` |
138
+ | `Quantity` | `int` |
139
+ | `Stack` | `bool` |
140
+ | `IsStackable` | `bool` |
141
+ | `GameSource` | `string` |
142
+ | `ItemType` | `string` |
143
+ | `NftId` | `string` |
144
+ | `Rarity` | `string` |
145
+ | `MaxQuantity` | `int` |
146
+ | `Weight` | `float` |
147
+ | `IsUsable` | `bool` |
148
+ | `IsTradeable` | `bool` |
149
+ | `OwnerAvatarId` | `string` |
150
+ | `AcquiredOn` | `DateTime` |
151
+ | `LastUsedOn` | `DateTime` |
152
+ | `Properties` | `Dictionary<string, object>` |
153
+
154
+ **Example**
155
+
156
+ ```js
157
+ const { isError, message, result } = await oasis.nft.collectNFTAsync({
158
+ collectedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
159
+ gameSource: "example string",
160
+ geoNFTId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
161
+ image2D: "<base64-bytes>",
162
+ image2DURI: "https://example.com/asset.png",
163
+ itemType: { },
164
+ object3D: "<base64-bytes>",
165
+ object3DURI: "https://example.com/asset.png",
166
+ quantity: 1,
167
+ stack: true
168
+ });
169
+ if (isError) throw new Error(message);
170
+ console.log(result);
171
+ ```
172
+
173
+ Example response:
174
+
175
+ ```json
176
+ {
177
+ "isError": false,
178
+ "message": "",
179
+ "result": { "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>": {} } }
180
+ }
181
+ ```
182
+
183
+ ---
184
+
185
+ ### `createWeb4NFTCollectionAsync`
186
+
187
+ Creates a new Web4 NFT collection.
188
+
189
+ **POST** `api/nft/create-web4-nft-collection`
190
+
191
+ **Request**
192
+
193
+ Body type: `ICreateWeb4NFTCollectionRequest`
194
+
195
+ | Field | Type |
196
+ | --- | --- |
197
+ | `CreatedBy` | `Guid` |
198
+ | `Description` | `string` |
199
+ | `Image` | `byte[]` |
200
+ | `ImageUrl` | `string` |
201
+ | `MetaData` | `Dictionary<string, string>` |
202
+ | `Web4NFTIds` | `List<string>` |
203
+ | `Web4NFTs` | `List<IWeb4NFT>` |
204
+ | `Thumbnail` | `byte[]` |
205
+ | `ThumbnailUrl` | `string` |
206
+ | `Title` | `string` |
207
+ | `Tags` | `List<string>` |
208
+
209
+ **Response**
210
+
211
+ Standard `OASISResult` envelope (see top of this page) with:
212
+
213
+ `result` type: `IWeb4NFTCollection`
214
+
215
+ | Field | Type |
216
+ | --- | --- |
217
+ | `ParentWeb5NFTCollectionIds` | `IList<Guid>` |
218
+ | `Web4NFTs` | `List<IWeb4NFT>` |
219
+ | `Web4NFTIds` | `List<string>` |
220
+
221
+ **Example**
222
+
223
+ ```js
224
+ const { isError, message, result } = await oasis.nft.createWeb4NFTCollectionAsync({
225
+ providerType: '<providerType>',
226
+ createdBy: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
227
+ description: "example string",
228
+ image: "<base64-bytes>",
229
+ imageUrl: "example string",
230
+ metaData: { "<string>": "example string" },
231
+ web4NFTIds: ["example string"],
232
+ web4NFTs: [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }],
233
+ thumbnail: "<base64-bytes>",
234
+ thumbnailUrl: "example string",
235
+ title: "example string",
236
+ tags: ["example string"]
237
+ });
238
+ if (isError) throw new Error(message);
239
+ console.log(result);
240
+ ```
241
+
242
+ Example response:
243
+
244
+ ```json
245
+ {
246
+ "isError": false,
247
+ "message": "",
248
+ "result": { "ParentWeb5NFTCollectionIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web4NFTs": [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }], "Web4NFTIds": ["example string"] }
249
+ }
250
+ ```
251
+
252
+ ---
253
+
254
+ ### `exportWeb4NFTAsync`
255
+
256
+ Exports a Web4 NFT object.
257
+
258
+ **POST** `api/nft/export-web4-nft`
259
+
260
+ **Request**
261
+
262
+ Body type: `IWeb4NFT`
263
+
264
+ | Field | Type |
265
+ | --- | --- |
266
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
267
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
268
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
269
+ | `Web3NFTIds` | `IList<string>` |
270
+
271
+ **Response**
272
+
273
+ Standard `OASISResult` envelope (see top of this page) with:
274
+
275
+ `result` type: `IWeb4NFT`
276
+
277
+ | Field | Type |
278
+ | --- | --- |
279
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
280
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
281
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
282
+ | `Web3NFTIds` | `IList<string>` |
283
+
284
+ **Example**
285
+
286
+ ```js
287
+ const { isError, message, result } = await oasis.nft.exportWeb4NFTAsync({
288
+ fullPathToExportTo: 'example string',
289
+ providerType: '<providerType>',
290
+ parentWeb5NFTIds: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"],
291
+ web3NFTs: [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }],
292
+ newlyMintedWeb3NFTs: [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }],
293
+ web3NFTIds: ["example string"]
294
+ });
295
+ if (isError) throw new Error(message);
296
+ console.log(result);
297
+ ```
298
+
299
+ Example response:
300
+
301
+ ```json
302
+ {
303
+ "isError": false,
304
+ "message": "",
305
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
306
+ }
307
+ ```
308
+
309
+ ---
310
+
311
+ ### `exportWeb4NFTToFileAsync`
312
+
313
+ Exports a Web4 NFT to a JSON file.
314
+
315
+ **POST** `api/nft/export-web4-nft-to-file/{oasisNFTId}/{fullPathToExportTo}`
316
+
317
+ Route parameters:
318
+
319
+ | Field | Type |
320
+ | --- | --- |
321
+ | `oasisNFTId` | `Guid` |
322
+ | `fullPathToExportTo` | `string` |
323
+
324
+ **Request**
325
+
326
+ Body fields:
327
+
328
+ | Field | Type |
329
+ | --- | --- |
330
+ | `providerType` | `ProviderType (optional)` |
331
+
332
+ **Response**
333
+
334
+ Standard `OASISResult` envelope (see top of this page) with:
335
+
336
+ `result` type: `IWeb4NFT`
337
+
338
+ | Field | Type |
339
+ | --- | --- |
340
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
341
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
342
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
343
+ | `Web3NFTIds` | `IList<string>` |
344
+
345
+ **Example**
346
+
347
+ ```js
348
+ const { isError, message, result } = await oasis.nft.exportWeb4NFTToFileAsync({
349
+ oasisNFTId: '<oasisNFTId>',
350
+ fullPathToExportTo: '<fullPathToExportTo>',
351
+ providerType: '<providerType>'
352
+ });
353
+ if (isError) throw new Error(message);
354
+ console.log(result);
355
+ ```
356
+
357
+ Example response:
358
+
359
+ ```json
360
+ {
361
+ "isError": false,
362
+ "message": "",
363
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
364
+ }
365
+ ```
366
+
367
+ ---
368
+
369
+ ### `getNFTProviderFromProviderType`
370
+
371
+ **GET** `api/nft/get-nft-provider-from-provider-type/{providerType}`
372
+
373
+ Route parameters:
374
+
375
+ | Field | Type |
376
+ | --- | --- |
377
+ | `providerType` | `ProviderType` |
378
+
379
+ **Request**
380
+
381
+ No request body.
382
+
383
+ **Response**
384
+
385
+ Standard `OASISResult` envelope (see top of this page) with:
386
+
387
+ `result` type: `IOASISNFTProvider`
388
+
389
+ _No fields._
390
+
391
+ **Example**
392
+
393
+ ```js
394
+ const { isError, message, result } = await oasis.nft.getNFTProviderFromProviderType({
395
+ providerType: '<providerType>'
396
+ });
397
+ if (isError) throw new Error(message);
398
+ console.log(result);
399
+ ```
400
+
401
+ Example response:
402
+
403
+ ```json
404
+ {
405
+ "isError": false,
406
+ "message": "",
407
+ "result": { }
408
+ }
409
+ ```
410
+
411
+ ---
412
+
413
+ ### `importWeb3NFTAsync`
414
+
415
+ Imports a Web3 NFT into the OASIS system.
416
+
417
+ **POST** `api/nft/import-web3-nft`
418
+
419
+ **Request**
420
+
421
+ Body type: `IImportWeb3NFTRequest`
422
+
423
+ | Field | Type |
424
+ | --- | --- |
425
+ | `ImportedByAvatarId` | `Guid` |
426
+ | `Title` | `string` |
427
+ | `Description` | `string` |
428
+ | `NFTMintedUsingWalletAddress` | `string` |
429
+ | `CurrentOwnerWalletAddress` | `string` |
430
+ | `NFTTokenAddress` | `string` |
431
+ | `OnChainProvider` | `EnumValue<ProviderType>` |
432
+ | `OffChainProvider` | `EnumValue<ProviderType>` |
433
+ | `StoreNFTMetaDataOnChain` | `bool` |
434
+ | `NFTOffChainMetaType` | `EnumValue<NFTOffChainMetaType>` |
435
+ | `NFTStandardType` | `EnumValue<NFTStandardType>` |
436
+ | `MintTransactionHash` | `string` |
437
+ | `MetaData` | `Dictionary<string, string>` |
438
+ | `Tags` | `List<string>` |
439
+ | `JSONMetaDataURL` | `string` |
440
+ | `JSONMetaData` | `string` |
441
+ | `UpdateAuthority` | `string` |
442
+ | `Symbol` | `string` |
443
+ | `SellerFeeBasisPoints` | `uint` |
444
+ | `Price` | `decimal` |
445
+ | `Discount` | `decimal` |
446
+ | `RoyaltyPercentage` | `int` |
447
+ | `Image` | `byte[]` |
448
+ | `ImageUrl` | `string` |
449
+ | `Thumbnail` | `byte[]` |
450
+ | `ThumbnailUrl` | `string` |
451
+ | `MemoText` | `string` |
452
+ | `IsForSale` | `bool?` |
453
+ | `SaleStartDate` | `DateTime?` |
454
+ | `SaleEndDate` | `DateTime?` |
455
+
456
+ **Response**
457
+
458
+ Standard `OASISResult` envelope (see top of this page) with:
459
+
460
+ `result` type: `IWeb4NFT`
461
+
462
+ | Field | Type |
463
+ | --- | --- |
464
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
465
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
466
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
467
+ | `Web3NFTIds` | `IList<string>` |
468
+
469
+ **Example**
470
+
471
+ ```js
472
+ const { isError, message, result } = await oasis.nft.importWeb3NFTAsync({
473
+ importedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
474
+ title: "example string",
475
+ description: "example string",
476
+ nFTMintedUsingWalletAddress: "example string",
477
+ currentOwnerWalletAddress: "example string",
478
+ nFTTokenAddress: "example string",
479
+ onChainProvider: { "Score": 1.0 },
480
+ offChainProvider: { "Score": 1.0 },
481
+ storeNFTMetaDataOnChain: true,
482
+ nFTOffChainMetaType: { "Score": 1.0 },
483
+ nFTStandardType: { "Score": 1.0 },
484
+ mintTransactionHash: "example string",
485
+ metaData: { "<string>": "example string" },
486
+ tags: ["example string"],
487
+ jSONMetaDataURL: "example string",
488
+ jSONMetaData: "example string",
489
+ updateAuthority: "example string",
490
+ symbol: "example string",
491
+ sellerFeeBasisPoints: /* <uint> */,
492
+ price: 1.0,
493
+ discount: 1.0,
494
+ royaltyPercentage: 1,
495
+ image: "<base64-bytes>",
496
+ imageUrl: "example string",
497
+ thumbnail: "<base64-bytes>",
498
+ thumbnailUrl: "example string",
499
+ memoText: "example string",
500
+ isForSale: true,
501
+ saleStartDate: "2026-01-01T00:00:00Z",
502
+ saleEndDate: "2026-01-01T00:00:00Z"
503
+ });
504
+ if (isError) throw new Error(message);
505
+ console.log(result);
506
+ ```
507
+
508
+ Example response:
509
+
510
+ ```json
511
+ {
512
+ "isError": false,
513
+ "message": "",
514
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
515
+ }
516
+ ```
517
+
518
+ ---
519
+
520
+ ### `importWeb4NFTAsync`
521
+
522
+ Imports a Web4 NFT object.
523
+
524
+ **POST** `api/nft/import-web4-nft/{importedByAvatarId}`
525
+
526
+ Route parameters:
527
+
528
+ | Field | Type |
529
+ | --- | --- |
530
+ | `importedByAvatarId` | `Guid` |
531
+
532
+ **Request**
533
+
534
+ Body type: `IWeb4NFT`
535
+
536
+ | Field | Type |
537
+ | --- | --- |
538
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
539
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
540
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
541
+ | `Web3NFTIds` | `IList<string>` |
542
+
543
+ **Response**
544
+
545
+ Standard `OASISResult` envelope (see top of this page) with:
546
+
547
+ `result` type: `IWeb4NFT`
548
+
549
+ | Field | Type |
550
+ | --- | --- |
551
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
552
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
553
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
554
+ | `Web3NFTIds` | `IList<string>` |
555
+
556
+ **Example**
557
+
558
+ ```js
559
+ const { isError, message, result } = await oasis.nft.importWeb4NFTAsync({
560
+ importedByAvatarId: '<importedByAvatarId>',
561
+ providerType: '<providerType>',
562
+ parentWeb5NFTIds: ["3fa85f64-5717-4562-b3fc-2c963f66afa6"],
563
+ web3NFTs: [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }],
564
+ newlyMintedWeb3NFTs: [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }],
565
+ web3NFTIds: ["example string"]
566
+ });
567
+ if (isError) throw new Error(message);
568
+ console.log(result);
569
+ ```
570
+
571
+ Example response:
572
+
573
+ ```json
574
+ {
575
+ "isError": false,
576
+ "message": "",
577
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
578
+ }
579
+ ```
580
+
581
+ ---
582
+
583
+ ### `importWeb4NFTFromFileAsync`
584
+
585
+ Imports a Web4 NFT from a JSON file.
586
+
587
+ **POST** `api/nft/import-web4-nft-from-file/{importedByAvatarId}/{fullPathToOASISNFTJsonFile}`
588
+
589
+ Route parameters:
590
+
591
+ | Field | Type |
592
+ | --- | --- |
593
+ | `importedByAvatarId` | `Guid` |
594
+ | `fullPathToOASISNFTJsonFile` | `string` |
595
+
596
+ **Request**
597
+
598
+ Body fields:
599
+
600
+ | Field | Type |
601
+ | --- | --- |
602
+ | `providerType` | `ProviderType (optional)` |
603
+
604
+ **Response**
605
+
606
+ Standard `OASISResult` envelope (see top of this page) with:
607
+
608
+ `result` type: `IWeb4NFT`
609
+
610
+ | Field | Type |
611
+ | --- | --- |
612
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
613
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
614
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
615
+ | `Web3NFTIds` | `IList<string>` |
616
+
617
+ **Example**
618
+
619
+ ```js
620
+ const { isError, message, result } = await oasis.nft.importWeb4NFTFromFileAsync({
621
+ importedByAvatarId: '<importedByAvatarId>',
622
+ fullPathToOASISNFTJsonFile: '<fullPathToOASISNFTJsonFile>',
623
+ providerType: '<providerType>'
624
+ });
625
+ if (isError) throw new Error(message);
626
+ console.log(result);
627
+ ```
628
+
629
+ Example response:
630
+
631
+ ```json
632
+ {
633
+ "isError": false,
634
+ "message": "",
635
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
636
+ }
637
+ ```
638
+
639
+ ---
640
+
641
+ ### `loadAllGeoNFTsAsync`
642
+
643
+ **GET** `api/nft/load-all-geo-nfts`
644
+
645
+ **Request**
646
+
647
+ No request body.
648
+
649
+ **Response**
650
+
651
+ Standard `OASISResult` envelope (see top of this page) with:
652
+
653
+ `result` type: `IWeb4GeoSpatialNFT` (array)
654
+
655
+ | Field | Type |
656
+ | --- | --- |
657
+ | `PlacedByAvatarId` | `Guid` |
658
+ | `OriginalWeb4OASISNFTId` | `Guid` |
659
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
660
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
661
+ | `PlacedOn` | `DateTime` |
662
+ | `Lat` | `double` |
663
+ | `Long` | `double` |
664
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
665
+ | `PermSpawn` | `bool` |
666
+ | `GlobalSpawnQuantity` | `int` |
667
+ | `PlayerSpawnQuantity` | `int` |
668
+ | `RespawnDurationInSeconds` | `int` |
669
+ | `Nft3DObject` | `byte[]` |
670
+ | `Nft3DObjectURI` | `string` |
671
+ | `Nft2DSprite` | `byte[]` |
672
+ | `Nft2DSpriteURI` | `string` |
673
+ | `SuccessMessageWhenCollected` | `string` |
674
+ | `SpawnInSafeZone` | `bool` |
675
+ | `SpawnNearPlayer` | `bool` |
676
+ | `SpawnWithinXMetersFromPlayer` | `int` |
677
+ | `SpawnXMetersAwayFromPlayer` | `int` |
678
+ | `IsVisibleOnMap` | `bool` |
679
+ | `IsVisibleInInventory` | `bool` |
680
+
681
+ **Example**
682
+
683
+ ```js
684
+ const { isError, message, result } = await oasis.nft.loadAllGeoNFTsAsync({});
685
+ if (isError) throw new Error(message);
686
+ console.log(result);
687
+ ```
688
+
689
+ Example response:
690
+
691
+ ```json
692
+ {
693
+ "isError": false,
694
+ "message": "",
695
+ "result": [{ "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }]
696
+ }
697
+ ```
698
+
699
+ ---
700
+
701
+ ### `loadAllGeoNFTsForMintAddressAsync`
702
+
703
+ **GET** `api/nft/load-all-geo-nfts-for-mint-wallet-address/{mintWalletAddress}`
704
+
705
+ Route parameters:
706
+
707
+ | Field | Type |
708
+ | --- | --- |
709
+ | `mintWalletAddress` | `string` |
710
+
711
+ **Request**
712
+
713
+ No request body.
714
+
715
+ **Response**
716
+
717
+ Standard `OASISResult` envelope (see top of this page) with:
718
+
719
+ `result` type: `IWeb4GeoSpatialNFT` (array)
720
+
721
+ | Field | Type |
722
+ | --- | --- |
723
+ | `PlacedByAvatarId` | `Guid` |
724
+ | `OriginalWeb4OASISNFTId` | `Guid` |
725
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
726
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
727
+ | `PlacedOn` | `DateTime` |
728
+ | `Lat` | `double` |
729
+ | `Long` | `double` |
730
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
731
+ | `PermSpawn` | `bool` |
732
+ | `GlobalSpawnQuantity` | `int` |
733
+ | `PlayerSpawnQuantity` | `int` |
734
+ | `RespawnDurationInSeconds` | `int` |
735
+ | `Nft3DObject` | `byte[]` |
736
+ | `Nft3DObjectURI` | `string` |
737
+ | `Nft2DSprite` | `byte[]` |
738
+ | `Nft2DSpriteURI` | `string` |
739
+ | `SuccessMessageWhenCollected` | `string` |
740
+ | `SpawnInSafeZone` | `bool` |
741
+ | `SpawnNearPlayer` | `bool` |
742
+ | `SpawnWithinXMetersFromPlayer` | `int` |
743
+ | `SpawnXMetersAwayFromPlayer` | `int` |
744
+ | `IsVisibleOnMap` | `bool` |
745
+ | `IsVisibleInInventory` | `bool` |
746
+
747
+ **Example**
748
+
749
+ ```js
750
+ const { isError, message, result } = await oasis.nft.loadAllGeoNFTsForMintAddressAsync({
751
+ mintWalletAddress: '<mintWalletAddress>'
752
+ });
753
+ if (isError) throw new Error(message);
754
+ console.log(result);
755
+ ```
756
+
757
+ Example response:
758
+
759
+ ```json
760
+ {
761
+ "isError": false,
762
+ "message": "",
763
+ "result": [{ "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }]
764
+ }
765
+ ```
766
+
767
+ ---
768
+
769
+ ### `loadAllWeb3NFTsAsync`
770
+
771
+ Loads all Web3 NFTs (admin only).
772
+
773
+ **GET** `api/nft/load-all-web3-nfts`
774
+
775
+ **Request**
776
+
777
+ Query parameters:
778
+
779
+ | Field | Type |
780
+ | --- | --- |
781
+ | `parentWeb4NFTId` | `Guid (optional)` |
782
+ | `providerType` | `ProviderType (optional)` |
783
+
784
+ **Response**
785
+
786
+ Standard `OASISResult` envelope (see top of this page) with:
787
+
788
+ `result` type: `IWeb3NFT` (array)
789
+
790
+ | Field | Type |
791
+ | --- | --- |
792
+ | `ParentWeb4NFTId` | `Guid` |
793
+ | `MintTransactionHash` | `string` |
794
+ | `VerifyCollectionTransactionHash` | `string` |
795
+ | `SendNFTTransactionHash` | `string` |
796
+ | `NFTMintedUsingWalletAddress` | `string` |
797
+ | `NFTTokenAddress` | `string` |
798
+ | `OASISMintWalletAddress` | `string` |
799
+ | `UpdateAuthority` | `string` |
800
+
801
+ **Example**
802
+
803
+ ```js
804
+ const { isError, message, result } = await oasis.nft.loadAllWeb3NFTsAsync({
805
+ parentWeb4NFTId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
806
+ providerType: '<providerType>'
807
+ });
808
+ if (isError) throw new Error(message);
809
+ console.log(result);
810
+ ```
811
+
812
+ Example response:
813
+
814
+ ```json
815
+ {
816
+ "isError": false,
817
+ "message": "",
818
+ "result": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }]
819
+ }
820
+ ```
821
+
822
+ ---
823
+
824
+ ### `loadAllWeb3NFTsForAvatarAsync`
825
+
826
+ Loads all Web3 NFTs for a specific avatar.
827
+
828
+ **GET** `api/nft/load-all-web3-nfts-for-avatar/{avatarId}`
829
+
830
+ Route parameters:
831
+
832
+ | Field | Type |
833
+ | --- | --- |
834
+ | `avatarId` | `Guid` |
835
+
836
+ **Request**
837
+
838
+ Query parameters:
839
+
840
+ | Field | Type |
841
+ | --- | --- |
842
+ | `parentWeb4NFTId` | `Guid (optional)` |
843
+ | `providerType` | `ProviderType (optional)` |
844
+
845
+ **Response**
846
+
847
+ Standard `OASISResult` envelope (see top of this page) with:
848
+
849
+ `result` type: `IWeb3NFT` (array)
850
+
851
+ | Field | Type |
852
+ | --- | --- |
853
+ | `ParentWeb4NFTId` | `Guid` |
854
+ | `MintTransactionHash` | `string` |
855
+ | `VerifyCollectionTransactionHash` | `string` |
856
+ | `SendNFTTransactionHash` | `string` |
857
+ | `NFTMintedUsingWalletAddress` | `string` |
858
+ | `NFTTokenAddress` | `string` |
859
+ | `OASISMintWalletAddress` | `string` |
860
+ | `UpdateAuthority` | `string` |
861
+
862
+ **Example**
863
+
864
+ ```js
865
+ const { isError, message, result } = await oasis.nft.loadAllWeb3NFTsForAvatarAsync({
866
+ avatarId: '<avatarId>',
867
+ parentWeb4NFTId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
868
+ providerType: '<providerType>'
869
+ });
870
+ if (isError) throw new Error(message);
871
+ console.log(result);
872
+ ```
873
+
874
+ Example response:
875
+
876
+ ```json
877
+ {
878
+ "isError": false,
879
+ "message": "",
880
+ "result": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }]
881
+ }
882
+ ```
883
+
884
+ ---
885
+
886
+ ### `loadAllWeb3NFTsForMintAddressAsync`
887
+
888
+ Loads all Web3 NFTs for a specific mint wallet address.
889
+
890
+ **GET** `api/nft/load-all-web3-nfts-for-mint-address/{mintWalletAddress}`
891
+
892
+ Route parameters:
893
+
894
+ | Field | Type |
895
+ | --- | --- |
896
+ | `mintWalletAddress` | `string` |
897
+
898
+ **Request**
899
+
900
+ Query parameters:
901
+
902
+ | Field | Type |
903
+ | --- | --- |
904
+ | `parentWeb4NFTId` | `Guid (optional)` |
905
+ | `providerType` | `ProviderType (optional)` |
906
+
907
+ **Response**
908
+
909
+ Standard `OASISResult` envelope (see top of this page) with:
910
+
911
+ `result` type: `IWeb3NFT` (array)
912
+
913
+ | Field | Type |
914
+ | --- | --- |
915
+ | `ParentWeb4NFTId` | `Guid` |
916
+ | `MintTransactionHash` | `string` |
917
+ | `VerifyCollectionTransactionHash` | `string` |
918
+ | `SendNFTTransactionHash` | `string` |
919
+ | `NFTMintedUsingWalletAddress` | `string` |
920
+ | `NFTTokenAddress` | `string` |
921
+ | `OASISMintWalletAddress` | `string` |
922
+ | `UpdateAuthority` | `string` |
923
+
924
+ **Example**
925
+
926
+ ```js
927
+ const { isError, message, result } = await oasis.nft.loadAllWeb3NFTsForMintAddressAsync({
928
+ mintWalletAddress: '<mintWalletAddress>',
929
+ parentWeb4NFTId: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
930
+ providerType: '<providerType>'
931
+ });
932
+ if (isError) throw new Error(message);
933
+ console.log(result);
934
+ ```
935
+
936
+ Example response:
937
+
938
+ ```json
939
+ {
940
+ "isError": false,
941
+ "message": "",
942
+ "result": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }]
943
+ }
944
+ ```
945
+
946
+ ---
947
+
948
+ ### `loadAllWeb4GeoNFTsAsync`
949
+
950
+ **GET** `api/nft/load-all-geo-nfts/{providerType}/{setGlobally}`
951
+
952
+ Route parameters:
953
+
954
+ | Field | Type |
955
+ | --- | --- |
956
+ | `providerType` | `ProviderType` |
957
+ | `setGlobally` | `bool` |
958
+
959
+ **Request**
960
+
961
+ No request body.
962
+
963
+ **Response**
964
+
965
+ Standard `OASISResult` envelope (see top of this page) with:
966
+
967
+ `result` type: `IWeb4GeoSpatialNFT` (array)
968
+
969
+ | Field | Type |
970
+ | --- | --- |
971
+ | `PlacedByAvatarId` | `Guid` |
972
+ | `OriginalWeb4OASISNFTId` | `Guid` |
973
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
974
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
975
+ | `PlacedOn` | `DateTime` |
976
+ | `Lat` | `double` |
977
+ | `Long` | `double` |
978
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
979
+ | `PermSpawn` | `bool` |
980
+ | `GlobalSpawnQuantity` | `int` |
981
+ | `PlayerSpawnQuantity` | `int` |
982
+ | `RespawnDurationInSeconds` | `int` |
983
+ | `Nft3DObject` | `byte[]` |
984
+ | `Nft3DObjectURI` | `string` |
985
+ | `Nft2DSprite` | `byte[]` |
986
+ | `Nft2DSpriteURI` | `string` |
987
+ | `SuccessMessageWhenCollected` | `string` |
988
+ | `SpawnInSafeZone` | `bool` |
989
+ | `SpawnNearPlayer` | `bool` |
990
+ | `SpawnWithinXMetersFromPlayer` | `int` |
991
+ | `SpawnXMetersAwayFromPlayer` | `int` |
992
+ | `IsVisibleOnMap` | `bool` |
993
+ | `IsVisibleInInventory` | `bool` |
994
+
995
+ **Example**
996
+
997
+ ```js
998
+ const { isError, message, result } = await oasis.nft.loadAllWeb4GeoNFTsAsync({
999
+ providerType: '<providerType>',
1000
+ setGlobally: '<setGlobally>'
1001
+ });
1002
+ if (isError) throw new Error(message);
1003
+ console.log(result);
1004
+ ```
1005
+
1006
+ Example response:
1007
+
1008
+ ```json
1009
+ {
1010
+ "isError": false,
1011
+ "message": "",
1012
+ "result": [{ "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }]
1013
+ }
1014
+ ```
1015
+
1016
+ ---
1017
+
1018
+ ### `loadAllWeb4GeoNFTsForAvatarAsync`
1019
+
1020
+ **GET** `api/nft/load-all-geo-nfts-for-avatar/{avatarId}`
1021
+
1022
+ Route parameters:
1023
+
1024
+ | Field | Type |
1025
+ | --- | --- |
1026
+ | `avatarId` | `Guid` |
1027
+
1028
+ **Request**
1029
+
1030
+ No request body.
1031
+
1032
+ **Response**
1033
+
1034
+ Standard `OASISResult` envelope (see top of this page) with:
1035
+
1036
+ `result` type: `IWeb4GeoSpatialNFT` (array)
1037
+
1038
+ | Field | Type |
1039
+ | --- | --- |
1040
+ | `PlacedByAvatarId` | `Guid` |
1041
+ | `OriginalWeb4OASISNFTId` | `Guid` |
1042
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
1043
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
1044
+ | `PlacedOn` | `DateTime` |
1045
+ | `Lat` | `double` |
1046
+ | `Long` | `double` |
1047
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
1048
+ | `PermSpawn` | `bool` |
1049
+ | `GlobalSpawnQuantity` | `int` |
1050
+ | `PlayerSpawnQuantity` | `int` |
1051
+ | `RespawnDurationInSeconds` | `int` |
1052
+ | `Nft3DObject` | `byte[]` |
1053
+ | `Nft3DObjectURI` | `string` |
1054
+ | `Nft2DSprite` | `byte[]` |
1055
+ | `Nft2DSpriteURI` | `string` |
1056
+ | `SuccessMessageWhenCollected` | `string` |
1057
+ | `SpawnInSafeZone` | `bool` |
1058
+ | `SpawnNearPlayer` | `bool` |
1059
+ | `SpawnWithinXMetersFromPlayer` | `int` |
1060
+ | `SpawnXMetersAwayFromPlayer` | `int` |
1061
+ | `IsVisibleOnMap` | `bool` |
1062
+ | `IsVisibleInInventory` | `bool` |
1063
+
1064
+ **Example**
1065
+
1066
+ ```js
1067
+ const { isError, message, result } = await oasis.nft.loadAllWeb4GeoNFTsForAvatarAsync({
1068
+ avatarId: '<avatarId>'
1069
+ });
1070
+ if (isError) throw new Error(message);
1071
+ console.log(result);
1072
+ ```
1073
+
1074
+ Example response:
1075
+
1076
+ ```json
1077
+ {
1078
+ "isError": false,
1079
+ "message": "",
1080
+ "result": [{ "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }]
1081
+ }
1082
+ ```
1083
+
1084
+ ---
1085
+
1086
+ ### `loadAllWeb4NFTsAsync`
1087
+
1088
+ **GET** `api/nft/load-all-nfts`
1089
+
1090
+ **Request**
1091
+
1092
+ No request body.
1093
+
1094
+ **Response**
1095
+
1096
+ Standard `OASISResult` envelope (see top of this page) with:
1097
+
1098
+ `result` type: `IWeb4NFT` (array)
1099
+
1100
+ | Field | Type |
1101
+ | --- | --- |
1102
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1103
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1104
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1105
+ | `Web3NFTIds` | `IList<string>` |
1106
+
1107
+ **Example**
1108
+
1109
+ ```js
1110
+ const { isError, message, result } = await oasis.nft.loadAllWeb4NFTsAsync({});
1111
+ if (isError) throw new Error(message);
1112
+ console.log(result);
1113
+ ```
1114
+
1115
+ Example response:
1116
+
1117
+ ```json
1118
+ {
1119
+ "isError": false,
1120
+ "message": "",
1121
+ "result": [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }]
1122
+ }
1123
+ ```
1124
+
1125
+ ---
1126
+
1127
+ ### `loadAllWeb4NFTsForAvatarAsync`
1128
+
1129
+ **GET** `api/nft/load-all-nfts-for_avatar/{avatarId}`
1130
+
1131
+ Route parameters:
1132
+
1133
+ | Field | Type |
1134
+ | --- | --- |
1135
+ | `avatarId` | `Guid` |
1136
+
1137
+ **Request**
1138
+
1139
+ No request body.
1140
+
1141
+ **Response**
1142
+
1143
+ Standard `OASISResult` envelope (see top of this page) with:
1144
+
1145
+ `result` type: `IWeb4NFT` (array)
1146
+
1147
+ | Field | Type |
1148
+ | --- | --- |
1149
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1150
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1151
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1152
+ | `Web3NFTIds` | `IList<string>` |
1153
+
1154
+ **Example**
1155
+
1156
+ ```js
1157
+ const { isError, message, result } = await oasis.nft.loadAllWeb4NFTsForAvatarAsync({
1158
+ avatarId: '<avatarId>'
1159
+ });
1160
+ if (isError) throw new Error(message);
1161
+ console.log(result);
1162
+ ```
1163
+
1164
+ Example response:
1165
+
1166
+ ```json
1167
+ {
1168
+ "isError": false,
1169
+ "message": "",
1170
+ "result": [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }]
1171
+ }
1172
+ ```
1173
+
1174
+ ---
1175
+
1176
+ ### `loadAllWeb4NFTsForMintAddressAsync`
1177
+
1178
+ **GET** `api/nft/load-all-nfts-for-mint-wallet-address/{mintWalletAddress}`
1179
+
1180
+ Route parameters:
1181
+
1182
+ | Field | Type |
1183
+ | --- | --- |
1184
+ | `mintWalletAddress` | `string` |
1185
+
1186
+ **Request**
1187
+
1188
+ No request body.
1189
+
1190
+ **Response**
1191
+
1192
+ Standard `OASISResult` envelope (see top of this page) with:
1193
+
1194
+ `result` type: `IWeb4NFT` (array)
1195
+
1196
+ | Field | Type |
1197
+ | --- | --- |
1198
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1199
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1200
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1201
+ | `Web3NFTIds` | `IList<string>` |
1202
+
1203
+ **Example**
1204
+
1205
+ ```js
1206
+ const { isError, message, result } = await oasis.nft.loadAllWeb4NFTsForMintAddressAsync({
1207
+ mintWalletAddress: '<mintWalletAddress>'
1208
+ });
1209
+ if (isError) throw new Error(message);
1210
+ console.log(result);
1211
+ ```
1212
+
1213
+ Example response:
1214
+
1215
+ ```json
1216
+ {
1217
+ "isError": false,
1218
+ "message": "",
1219
+ "result": [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }]
1220
+ }
1221
+ ```
1222
+
1223
+ ---
1224
+
1225
+ ### `loadWeb3NftByHashAsync`
1226
+
1227
+ Loads a Web3 NFT by its on-chain hash.
1228
+
1229
+ **GET** `api/nft/load-web3-nft-by-hash/{onChainNftHash}`
1230
+
1231
+ Route parameters:
1232
+
1233
+ | Field | Type |
1234
+ | --- | --- |
1235
+ | `onChainNftHash` | `string` |
1236
+
1237
+ **Request**
1238
+
1239
+ Query parameters:
1240
+
1241
+ | Field | Type |
1242
+ | --- | --- |
1243
+ | `providerType` | `ProviderType (optional)` |
1244
+
1245
+ **Response**
1246
+
1247
+ Standard `OASISResult` envelope (see top of this page) with:
1248
+
1249
+ `result` type: `IWeb3NFT`
1250
+
1251
+ | Field | Type |
1252
+ | --- | --- |
1253
+ | `ParentWeb4NFTId` | `Guid` |
1254
+ | `MintTransactionHash` | `string` |
1255
+ | `VerifyCollectionTransactionHash` | `string` |
1256
+ | `SendNFTTransactionHash` | `string` |
1257
+ | `NFTMintedUsingWalletAddress` | `string` |
1258
+ | `NFTTokenAddress` | `string` |
1259
+ | `OASISMintWalletAddress` | `string` |
1260
+ | `UpdateAuthority` | `string` |
1261
+
1262
+ **Example**
1263
+
1264
+ ```js
1265
+ const { isError, message, result } = await oasis.nft.loadWeb3NftByHashAsync({
1266
+ onChainNftHash: '<onChainNftHash>',
1267
+ providerType: '<providerType>'
1268
+ });
1269
+ if (isError) throw new Error(message);
1270
+ console.log(result);
1271
+ ```
1272
+
1273
+ Example response:
1274
+
1275
+ ```json
1276
+ {
1277
+ "isError": false,
1278
+ "message": "",
1279
+ "result": { "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }
1280
+ }
1281
+ ```
1282
+
1283
+ ---
1284
+
1285
+ ### `loadWeb3NftByIdAsync`
1286
+
1287
+ Loads a Web3 NFT by its unique identifier.
1288
+
1289
+ **GET** `api/nft/load-web3-nft-by-id/{id}`
1290
+
1291
+ Route parameters:
1292
+
1293
+ | Field | Type |
1294
+ | --- | --- |
1295
+ | `id` | `Guid` |
1296
+
1297
+ **Request**
1298
+
1299
+ Query parameters:
1300
+
1301
+ | Field | Type |
1302
+ | --- | --- |
1303
+ | `providerType` | `ProviderType (optional)` |
1304
+
1305
+ **Response**
1306
+
1307
+ Standard `OASISResult` envelope (see top of this page) with:
1308
+
1309
+ `result` type: `IWeb3NFT`
1310
+
1311
+ | Field | Type |
1312
+ | --- | --- |
1313
+ | `ParentWeb4NFTId` | `Guid` |
1314
+ | `MintTransactionHash` | `string` |
1315
+ | `VerifyCollectionTransactionHash` | `string` |
1316
+ | `SendNFTTransactionHash` | `string` |
1317
+ | `NFTMintedUsingWalletAddress` | `string` |
1318
+ | `NFTTokenAddress` | `string` |
1319
+ | `OASISMintWalletAddress` | `string` |
1320
+ | `UpdateAuthority` | `string` |
1321
+
1322
+ **Example**
1323
+
1324
+ ```js
1325
+ const { isError, message, result } = await oasis.nft.loadWeb3NftByIdAsync({
1326
+ id: '<id>',
1327
+ providerType: '<providerType>'
1328
+ });
1329
+ if (isError) throw new Error(message);
1330
+ console.log(result);
1331
+ ```
1332
+
1333
+ Example response:
1334
+
1335
+ ```json
1336
+ {
1337
+ "isError": false,
1338
+ "message": "",
1339
+ "result": { "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }
1340
+ }
1341
+ ```
1342
+
1343
+ ---
1344
+
1345
+ ### `loadWeb4NftByHashAsync`
1346
+
1347
+ **GET** `api/nft/load-nft-by-hash/{hash}`
1348
+
1349
+ Route parameters:
1350
+
1351
+ | Field | Type |
1352
+ | --- | --- |
1353
+ | `hash` | `string` |
1354
+
1355
+ **Request**
1356
+
1357
+ No request body.
1358
+
1359
+ **Response**
1360
+
1361
+ Standard `OASISResult` envelope (see top of this page) with:
1362
+
1363
+ `result` type: `IWeb4NFT`
1364
+
1365
+ | Field | Type |
1366
+ | --- | --- |
1367
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1368
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1369
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1370
+ | `Web3NFTIds` | `IList<string>` |
1371
+
1372
+ **Example**
1373
+
1374
+ ```js
1375
+ const { isError, message, result } = await oasis.nft.loadWeb4NftByHashAsync({
1376
+ hash: '<hash>'
1377
+ });
1378
+ if (isError) throw new Error(message);
1379
+ console.log(result);
1380
+ ```
1381
+
1382
+ Example response:
1383
+
1384
+ ```json
1385
+ {
1386
+ "isError": false,
1387
+ "message": "",
1388
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
1389
+ }
1390
+ ```
1391
+
1392
+ ---
1393
+
1394
+ ### `loadWeb4NftByIdAsync`
1395
+
1396
+ Loads an NFT by its unique identifier.
1397
+
1398
+ **GET** `api/nft/load-nft-by-id/{id}`
1399
+
1400
+ Route parameters:
1401
+
1402
+ | Field | Type |
1403
+ | --- | --- |
1404
+ | `id` | `Guid` |
1405
+
1406
+ **Request**
1407
+
1408
+ No request body.
1409
+
1410
+ **Response**
1411
+
1412
+ Standard `OASISResult` envelope (see top of this page) with:
1413
+
1414
+ `result` type: `IWeb4NFT`
1415
+
1416
+ | Field | Type |
1417
+ | --- | --- |
1418
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1419
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1420
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1421
+ | `Web3NFTIds` | `IList<string>` |
1422
+
1423
+ **Example**
1424
+
1425
+ ```js
1426
+ const { isError, message, result } = await oasis.nft.loadWeb4NftByIdAsync({
1427
+ id: '<id>'
1428
+ });
1429
+ if (isError) throw new Error(message);
1430
+ console.log(result);
1431
+ ```
1432
+
1433
+ Example response:
1434
+
1435
+ ```json
1436
+ {
1437
+ "isError": false,
1438
+ "message": "",
1439
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
1440
+ }
1441
+ ```
1442
+
1443
+ ---
1444
+
1445
+ ### `mintAndPlaceGeoNFTAsync`
1446
+
1447
+ **POST** `api/nft/mint-and-place-geo-nft`
1448
+
1449
+ **Request**
1450
+
1451
+ Body type: `MintAndPlaceGeoSpatialNFTRequest`
1452
+
1453
+ | Field | Type |
1454
+ | --- | --- |
1455
+ | `MintWalletAddress` | `string` |
1456
+ | `CollectionPublicKey` | `string?` |
1457
+ | `Web3NFTs` | `IList<IMintWeb3NFTRequest>` |
1458
+ | `MintedByAvatarId` | `Guid` |
1459
+ | `Title` | `string` |
1460
+ | `Description` | `string` |
1461
+ | `Image` | `byte[]` |
1462
+ | `ImageUrl` | `string` |
1463
+ | `Thumbnail` | `byte[]` |
1464
+ | `ThumbnailUrl` | `string` |
1465
+ | `Amount` | `decimal` |
1466
+ | `Price` | `decimal` |
1467
+ | `Discount` | `decimal` |
1468
+ | `RoyaltyPercentage` | `int?` |
1469
+ | `IsForSale` | `bool?` |
1470
+ | `SaleStartDate` | `DateTime?` |
1471
+ | `SaleEndDate` | `DateTime?` |
1472
+ | `MemoText` | `string` |
1473
+ | `Token` | `string` |
1474
+ | `NumberToMint` | `int` |
1475
+ | `StoreNFTMetaDataOnChain` | `bool` |
1476
+ | `MetaData` | `Dictionary<string, string>` |
1477
+ | `OffChainProvider` | `EnumValue<ProviderType>` |
1478
+ | `OnChainProvider` | `EnumValue<ProviderType>` |
1479
+ | `NFTStandardType` | `EnumValue<NFTStandardType>` |
1480
+ | `NFTOffChainMetaType` | `EnumValue<NFTOffChainMetaType>` |
1481
+ | `Symbol` | `string` |
1482
+ | `JSONMetaDataURL` | `string` |
1483
+ | `JSONMetaData` | `string` |
1484
+ | `WaitTillNFTMinted` | `bool` |
1485
+ | `WaitForNFTToMintInSeconds` | `int` |
1486
+ | `AttemptToMintEveryXSeconds` | `int` |
1487
+ | `SendToAddressAfterMinting` | `string` |
1488
+ | `SendToAvatarAfterMintingId` | `Guid` |
1489
+ | `SendToAvatarAfterMintingUsername` | `string` |
1490
+ | `SendToAvatarAfterMintingEmail` | `string` |
1491
+ | `WaitTillNFTSent` | `bool` |
1492
+ | `WaitForNFTToSendInSeconds` | `int` |
1493
+ | `AttemptToSendEveryXSeconds` | `int` |
1494
+ | `Tags` | `List<string>` |
1495
+
1496
+ **Response**
1497
+
1498
+ Standard `OASISResult` envelope (see top of this page) with:
1499
+
1500
+ `result` type: `IWeb4GeoSpatialNFT`
1501
+
1502
+ | Field | Type |
1503
+ | --- | --- |
1504
+ | `PlacedByAvatarId` | `Guid` |
1505
+ | `OriginalWeb4OASISNFTId` | `Guid` |
1506
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
1507
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
1508
+ | `PlacedOn` | `DateTime` |
1509
+ | `Lat` | `double` |
1510
+ | `Long` | `double` |
1511
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
1512
+ | `PermSpawn` | `bool` |
1513
+ | `GlobalSpawnQuantity` | `int` |
1514
+ | `PlayerSpawnQuantity` | `int` |
1515
+ | `RespawnDurationInSeconds` | `int` |
1516
+ | `Nft3DObject` | `byte[]` |
1517
+ | `Nft3DObjectURI` | `string` |
1518
+ | `Nft2DSprite` | `byte[]` |
1519
+ | `Nft2DSpriteURI` | `string` |
1520
+ | `SuccessMessageWhenCollected` | `string` |
1521
+ | `SpawnInSafeZone` | `bool` |
1522
+ | `SpawnNearPlayer` | `bool` |
1523
+ | `SpawnWithinXMetersFromPlayer` | `int` |
1524
+ | `SpawnXMetersAwayFromPlayer` | `int` |
1525
+ | `IsVisibleOnMap` | `bool` |
1526
+ | `IsVisibleInInventory` | `bool` |
1527
+
1528
+ **Example**
1529
+
1530
+ ```js
1531
+ const { isError, message, result } = await oasis.nft.mintAndPlaceGeoNFTAsync({
1532
+ mintWalletAddress: "example string",
1533
+ collectionPublicKey: "example string",
1534
+ web3NFTs: [{ "CollectionPublicKey": "example string", "NFTMetaDataMergeStrategy": { }, "NFTTagsMergeStrategy": { }, "NumberToMint": 1, "StoreNFTMetaDataOnChain": true, "OffChainProvider": { }, "OnChainProvider": {}, "NFTStandardType": { }, "NFTOffChainMetaType": { }, "Price": 1.0, "Discount": 1.0, "RoyaltyPercentage": 1, "WaitTillNFTMinted": true, "WaitForNFTToMintInSeconds": 1, "WaitTillNFTVerified": true, "WaitForNFTToVerifyInSeconds": 1, "AttemptToVerifyEveryXSeconds": 1, "WaitTillNFTSent": true, "WaitForNFTToSendInSeconds": 1, "AttemptToSendEveryXSeconds": 1 }],
1535
+ mintedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1536
+ title: "example string",
1537
+ description: "example string",
1538
+ image: "<base64-bytes>",
1539
+ imageUrl: "example string",
1540
+ thumbnail: "<base64-bytes>",
1541
+ thumbnailUrl: "example string",
1542
+ amount: 1.0,
1543
+ price: 1.0,
1544
+ discount: 1.0,
1545
+ royaltyPercentage: 1,
1546
+ isForSale: true,
1547
+ saleStartDate: "2026-01-01T00:00:00Z",
1548
+ saleEndDate: "2026-01-01T00:00:00Z",
1549
+ memoText: "example string",
1550
+ token: "example string",
1551
+ numberToMint: 1,
1552
+ storeNFTMetaDataOnChain: true,
1553
+ metaData: { "<string>": "example string" },
1554
+ offChainProvider: { "Score": 1.0 },
1555
+ onChainProvider: { "Score": 1.0 },
1556
+ nFTStandardType: { "Score": 1.0 },
1557
+ nFTOffChainMetaType: { "Score": 1.0 },
1558
+ symbol: "example string",
1559
+ jSONMetaDataURL: "example string",
1560
+ jSONMetaData: "example string",
1561
+ waitTillNFTMinted: true,
1562
+ waitForNFTToMintInSeconds: 1,
1563
+ attemptToMintEveryXSeconds: 1,
1564
+ sendToAddressAfterMinting: "example string",
1565
+ sendToAvatarAfterMintingId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1566
+ sendToAvatarAfterMintingUsername: "example string",
1567
+ sendToAvatarAfterMintingEmail: "example string",
1568
+ waitTillNFTSent: true,
1569
+ waitForNFTToSendInSeconds: 1,
1570
+ attemptToSendEveryXSeconds: 1,
1571
+ tags: ["example string"]
1572
+ });
1573
+ if (isError) throw new Error(message);
1574
+ console.log(result);
1575
+ ```
1576
+
1577
+ Example response:
1578
+
1579
+ ```json
1580
+ {
1581
+ "isError": false,
1582
+ "message": "",
1583
+ "result": { "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }
1584
+ }
1585
+ ```
1586
+
1587
+ ---
1588
+
1589
+ ### `mintNftAsync`
1590
+
1591
+ **POST** `api/nft/mint-nft`
1592
+
1593
+ **Request**
1594
+
1595
+ Body type: `MintNFTTransactionRequest`
1596
+
1597
+ | Field | Type |
1598
+ | --- | --- |
1599
+ | `CollectionPublicKey` | `string` |
1600
+ | `Title` | `string` |
1601
+ | `Description` | `string` |
1602
+ | `Image` | `byte[]` |
1603
+ | `ImageUrl` | `string` |
1604
+ | `Thumbnail` | `byte[]` |
1605
+ | `ThumbnailUrl` | `string` |
1606
+ | `Price` | `decimal` |
1607
+ | `Symbol` | `string` |
1608
+ | `Discount` | `decimal` |
1609
+ | `MemoText` | `string` |
1610
+ | `Token` | `string` |
1611
+ | `NumberToMint` | `int` |
1612
+ | `StoreNFTMetaDataOnChain` | `bool` |
1613
+ | `MetaData` | `Dictionary<string, object>` |
1614
+ | `OffChainProvider` | `string` |
1615
+ | `OnChainProvider` | `string` |
1616
+ | `NFTOffChainMetaType` | `string` |
1617
+ | `JSONMetaDataURL` | `string` |
1618
+ | `NFTStandardType` | `string` |
1619
+ | `SendToAddressAfterMinting` | `string` |
1620
+ | `SendToAvatarAfterMintingId` | `string` |
1621
+ | `SendToAvatarAfterMintingUsername` | `string` |
1622
+ | `SendToAvatarAfterMintingEmail` | `string` |
1623
+ | `WaitTillNFTMinted` | `bool` |
1624
+ | `WaitForNFTToMintInSeconds` | `int` |
1625
+ | `AttemptToMintEveryXSeconds` | `int` |
1626
+ | `WaitTillNFTVerified` | `bool` |
1627
+ | `WaitForNFTToVerifyInSeconds` | `int` |
1628
+ | `AttemptToVerifyEveryXSeconds` | `int` |
1629
+ | `WaitTillNFTSent` | `bool` |
1630
+ | `WaitForNFTToSendInSeconds` | `int` |
1631
+ | `AttemptToSendEveryXSeconds` | `int` |
1632
+
1633
+ **Response**
1634
+
1635
+ Standard `OASISResult` envelope (see top of this page) with:
1636
+
1637
+ `result` type: `IWeb4NFT`
1638
+
1639
+ | Field | Type |
1640
+ | --- | --- |
1641
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1642
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1643
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1644
+ | `Web3NFTIds` | `IList<string>` |
1645
+
1646
+ **Example**
1647
+
1648
+ ```js
1649
+ const { isError, message, result } = await oasis.nft.mintNftAsync({
1650
+ collectionPublicKey: "example string",
1651
+ title: "example string",
1652
+ description: "example string",
1653
+ image: "<base64-bytes>",
1654
+ imageUrl: "example string",
1655
+ thumbnail: "<base64-bytes>",
1656
+ thumbnailUrl: "example string",
1657
+ price: 1.0,
1658
+ symbol: "example string",
1659
+ discount: 1.0,
1660
+ memoText: "example string",
1661
+ token: "example string",
1662
+ numberToMint: 1,
1663
+ storeNFTMetaDataOnChain: true,
1664
+ metaData: { "<string>": {} },
1665
+ offChainProvider: "example string",
1666
+ onChainProvider: "example string",
1667
+ nFTOffChainMetaType: "example string",
1668
+ jSONMetaDataURL: "example string",
1669
+ nFTStandardType: "example string",
1670
+ sendToAddressAfterMinting: "example string",
1671
+ sendToAvatarAfterMintingId: "example string",
1672
+ sendToAvatarAfterMintingUsername: "example string",
1673
+ sendToAvatarAfterMintingEmail: "example string",
1674
+ waitTillNFTMinted: true,
1675
+ waitForNFTToMintInSeconds: 1,
1676
+ attemptToMintEveryXSeconds: 1,
1677
+ waitTillNFTVerified: true,
1678
+ waitForNFTToVerifyInSeconds: 1,
1679
+ attemptToVerifyEveryXSeconds: 1,
1680
+ waitTillNFTSent: true,
1681
+ waitForNFTToSendInSeconds: 1,
1682
+ attemptToSendEveryXSeconds: 1
1683
+ });
1684
+ if (isError) throw new Error(message);
1685
+ console.log(result);
1686
+ ```
1687
+
1688
+ Example response:
1689
+
1690
+ ```json
1691
+ {
1692
+ "isError": false,
1693
+ "message": "",
1694
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
1695
+ }
1696
+ ```
1697
+
1698
+ ---
1699
+
1700
+ ### `placeGeoNFTAsync`
1701
+
1702
+ **POST** `api/nft/place-geo-nft`
1703
+
1704
+ **Request**
1705
+
1706
+ Body type: `PlaceGeoSpatialNFTRequest`
1707
+
1708
+ | Field | Type |
1709
+ | --- | --- |
1710
+ | `OriginalOASISNFTId` | `Guid` |
1711
+ | `OriginalOASISNFTOffChainProvider` | `string` |
1712
+ | `NFTHash` | `string` |
1713
+ | `NFTURL` | `string` |
1714
+ | `PlacedByAvatarId` | `Guid` |
1715
+ | `Lat` | `long` |
1716
+ | `Long` | `long` |
1717
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
1718
+ | `PermSpawn` | `bool` |
1719
+ | `GlobalSpawnQuantity` | `int` |
1720
+ | `PlayerSpawnQuantity` | `int` |
1721
+ | `RespawnDurationInSeconds` | `int` |
1722
+ | `Nft3DObject` | `byte[]` |
1723
+ | `Nft3DObjectURI` | `string` |
1724
+ | `Nft2DSprite` | `byte[]` |
1725
+ | `Nft2DSpriteURI` | `string` |
1726
+ | `GeoNFTMetaDataProvider` | `string` |
1727
+
1728
+ **Response**
1729
+
1730
+ Standard `OASISResult` envelope (see top of this page) with:
1731
+
1732
+ `result` type: `IWeb4GeoSpatialNFT`
1733
+
1734
+ | Field | Type |
1735
+ | --- | --- |
1736
+ | `PlacedByAvatarId` | `Guid` |
1737
+ | `OriginalWeb4OASISNFTId` | `Guid` |
1738
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
1739
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
1740
+ | `PlacedOn` | `DateTime` |
1741
+ | `Lat` | `double` |
1742
+ | `Long` | `double` |
1743
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
1744
+ | `PermSpawn` | `bool` |
1745
+ | `GlobalSpawnQuantity` | `int` |
1746
+ | `PlayerSpawnQuantity` | `int` |
1747
+ | `RespawnDurationInSeconds` | `int` |
1748
+ | `Nft3DObject` | `byte[]` |
1749
+ | `Nft3DObjectURI` | `string` |
1750
+ | `Nft2DSprite` | `byte[]` |
1751
+ | `Nft2DSpriteURI` | `string` |
1752
+ | `SuccessMessageWhenCollected` | `string` |
1753
+ | `SpawnInSafeZone` | `bool` |
1754
+ | `SpawnNearPlayer` | `bool` |
1755
+ | `SpawnWithinXMetersFromPlayer` | `int` |
1756
+ | `SpawnXMetersAwayFromPlayer` | `int` |
1757
+ | `IsVisibleOnMap` | `bool` |
1758
+ | `IsVisibleInInventory` | `bool` |
1759
+
1760
+ **Example**
1761
+
1762
+ ```js
1763
+ const { isError, message, result } = await oasis.nft.placeGeoNFTAsync({
1764
+ originalOASISNFTId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1765
+ originalOASISNFTOffChainProvider: "example string",
1766
+ nFTHash: "example string",
1767
+ nFTURL: "example string",
1768
+ placedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
1769
+ lat: 1,
1770
+ long: 1,
1771
+ allowOtherPlayersToAlsoCollect: true,
1772
+ permSpawn: true,
1773
+ globalSpawnQuantity: 1,
1774
+ playerSpawnQuantity: 1,
1775
+ respawnDurationInSeconds: 1,
1776
+ nft3DObject: "<base64-bytes>",
1777
+ nft3DObjectURI: "example string",
1778
+ nft2DSprite: "<base64-bytes>",
1779
+ nft2DSpriteURI: "example string",
1780
+ geoNFTMetaDataProvider: "example string"
1781
+ });
1782
+ if (isError) throw new Error(message);
1783
+ console.log(result);
1784
+ ```
1785
+
1786
+ Example response:
1787
+
1788
+ ```json
1789
+ {
1790
+ "isError": false,
1791
+ "message": "",
1792
+ "result": { "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }
1793
+ }
1794
+ ```
1795
+
1796
+ ---
1797
+
1798
+ ### `remintNftAsync`
1799
+
1800
+ Remints an existing NFT.
1801
+
1802
+ **POST** `api/nft/remint-nft`
1803
+
1804
+ **Request**
1805
+
1806
+ Body type: `RemintWeb4NFTRequest`
1807
+
1808
+ | Field | Type |
1809
+ | --- | --- |
1810
+ | `Web4NFT` | `IWeb4NFT` |
1811
+ | `Web3NFTs` | `IList<IMintWeb3NFTRequest>` |
1812
+
1813
+ **Response**
1814
+
1815
+ Standard `OASISResult` envelope (see top of this page) with:
1816
+
1817
+ `result` type: `IWeb4NFT`
1818
+
1819
+ | Field | Type |
1820
+ | --- | --- |
1821
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
1822
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
1823
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
1824
+ | `Web3NFTIds` | `IList<string>` |
1825
+
1826
+ **Example**
1827
+
1828
+ ```js
1829
+ const { isError, message, result } = await oasis.nft.remintNftAsync({
1830
+ web4NFT: { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] },
1831
+ web3NFTs: [{ "CollectionPublicKey": "example string", "NFTMetaDataMergeStrategy": { }, "NFTTagsMergeStrategy": { }, "NumberToMint": 1, "StoreNFTMetaDataOnChain": true, "OffChainProvider": { }, "OnChainProvider": {}, "NFTStandardType": { }, "NFTOffChainMetaType": { }, "Price": 1.0, "Discount": 1.0, "RoyaltyPercentage": 1, "WaitTillNFTMinted": true, "WaitForNFTToMintInSeconds": 1, "WaitTillNFTVerified": true, "WaitForNFTToVerifyInSeconds": 1, "AttemptToVerifyEveryXSeconds": 1, "WaitTillNFTSent": true, "WaitForNFTToSendInSeconds": 1, "AttemptToSendEveryXSeconds": 1 }]
1832
+ });
1833
+ if (isError) throw new Error(message);
1834
+ console.log(result);
1835
+ ```
1836
+
1837
+ Example response:
1838
+
1839
+ ```json
1840
+ {
1841
+ "isError": false,
1842
+ "message": "",
1843
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
1844
+ }
1845
+ ```
1846
+
1847
+ ---
1848
+
1849
+ ### `searchWeb4GeoNFTsAsync`
1850
+
1851
+ Searches for Web4 Geo NFTs.
1852
+
1853
+ **GET** `api/nft/search-web4-geo-nfts/{searchTerm}/{avatarId}`
1854
+
1855
+ Route parameters:
1856
+
1857
+ | Field | Type |
1858
+ | --- | --- |
1859
+ | `searchTerm` | `string` |
1860
+ | `avatarId` | `Guid` |
1861
+
1862
+ **Request**
1863
+
1864
+ Body type: `Dictionary<string, string>` - a key/value map keyed by `string`, each value a `string`.
1865
+
1866
+ **Response**
1867
+
1868
+ Standard `OASISResult` envelope (see top of this page) with:
1869
+
1870
+ `result` type: `IWeb4GeoSpatialNFT` (array)
1871
+
1872
+ | Field | Type |
1873
+ | --- | --- |
1874
+ | `PlacedByAvatarId` | `Guid` |
1875
+ | `OriginalWeb4OASISNFTId` | `Guid` |
1876
+ | `GeoNFTMetaDataProvider` | `EnumValue<ProviderType>` |
1877
+ | `OriginalOASISNFTProviderType` | `EnumValue<ProviderType>` |
1878
+ | `PlacedOn` | `DateTime` |
1879
+ | `Lat` | `double` |
1880
+ | `Long` | `double` |
1881
+ | `AllowOtherPlayersToAlsoCollect` | `bool` |
1882
+ | `PermSpawn` | `bool` |
1883
+ | `GlobalSpawnQuantity` | `int` |
1884
+ | `PlayerSpawnQuantity` | `int` |
1885
+ | `RespawnDurationInSeconds` | `int` |
1886
+ | `Nft3DObject` | `byte[]` |
1887
+ | `Nft3DObjectURI` | `string` |
1888
+ | `Nft2DSprite` | `byte[]` |
1889
+ | `Nft2DSpriteURI` | `string` |
1890
+ | `SuccessMessageWhenCollected` | `string` |
1891
+ | `SpawnInSafeZone` | `bool` |
1892
+ | `SpawnNearPlayer` | `bool` |
1893
+ | `SpawnWithinXMetersFromPlayer` | `int` |
1894
+ | `SpawnXMetersAwayFromPlayer` | `int` |
1895
+ | `IsVisibleOnMap` | `bool` |
1896
+ | `IsVisibleInInventory` | `bool` |
1897
+
1898
+ **Example**
1899
+
1900
+ ```js
1901
+ const { isError, message, result } = await oasis.nft.searchWeb4GeoNFTsAsync({
1902
+ searchTerm: '<searchTerm>',
1903
+ avatarId: '<avatarId>',
1904
+ metaKeyValuePairMatchMode: '<metaKeyValuePairMatchMode>',
1905
+ searchOnlyForCurrentAvatar: true,
1906
+ providerType: '<providerType>',
1907
+ /* ...request body fields */
1908
+ });
1909
+ if (isError) throw new Error(message);
1910
+ console.log(result);
1911
+ ```
1912
+
1913
+ Example response:
1914
+
1915
+ ```json
1916
+ {
1917
+ "isError": false,
1918
+ "message": "",
1919
+ "result": [{ "PlacedByAvatarId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "OriginalWeb4OASISNFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "GeoNFTMetaDataProvider": { "Score": 1.0 }, "OriginalOASISNFTProviderType": {}, "PlacedOn": "2026-01-01T00:00:00Z", "Lat": 1.0, "Long": 1.0, "AllowOtherPlayersToAlsoCollect": true, "PermSpawn": true, "GlobalSpawnQuantity": 1, "PlayerSpawnQuantity": 1, "RespawnDurationInSeconds": 1, "Nft3DObject": "<base64-bytes>", "Nft3DObjectURI": "example string", "Nft2DSprite": "<base64-bytes>", "Nft2DSpriteURI": "example string", "SuccessMessageWhenCollected": "example string", "SpawnInSafeZone": true, "SpawnNearPlayer": true, "SpawnWithinXMetersFromPlayer": 1, "SpawnXMetersAwayFromPlayer": 1, "IsVisibleOnMap": true, "IsVisibleInInventory": true }]
1920
+ }
1921
+ ```
1922
+
1923
+ ---
1924
+
1925
+ ### `searchWeb4NFTCollectionsAsync`
1926
+
1927
+ Searches for Web4 NFT collections.
1928
+
1929
+ **GET** `api/nft/search-web4-nft-collections/{searchTerm}/{avatarId}`
1930
+
1931
+ Route parameters:
1932
+
1933
+ | Field | Type |
1934
+ | --- | --- |
1935
+ | `searchTerm` | `string` |
1936
+ | `avatarId` | `Guid` |
1937
+
1938
+ **Request**
1939
+
1940
+ Body type: `Dictionary<string, string>` - a key/value map keyed by `string`, each value a `string`.
1941
+
1942
+ **Response**
1943
+
1944
+ Standard `OASISResult` envelope (see top of this page) with:
1945
+
1946
+ `result` type: `IWeb4NFTCollection` (array)
1947
+
1948
+ | Field | Type |
1949
+ | --- | --- |
1950
+ | `ParentWeb5NFTCollectionIds` | `IList<Guid>` |
1951
+ | `Web4NFTs` | `List<IWeb4NFT>` |
1952
+ | `Web4NFTIds` | `List<string>` |
1953
+
1954
+ **Example**
1955
+
1956
+ ```js
1957
+ const { isError, message, result } = await oasis.nft.searchWeb4NFTCollectionsAsync({
1958
+ searchTerm: '<searchTerm>',
1959
+ avatarId: '<avatarId>',
1960
+ metaKeyValuePairMatchMode: '<metaKeyValuePairMatchMode>',
1961
+ searchOnlyForCurrentAvatar: true,
1962
+ providerType: '<providerType>',
1963
+ /* ...request body fields */
1964
+ });
1965
+ if (isError) throw new Error(message);
1966
+ console.log(result);
1967
+ ```
1968
+
1969
+ Example response:
1970
+
1971
+ ```json
1972
+ {
1973
+ "isError": false,
1974
+ "message": "",
1975
+ "result": [{ "ParentWeb5NFTCollectionIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web4NFTs": [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }], "Web4NFTIds": ["example string"] }]
1976
+ }
1977
+ ```
1978
+
1979
+ ---
1980
+
1981
+ ### `searchWeb4NFTsAsync`
1982
+
1983
+ Searches for Web4 NFTs.
1984
+
1985
+ **GET** `api/nft/search-web4-nfts/{searchTerm}/{avatarId}`
1986
+
1987
+ Route parameters:
1988
+
1989
+ | Field | Type |
1990
+ | --- | --- |
1991
+ | `searchTerm` | `string` |
1992
+ | `avatarId` | `Guid` |
1993
+
1994
+ **Request**
1995
+
1996
+ Body type: `Dictionary<string, string>` - a key/value map keyed by `string`, each value a `string`.
1997
+
1998
+ **Response**
1999
+
2000
+ Standard `OASISResult` envelope (see top of this page) with:
2001
+
2002
+ `result` type: `IWeb4NFT` (array)
2003
+
2004
+ | Field | Type |
2005
+ | --- | --- |
2006
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
2007
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
2008
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
2009
+ | `Web3NFTIds` | `IList<string>` |
2010
+
2011
+ **Example**
2012
+
2013
+ ```js
2014
+ const { isError, message, result } = await oasis.nft.searchWeb4NFTsAsync({
2015
+ searchTerm: '<searchTerm>',
2016
+ avatarId: '<avatarId>',
2017
+ metaKeyValuePairMatchMode: '<metaKeyValuePairMatchMode>',
2018
+ searchOnlyForCurrentAvatar: true,
2019
+ providerType: '<providerType>',
2020
+ /* ...request body fields */
2021
+ });
2022
+ if (isError) throw new Error(message);
2023
+ console.log(result);
2024
+ ```
2025
+
2026
+ Example response:
2027
+
2028
+ ```json
2029
+ {
2030
+ "isError": false,
2031
+ "message": "",
2032
+ "result": [{ "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }]
2033
+ }
2034
+ ```
2035
+
2036
+ ---
2037
+
2038
+ ### `sendNFTAsync`
2039
+
2040
+ **POST** `api/nft/send-nft`
2041
+
2042
+ **Request**
2043
+
2044
+ Body type: `NFTWalletTransactionRequest`
2045
+
2046
+ | Field | Type |
2047
+ | --- | --- |
2048
+ | `MintWalletAddress` | `string` |
2049
+ | `FromWalletAddress` | `string` |
2050
+ | `ToWalletAddress` | `string` |
2051
+ | `FromToken` | `string` |
2052
+ | `ToToken` | `string` |
2053
+ | `FromProvider` | `string` |
2054
+ | `ToProvider` | `string` |
2055
+ | `Amount` | `decimal` |
2056
+ | `MemoText` | `string` |
2057
+ | `WaitTillNFTSent` | `bool` |
2058
+ | `WaitForNFTToSendInSeconds` | `int` |
2059
+ | `AttemptToSendEveryXSeconds` | `int` |
2060
+
2061
+ **Response**
2062
+
2063
+ Standard `OASISResult` envelope (see top of this page) with:
2064
+
2065
+ `result` type: `ISendWeb4NFTResponse`
2066
+
2067
+ | Field | Type |
2068
+ | --- | --- |
2069
+ | `SendTransactionResult` | `string` |
2070
+ | `LockTransactionResult` | `string` |
2071
+ | `BurnTransactionResult` | `string` |
2072
+ | `UnlockTransactionResult` | `string` |
2073
+ | `BridgeOrderId` | `string` |
2074
+
2075
+ **Example**
2076
+
2077
+ ```js
2078
+ const { isError, message, result } = await oasis.nft.sendNFTAsync({
2079
+ mintWalletAddress: "example string",
2080
+ fromWalletAddress: "example string",
2081
+ toWalletAddress: "example string",
2082
+ fromToken: "example string",
2083
+ toToken: "example string",
2084
+ fromProvider: "example string",
2085
+ toProvider: "example string",
2086
+ amount: 1.0,
2087
+ memoText: "example string",
2088
+ waitTillNFTSent: true,
2089
+ waitForNFTToSendInSeconds: 1,
2090
+ attemptToSendEveryXSeconds: 1
2091
+ });
2092
+ if (isError) throw new Error(message);
2093
+ console.log(result);
2094
+ ```
2095
+
2096
+ Example response:
2097
+
2098
+ ```json
2099
+ {
2100
+ "isError": false,
2101
+ "message": "",
2102
+ "result": { "SendTransactionResult": "example string", "LockTransactionResult": "example string", "BurnTransactionResult": "example string", "UnlockTransactionResult": "example string", "BridgeOrderId": "example string" }
2103
+ }
2104
+ ```
2105
+
2106
+ ---
2107
+
2108
+ ### `updateWeb4NftAsync`
2109
+
2110
+ **POST** `api/nft/update-web4-nft`
2111
+
2112
+ **Request**
2113
+
2114
+ Body type: `IUpdateWeb4NFTRequest`
2115
+
2116
+ | Field | Type |
2117
+ | --- | --- |
2118
+ | `Id` | `Guid` |
2119
+ | `MintedByAvatarId` | `Guid` |
2120
+ | `Description` | `string` |
2121
+ | `Discount` | `decimal?` |
2122
+ | `Image` | `byte[]` |
2123
+ | `ImageUrl` | `string` |
2124
+ | `MetaData` | `Dictionary<string, string>` |
2125
+ | `Price` | `decimal?` |
2126
+ | `Tags` | `List<string>` |
2127
+ | `Thumbnail` | `byte[]` |
2128
+ | `ThumbnailUrl` | `string` |
2129
+ | `Title` | `string` |
2130
+ | `ModifiedByAvatarId` | `Guid` |
2131
+ | `RoyaltyPercentage` | `int?` |
2132
+ | `PreviousOwnerAvatarId` | `Guid` |
2133
+ | `CurrentOwnerAvatarId` | `Guid` |
2134
+ | `IsForSale` | `bool?` |
2135
+ | `SaleStartDate` | `DateTime?` |
2136
+ | `SaleEndDate` | `DateTime?` |
2137
+ | `TotalNumberOfSales` | `int?` |
2138
+ | `LastSaleTransactionHash` | `string` |
2139
+ | `LastSoldByAvatarId` | `Guid` |
2140
+ | `LastPurchasedByAvatarId` | `Guid` |
2141
+ | `LastSaleQuantity` | `int?` |
2142
+ | `LastSaleDiscount` | `decimal?` |
2143
+ | `LastSaleTax` | `decimal?` |
2144
+ | `SalesHistory` | `string` |
2145
+ | `LastSalePrice` | `decimal?` |
2146
+ | `LastSaleAmount` | `decimal?` |
2147
+ | `LastSaleDate` | `DateTime` |
2148
+ | `UpdateAllChildWeb3NFTs` | `bool` |
2149
+ | `UpdateChildWebNFTIds` | `IList<string>` |
2150
+ | `ProviderType` | `EnumValue<ProviderType>` |
2151
+
2152
+ **Response**
2153
+
2154
+ Standard `OASISResult` envelope (see top of this page) with:
2155
+
2156
+ `result` type: `IWeb4NFT`
2157
+
2158
+ | Field | Type |
2159
+ | --- | --- |
2160
+ | `ParentWeb5NFTIds` | `IList<Guid>` |
2161
+ | `Web3NFTs` | `IList<IWeb3NFT>` |
2162
+ | `NewlyMintedWeb3NFTs` | `IList<IWeb3NFT>` |
2163
+ | `Web3NFTIds` | `IList<string>` |
2164
+
2165
+ **Example**
2166
+
2167
+ ```js
2168
+ const { isError, message, result } = await oasis.nft.updateWeb4NftAsync({
2169
+ providerType: { "Score": 1.0 },
2170
+ id: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2171
+ mintedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2172
+ description: "example string",
2173
+ discount: 1.0,
2174
+ image: "<base64-bytes>",
2175
+ imageUrl: "example string",
2176
+ metaData: { "<string>": "example string" },
2177
+ price: 1.0,
2178
+ tags: ["example string"],
2179
+ thumbnail: "<base64-bytes>",
2180
+ thumbnailUrl: "example string",
2181
+ title: "example string",
2182
+ modifiedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2183
+ royaltyPercentage: 1,
2184
+ previousOwnerAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2185
+ currentOwnerAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2186
+ isForSale: true,
2187
+ saleStartDate: "2026-01-01T00:00:00Z",
2188
+ saleEndDate: "2026-01-01T00:00:00Z",
2189
+ totalNumberOfSales: 1,
2190
+ lastSaleTransactionHash: "example string",
2191
+ lastSoldByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2192
+ lastPurchasedByAvatarId: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
2193
+ lastSaleQuantity: 1,
2194
+ lastSaleDiscount: 1.0,
2195
+ lastSaleTax: 1.0,
2196
+ salesHistory: "example string",
2197
+ lastSalePrice: 1.0,
2198
+ lastSaleAmount: 1.0,
2199
+ lastSaleDate: "2026-01-01T00:00:00Z",
2200
+ updateAllChildWeb3NFTs: true,
2201
+ updateChildWebNFTIds: ["example string"]
2202
+ });
2203
+ if (isError) throw new Error(message);
2204
+ console.log(result);
2205
+ ```
2206
+
2207
+ Example response:
2208
+
2209
+ ```json
2210
+ {
2211
+ "isError": false,
2212
+ "message": "",
2213
+ "result": { "ParentWeb5NFTIds": ["3fa85f64-5717-4562-b3fc-2c963f66afa6"], "Web3NFTs": [{ "ParentWeb4NFTId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "MintTransactionHash": "example string", "VerifyCollectionTransactionHash": "example string", "SendNFTTransactionHash": "example string", "NFTMintedUsingWalletAddress": "example string", "NFTTokenAddress": "example string", "OASISMintWalletAddress": "example string", "UpdateAuthority": "example string" }], "NewlyMintedWeb3NFTs": [], "Web3NFTIds": ["example string"] }
2214
+ }
2215
+ ```
2216
+