Obox API
The OBox API serves as the Explorer Node for the Züs decentralized storage network. It exposes endpoints to query and track the network’s state, including allocation metadata, usage statistics, and user-driven actions over time.
In addition to network observability, OBox also provides critical support for user profile management and features used by Züs web applications (such as wallet onboarding, funding tasks, and S3-compatible deployments).
It acts as a bridge between developers and the Züs ecosystem, enabling both individual users and enterprise clients to interact programmatically with the network.
Signup / Login & Identity Checks
These endpoints handles user identity verification, including username, email, and phone number checks for secure onboarding.
Check Username Exists
Path:
/v2/username/exists
Method:
GET
Access: Public API
Description: Checks if a username already exists.
Query Parameters:
username
(string, required)
Response:
Error Responses:
400 Bad Request
– Missing/invalidusername
500 Internal Server Error
– Unexpected error
Example:
GET /v2/username/exists?username=johndoe
Check Email Exists
Path:
/v2/email/exist
Method:
GET
Access: Public API
Description: Checks if an email is already registered.
Query Parameters:
email
(string, required)
Response:
Error Responses:
Check Phone Number Exists
Path:
/v2/phone/exist
Method:
GET
Access: Public API
Description: Verifies if a phone number is in use.
Query Parameters:
phone_number
(string, required)
Response:
Error Responses:
Owner Profile Management
These endpoints manages creation, retrieval, and updates to owner profiles linked to wallets and storage activities.
Get Owner by Wallet ID
Path:
/v2/owner/wallet/:ID
Method:
GET
Access: CSRF API
Description: Public profile fetch by wallet ID.
Path Params:
ID
(string)Response:
Error:
{"error": "owner not found"}
Get Current Owner
Path:
/v2/owner
Method:
GET
Access: Signature API
Response:
Update Owner
Path:
/v2/owner
Method:
PUT
Access: Signature API
Form Data:
username
(optional)avatar
(optional file)background
(optional file)biography
(optional string)
Response:
Delete Owner
Path:
/v2/owner
Method:
DELETE
Access: Private API
Response:
Deletes: DB record, Elasticsearch index, Stripe subscriptions, Firebase account.
Autocomplete Owners by Name
Path:
/v2/owner/autocomplete
Method:
GET
Access: Signature API
Query Parameters:
name
(required)app_type
(required)offset
,limit
,order
(optional)
Response:
Wallet Management
These endpoints enables wallet creation, updates, and funding workflows essential for interacting with the Züs network.
Create Wallet
Path:
/v2/wallet
Method:
POST
Access: Signature API
Description: Creates a new wallet for the authenticated user. Can optionally include a referral code and custom mnemonic.
Form Data (multipart/form-data):
name
(string, optional): Wallet name.description
(string, optional): Wallet description.mnemonic
(string, optional): Predefined mnemonic (if restoring).pub_encryption_key
(string, optional): Public encryption key.refcode
(string, optional): Referral code.
Response (201 Created):
Error Response:
Update Wallet
Path:
/v2/wallet
Method:
PUT
Access: Signature API
Description: Updates metadata for an existing wallet.
Form Data:
Any wallet metadata fields from
handler.WalletDetails
such as:name
,description
,pub_encryption_key
, etc.
Response:
Error Response:
Delete Wallet
Path:
/v2/wallet
Method:
DELETE
Access: Signature API
Description: Deletes a wallet for the authenticated user.
Query Parameters:
wallet_id
(string, required): ID of wallet to be deleted.
Response:
Set Active Wallet
Path:
/v2/wallet
Method:
PUT
Access: Signature API
Description: Sets the currently active wallet for an app type (e.g., Vult/Blimp). Also updates the user's profile and rewards signup tokens if first-time setup.
Form Data (multipart/form-data):
refcode
(string, optional): Referral code for reward.
Response:
Error Response:
Get Wallet Keys
Path:
/v2/wallet/keys
Method:
GET
Access: Signature API
Description: Retrieves public keys and metadata of the currently active wallet.
Response:
Check Wallet Exists
Path:
/v2/wallet/exist
Method:
GET
Access: CSRF API
Headers: Non-auth headers required
Description: Checks whether a wallet already exists for the user.
Response:
Get Wallet List
Path:
/v2/wallet/list
Method:
GET
Access: CSRF API
Headers: Non-auth headers required
Query Parameters (optional):
limit
(string)offset
(string)
Response:
Get Active Wallet
Path:
/v2/wallet/list
(Overloaded)Method:
GET
Access: CSRF API
Description: Fetches the currently active wallet for the logged-in user.
Response:
Update KMS Keys
Path:
/v2/wallet/kms
Method:
PUT
Access: Signature API
Description: Updates the KMS (Key Management Service) public key for encryption purposes.
Form Data (multipart/form-data):
Fields from
handler.WalletKMSDetails
, e.g.:kms_public_key
, etc.
Response:
Call Contact Wallets
Path:
/v2/contact/wallets
Method:
GET
Access: Signature API
Description: Retrieves wallets associated with user contacts.
Response:
Storage Allocation Management
These endpoints manage decentralized storage allocations and permissions.
Insert Allocation
Path:
/v2/allocation
Method:
POST
Access: Signature API
Description: Creates a new allocation for the authenticated user. Used to provision decentralized storage via blobbers.
Headers Required:
AuthHeader
Body:
Response:
Update Allocation
Path:
/v2/allocation
Method:
PUT
Access: Signature API
Description: Updates an existing allocation with new configuration such as size or blobber replacement.
Headers Required:
AuthHeader
Body:
Response:
Delete Allocation
Path:
/v2/allocation/:ID
Method:
DELETE
Access: Signature API
Description: Permanently deletes a specified allocation.
Path Param:
ID
(string)Headers Required:
AuthHeader
Response:
Get Allocation
Path:
/v2/allocation
Method:
GET
Access: Signature API
Description: Fetches details of an allocation by ID using body data.
Headers Required:
AuthHeader
Body:
Response:
Get Allocation List
Path:
/v2/allocation/list
Method:
GET
Access: Signature API
Description: Retrieves all allocations for the authenticated owner.
Headers Required:
AuthHeader
Response: Array of
AllocResponse
objects.
Check Allocation Name
Path:
/v2/allocation/exists/name
Method:
GET
Access: Signature API
Query Parameter:
allocation_name
(string, required)Headers Required:
AuthHeader
Response:
Check Allocation (by user + app)
Path:
/v2/allocation/exists
Method:
GET
Access: CSRF API
Headers Required:
NonAuthHeader
Response:
Public Smart Contract Allocation Info
GetSCAllocation
Path:
/v2/getAllocation
Method:
GET
Access: Public
Query Parameter:
allocation
(string, required)Description: Returns full SC data and blobber info.
Response (simplified):
GetSCAllocations
Path:
/v2/geAllocations
Method:
GET
Access: Public
Query Parameter:
client
(string, required)Description: Lists SC allocations for a specific client ID.
File Sharing
These endpoints supports secure data sharing using auth tickets, share links, and metadata across user wallets.
Insert Share Info
Path:
/v2/shareinfo
Method:
POST
Access: Signature API
Description: Creates a new share record using an auth_ticket, which encapsulates access rights.
Headers Required:
AuthHeader
Form Data (multipart/form-data):
auth_ticket
(string, required)message
(string, optional)share_info_type
(string, optional, e.g.public
orprivate
)link
(string, optional)
Response:
Get Shared Files (Sent)
Path:
/v2/shareinfo/shared
Method:
GET
Access: Signature API
Description: Retrieves files the user has shared with others.
Query Parameters:
limit
(optional)offset
(optional)lookup_hash
(optional)shareInfoType
(required: e.g.public
,private
)exclude_ai
(optional):"true"
to exclude AI-related shares
Response:
Get Shared Files (Received)
Path:
/v2/shareinfo/received
Method:
GET
Access: Signature API
Description: Retrieves files that others have shared with the user.
Query Parameters:
limit
,offset
,lookup_hash
(optional)shareInfoType
(required)
Response:
Delete Share Info
Path:
/v2/shareinfo
Method:
DELETE
Access: Signature API
Query Parameters (at least one required):
auth_ticket
(string)lookup_hash
(string)
Response (Success):
If nothing was deleted:
Share Requests
These endpoints handles inbound and outbound requests for accessing shared files or permissions.
Create Share Request
Path:
/v2/sharereq
Method:
POST
Access: Signature API
Description: Used to request access to someone else's file. Allows one-time re-request if previously declined.
Body:
Response:
Get Received Share Requests
Path:
/v2/sharereq/received
Method:
GET
Access: Signature API
Description: Lists all incoming share requests for the user.
Query Parameters (optional):
client_id
,lookup_hash
,status
,all
,offset
,limit
Response:
Get Sent Share Requests
Path:
/v2/sharereq/requested
Method:
GET
Access: Signature API
Description: Lists all share requests sent by the user.
Query Parameters (optional):
owner_id
,lookup_hash
,status
,all
,offset
,limit
Response:{
Update Share Request
Path:
/v2/sharereq
Method:
PUT
Access: Signature API
Description: Updates a share request (usually to approve it). Also writes to
ShareInfo
table using theauth_ticket
.Body:
Response:
Delete Share Request
Path:
/v2/sharereq
Method:
DELETE
Access: Signature API
Query Parameters:
id
(string, required)
Response:
Wallet Funding Tasks (ZBOX)
These endpoints allow users to receive initial funding (one-time) to perform actions like creating allocations.
Create Funding Task Wallet
Path:
/zbox/fund/wallet
Method:
POST
Access: Signature API
Description: Creates a new funding task for a wallet. This enables one-time token funding per owner/app type for bootstrapping usage.
Headers Required:
X-App-Client-ID
,X-App-Client-Key
,X-App-Timestamp
,X-App-ID-TOKEN
,X-App-Phone-Number
,X-CSRF-TOKEN
,X-APP-TYPE
Body:
Response (201 Created):
Get Funding Task
Path:
/v2/zbox/fund/:ID
Method:
GET
Access: Signature API
Description: Retrieves a specific funding task using its ID.
Path Param:
ID
(integer)Response:
Get Wallet Spending Status
Path:
/v2/zbox/fund/spent/status
Method:
GET
Access: Signature API
Description: Returns wallet’s current spending usage stats (daily/weekly) to prevent abuse.
Response:
Delete Funding Task
Path:
/v2/zbox/fund/:ID
Method:
DELETE
Access: Signature API
Description: Deletes a previously created funding task.
Path Param:
ID
(integer)Response (Success):
If nothing was deleted:
Blimp – S3 Server Deployment
These endpoints deploys S3-compatible MinIO servers on Züs, enabling seamless object storage for user allocations.
Deploy S3 Server
Path:
/v2/blimp/deploy
Method:
POST
Access: Signature API
Description: Deploys an S3-compatible MinIO server for the authenticated user and returns the generated domain for access.
Body:
handler.S3ServerDetails
(must include allocation ID, wallet ID, and configuration)Response (201 Created):
Get All Blimp Deployments
Path:
/v2/blimp/deploy
Method:
GET
Access: Signature API
Description: Retrieves a list of all S3 server deployments for the authenticated user.
Query Parameters (optional):
limit
,offset
Response: Array of
handler.S3ServerDetailsResponse
objects.
Get Blimp Status by Deployment ID
Path:
/v2/blimp/deploy/:ID
Method:
GET
Access: Signature API
Description: Retrieves updated deployment status by ID.
Path Param:
ID
(integer)Response: Same as deploy response with updated
s3_server_deployed
flag and fields.
Get Blimp Status by Allocation ID
Path:
/v2/blimp/deploy/allocation/:allocation_id
Method:
GET
Access: Signature API
Description: Fetches the S3 deployment tied to a specific allocation.
Path Param:
allocation_id
(string)Response: Same as above.
Delete Blimp Deployment
Path:
/v2/blimp/deploy/:ID
Method:
DELETE
Access: Signature API
Description: Deletes a specific Blimp deployment by ID.
Path Param:
ID
(integer)Response:
Migration Deployments (S3 Migration)
Migrates data from existing S3 sources into Züs allocations using dedicated migration microservices.
Deploy S3 Migration Application
Path:
/v2/migration/deploy
Method:
POST
Access: Signature API
Description: Deploys an S3 migration server for a specified allocation. This tool is used to migrate data from external S3-compatible sources into a Züs allocation.
Body:
handler.S3MigrationDetails
(must include wallet ID, IP, allocation ID, etc.)Response (201 Created):
Get All Migration Deployments
Path:
/v2/migration/deploy
Method:
GET
Access: Signature API
Description: Retrieves a list of all S3 migration deployments created by the authenticated user.
Query Parameters (optional):
limit
,offset
Response: Array of
handler.S3MigrationDetailsResponse
objects.
Get Migration Deployment by ID
Path:
/v2/migration/deploy/:ID
Method:
GET
Access: Signature API
Description: Fetches detailed status of a migration deployment using its numeric ID.
Path Param:
ID
(integer)Response: A single
handler.S3MigrationDetailsResponse
object, updated with live status fields.
Get Migration Deployment by Allocation ID
Path:
/v2/migration/deploy/allocation/:allocation_id
Method:
GET
Access: Signature API
Description: Retrieves a migration deployment by its linked allocation ID.
Path Param:
allocation_id
(string)Response:
handler.S3MigrationDetailsResponse
Delete Migration Deployment
Path:
/v2/migration/deploy/:ID
Method:
DELETE
Access: Signature API
Description: Deletes a specific S3 migration deployment task by its ID.
Path Param:
ID
(integer)Response:
DEX State APIs
These endpoints manage a user’s participation or workflow stage within a DEX (Decentralized Exchange) lifecycle.
Create DEX State
Path:
/v2/dex/state
Method:
POST
Access: Signature API
Description: Initializes a DEX state record for the authenticated user, typically when beginning a DEX-related process or session.
Body: Follows
handler.DexState
structure.
Response (200 OK):
Update DEX State
Path:
/v2/dex/state
Method:
PUT
Access: Signature API
Description: Updates the current stage or status of the DEX state. Typically used when moving from one process step to another.
Body:
handler.DexState
Response:
If no update occurred:
Get DEX State
Path:
/v2/dex/state
Method:
GET
Access: Signature API
Description: Retrieves the current DEX state for the authenticated wallet.
Response:
Delete DEX State
Path:
/v2/dex/state
Method:
DELETE
Access: Signature API
Description: Deletes the DEX state for the authenticated user. This is typically used to reset or clear participation records.
Response (Success):
If nothing was deleted:
User Notifications
These APIs allow users to retrieve and manage system notifications, such as share requests, updates, or alerts. Notifications are typically pushed over WebSocket but can be fetched via API for redundancy or polling.
Fetch Unread Notifications
Path:
/v2/user/notifications
Method:
GET
Access: Signature API
Description: Retrieves all unread notifications for the authenticated user.
Response (200 OK):
Delete Notifications (Mark as Read)
Path:
/v2/user/notifications
Method:
DELETE
Access: Signature API
Description: Deletes all unread notifications (i.e., marks them as read) for the current user.
Response (200 OK):
Last updated