Development : https://localhost:5002
Staging : https://staging-api.oasisplatform.world
Production : https://api.oasisplatform.world
All API requests require authentication via JWT token in the Authorization header:
Copy Authorization: Bearer YOUR_JWT_TOKEN Avatar Management
Register Avatar
POST /api/avatar/register
Register a new avatar in the OASIS system.
Request Body:
Copy {
" username " : " string " ,
" email " : " string " ,
" password " : " string " ,
" firstName " : " string " ,
" lastName " : " string "
} Response:
GET /api/avatar/verify-email
Verify avatar email address using token from registration email.
Query Parameters:
token (string, required) - Verification token from email
Response:
Authenticate Avatar
POST /api/avatar/authenticate
Authenticate avatar and receive JWT token.
Request Body:
Response:
Get Current Avatar
GET /api/avatar/current
Get details of currently authenticated avatar.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Response:
PUT /api/avatar/{id}
Update avatar information.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Request Body:
DELETE /api/avatar/{id}
Delete avatar account.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
POST /api/nft/mint-nft
Mint a new NFT using specified providers.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Request Body:
Response:
GET /api/nft/load-nft/{id}
Load NFT details by ID.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Response:
Load NFTs for Avatar
GET /api/nft/load-nfts-for-avatar/{avatarId}
Load all NFTs owned by specific avatar.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Response:
Data Management
POST /api/data/save-holon
Save a data holon (generic data object).
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Request Body:
Response:
GET /api/data/load-holon/{id}
Load holon by ID.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Load Holons for Parent
GET /api/data/load-holons-for-parent/{parentId}
Load all child holons for a parent holon.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
DELETE /api/data/delete-holon/{id}
Delete holon by ID.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Provider Management
Get Current Storage Provider
GET /api/provider/get-current-storage-provider
Get currently active storage provider.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Response:
Get Current Storage Provider Type
GET /api/provider/get-current-storage-provider-type
Get currently active storage provider type.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Get All Registered Providers
GET /api/provider/get-all-registered-providers
Get list of all registered providers.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Activate Provider
POST /api/provider/activate-provider/{providerType}
Activate specific provider.
Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Path Parameters:
providerType (string) - Provider type to activate
Provider-Specific Endpoints
Most endpoints support provider-specific versions with the format: /api/{controller}/{action}/{providerType}/{setGlobally}
providerType (string) - Provider to use for this request
setGlobally (boolean) - Whether to set provider globally for future requests
Register with Specific Provider
POST /api/avatar/register/MongoDBOASIS/false
Register avatar using MongoDB provider for this request only.
Mint NFT with Specific Provider
POST /api/nft/mint-nft/ArbitrumOASIS/true
Mint NFT using Arbitrum provider and set it globally for future requests.
Save Holon with Specific Provider
POST /api/data/save-holon/Neo4jOASIS/false
Save holon using Neo4j provider for this request only.
Available Provider Types
Storage Providers
MongoDBOASIS - MongoDB document database
SQLLiteDBOASIS - SQLite relational database
Neo4jOASIS - Neo4j graph database
LocalFileOASIS - Local file system storage
Blockchain Providers
EthereumOASIS - Ethereum blockchain
ArbitrumOASIS - Arbitrum layer 2
PolygonOASIS - Polygon network
SolanaOASIS - Solana blockchain
EOSIOOASIS - EOSIO blockchain
TRONOASIS - TRON blockchain
RootstockOASIS - Rootstock blockchain
Network Providers
HoloOASIS - Holochain network
IPFSOASIS - IPFS decentralized storage
PinataOASIS - Pinata IPFS service
Error Responses
All endpoints return standardized error responses:
Common HTTP Status Codes:
500 - Internal Server Error
API requests are subject to rate limiting:
Authentication endpoints : 5 requests per minute
General endpoints : 100 requests per minute
NFT operations : 10 requests per minute
Rate limit headers are included in responses:
X-RateLimit-Limit - Request limit per window
X-RateLimit-Remaining - Remaining requests in current window
X-RateLimit-Reset - Time when rate limit resets
WebSocket Support
Some endpoints support WebSocket connections for real-time updates:
SDKs and Libraries
Testing with Postman
Import the OASIS API Postman collection:
Set environment variables:
baseUrl: https://localhost:5002
For API support and questions:
Email : ourworld@nextgensoftware.co.uk