API Reference
Overview
JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs.
JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. Primarily this specification defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in many various message passing environments. It uses JSON (RFC 4627) as data format.
Djib API is mainly implemented as JSON RPC 2.0 with two exceptions:
The health check endpoint that provides a health-check mechanism for load balancers or other network infrastructure use.
Regular HTTP post to ensure large file support and multiple files supporting the upload and download endpoint.
Endpoints
Mainnet
https://public.djib.io
https://mainrpc.djib.io
Testnet
https://public.djib.io
https://testrpc.djib.io
Devnet
https://public.djib.io
https://devrpc.djib.io
Error Codes
JSON-RPC standard error code
Standard error codes and their corresponding meanings are as follows:
-32600
Invalid Request
The JSON sent is not a valid Request object.
-32601
Method Not Found
The method does not exist / is not available.
-32602
Invalid Params
Invalid method parameter(s).
-32603
Internal Error
Internal JSON-RPC error.
-32700
Parse Error
Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.
Djib RPC Error Code
-32001
Invalid Form Params
Invalid form params on non-rpc method
-32002
Invalid Public Key
Invalid Public Key
-32003
Invalid Size Unit
Supported units are: KB for kilobytes, MB for megabytes, GB for gigabytes, and TB for terabytes.
-32004
Authorization Error
Identity is not correct.
-32005
Invalid Size Number
Size must be a float number, greater than zero.
-32006
Record Not Found
Requested record does not exist.
-32007
Duplicated Record
Requested record is duplicated.
-32008
Cloud Storage Not Found
User has no cloud storage.
-32009
No Enough Storage
User has no enough cloud storage.
-32010
Parent Not Found
Requested parent does not exist.
-32011
File Not Found
Requested file does not exist.
-32012
Incorrect Email Address
Submitted email is incorrect.
-32013
Duplicated Email Address
Submitted email is duplicated.
-32014
Large Avatar File
Avatar file is large. Maximum acceptable size is 1 MB.
-32015
Not Confirmed Profile
User profile confirmation is not completed.
-32016
File Invalid Access
User has no access to target file or password is incorrect.
-32017
File Shared Previously
Cannot share file, because file shared before.
-32018
Invalid NFT MetaData
Invalid Metadata for NFT.
-32019
Unexpected Error NFT Creation
Unexpected Error on creation NFT.
-32020
NFT Payment Not Finalized
Payment is not finalized to create NFT.
-32021
Shared Not Found
No shared object exist with given access token.
-32022
Invalid Share Credentials
Given credentials are invalid to access object.
-32023
No Sharing Credentials
Given access link required credentials.
-32024
Insufficient Funds
You should top up your credits.
-32025
Insufficient SOL
Insufficient SOL for network fee payer.
-32026
Insufficient DJIB
Insufficient DJIB for paying.
-32027
Solana Error
Solana is busy now! Please try later! You can check Solana status on https://status.solana.com
-32028
Transaction Failed
Transaction failed on Solana. Signature:
-32029
NFT Not Found
NFT not found.
-32030
Invalid Avatar Format
Avatar format is a html base64 encoded image: 'data:<ImageContentType>;base64,<Data>'
Non-RPC API
Health Check
GET
https://{api_url}/health
Provides a health-check mechanism for load balancers or other network infrastructure use. It always returns HTTP 200 OK response with a body of "ok", "degraded", or "unknown".
{
"status": "ok"
}
Upload file(s)
POST
https://{api_url}/upload
This method enables users to upload their files on the IPFS network and their drive.
Path Parameters
files[]*
file
list of files to be uploaded on Djib network
type*
String
public
for public upload of files on Djib IPFS network,
private
for uploading to user's drive
publicKey*
String
the public address of the wallet owner of files
token
String
the access token that you have received from auth method; this method is required for the private mode
path
String
destination folder of file on your drive required only for private mode
Headers
Content-Type*
String
multipart/form-data
{
"result": [
"{network_url}/<file hash>"
...
]
}
Download file
GET
https://{api_url}/download
This method enables users to download their file on their drive.
Path Parameters
token*
String
the access token that you have received from auth method
path*
String
requested file destination on user drive
Headers
Content-Type*
String
multipart/form-data
raw binary file
Download shared file
GET
https://{api_url}/download-shared
This method enables users to download their shared file on their drive.
Path Parameters
token
String
the access token that you have received from auth method
path
String
requested file destination on user drive
Headers
Content-Type
String
multipart/form-data
Confirm email
GET
https://{api_url}/email-confirm/:token
This method confirm user email
Path Parameters
token*
String
Token
RPC Methods
handshake
Creates a message for signing private drive session authorization
Parameters
<string>
- A PublickKey of account as base-58 encoded string
Results
<string>
- An string message for signing on client wallet
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "handshake",
"params": [
"<PublicKey>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "Sign this message for authenticating with your wallet. Nonce: <NonceCode>",
"id": 0
}
auth
Returns an access token for authorizing a private drive session
Parameters
<string>
- A PublicKey of account as base-58 encoded string<string>
- A signed message signature as base-58 encoded string
Results
<string>
- An access token as base-58 encoded string
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "auth",
"params": [
"<PublicKey>",
"<Token>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "<Token>",
"id": 0
}
estimate
Estimates file storage price based on Djib Token for use on private drive storage or public drive uploading
Parameters
<string>
- Token<number>
- Requested size<string>
- Unit of size ["KB
", "MB
", "GB
", "TB
"]
Results
<float>
- Estimated price based on Djib Token
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "estimate",
"params": [
"<Token>",
99614720,
"KB"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": 94.633984,
"id": 0
}
createPayment
Creates Solana Pay standard URL for paying Djib Token used on buying storage.
Parameters
<string>
- An access token as base-58 encoded string<number>
- Requested size<string>
- Unit of size ["KB
", "GB
", "TB
"]
Results
<object>
- A JSON object containing:payment_url: <number>
- Solana Pay standard URLtracking_code: <string>
- A code to track transaction status
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "createPayment",
"params": [
"<Token>"
1048576,
"KB"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"payment_url": "solana:<PublicKey:str>?amount=<Number:unsigned float>&spl-token=<PublicKey:str>&memo=djib&message=Thanks%21&label=DjibChain&reference=<TrackingCode:str>",
"tracking_code": "<TrackingCode:str>"
},
"id": 0
}
confirmPayment
Confirms the storage payment and returns the final status of payment.
Parameters
<string>
- An access token as base-58 encoded string<string>
- A code to track transaction status
Results
<object>
- A JSON object containing:finalized: <string>
- Status of finalizationsignature: <string>
- Signature of transaction
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "confirmPayment",
"params": [
"<Token:str>",
"<TrackingCode:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"finalized": true,
"signature": "<Signature:str>"
},
"id": 0
}
buyStorage
Buy drive storage on Djib private network. You can use a payment tracking code or credit balance.
Parameters
<string>
- An access token as base-58 encoded string<object>
- A JSON object containing:tracking_code: <string>
- TrackingCode of paymentsize: <string>
- Requested sizeunit: <string>
- Unit of size ["KB
", "MB
", "GB
", "TB
"]ref_code: <string>
- PublicKey of invitation
Results
<object>
- A JSON object containing:<string>
- A status message ["success
" or "failed
"]
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "buyStorage",
"params": [
"<Token:str>",
{
"tracking_code": "<TrackingCode:str>",
"size": 1,
"unit": "<Text:str[KB,MB,GB,TB]>",
"ref_code": "<Token:str>"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
status
Returns status of drive.
Parameters
<string>
- An access token as base-58 encoded string
Results
<object>
- A JSON object containing:cloud: <object>
- A JSON object containingused_size_kb: <float>
- Used size of drive storage in KBtotal_size_kb: <float>
- Total size of drive storage in KBcreated_at: <date>
- Date of drive creationupdated_at: <date>
- Date of last modification on drive
prizes: <array>
- Set of prizescredit: <float>
- Credit balance
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "status",
"params": [
"<Token>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"cloud": {
"used_size_kb": 0,
"total_size_kb": 0,
"created_at": "None",
"updated_at": "None"
},
"prizes": [],
"credit": 0.0
},
"id": 0
}
claimPrize
Claims prizes for participatory activities
Parameters
<string>
- An access token as base-58 encoded string
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "claimPrize",
"params": [
"<Token>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
createFolder
Creates new folder on drive.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to folder<string>
- Folder name
Results
<string>
- Created folder path
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "createFolder",
"params": [
"<Token:str>",
"/",
"<Text:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "<Text of path>",
"id": 0
}
lsDrive
Returns list of stored objects on drive.
Parameters
<string>
- An access token as base-58 encoded string<string>
- A Path of stored objects on drive
Results
<array>
- An array of JSON objects containing:file_name: <string>
- Path of stored object on driveextension: <string>
- Extension of stored object on drivesize_byte: <float>
- Size of stored object on drive in bytesis_folder: <bool>
- Is stored object is folder or notis_favourite: <bool>
- Is stored object selected as favourite or notpath: <string>
- A path to listed objectparent: <string>
- A path to parent of listed objectcontent_type: <string>
- The content_type header of selcted filepublic_link: <string>
- Link of file on IPFS public network if file has been shared publiclycreated_at: <date>
- Date of object creationupdated_at: <date>
- Date of last modification on object
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsDrive",
"params": [
"<Token:str>",
"/"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"extension": "svg",
"size_byte": 1,
"is_folder": false,
"is_favorite": false,
"path": "/djib.svg",
"parent": "/",
"content_type": "image/svg+xml",
"public_link": null,
"created_at": "2022-05-19 09:58:48.836000",
"updated_at": "2022-05-19 09:58:48.836000"
}
],
"id": 0
}
destroyDrive
Destroys user drive and all contents except publicly shared files.
Parameters
<string>
- An access token as base-58 encoded string
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "destroyDrive",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"result": "Coming Soon!",
"id": 0,
"jsonrpc": "2.0"
}
shareFromDrive
Shares private objects on Djib public network.
Parameters
<string>
- An access token as base-58 encoded string<string>
- A path to file
Results
<string>
- shared objects public URL
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "shareFromDrive",
"params": [
"<Token:str>",
"/Object Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "https://devnet.djib.io/<Cid:str>",
"id": 0
}
search
Searches objects on drive.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Keyword<object>
- A JSON object containing:extension: <string>
- Extension of target objectpath: <string>
- Path to target object
<string>
- Name of object
Results
<array>
- An array of JSON objects containing:file_name: <string>
- Path of stored object on driveextension: <string>
- Extension of stored object on drivesize_byte: <float>
- Size of stored object on drive in bytesis_folder: <bool>
- Is stored object is folder or notpath: <string>
- A path to listed objectparent: <string>
- A path to parent of listed objectpublic_link: <string>
- Link of file on IPFS public network if file has been shared publiclycreated_at: <date>
- Date of object creationupdated_at: <date>
- Date of last modification on object
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "search",
"params": [
"<Token:str>",
"<Text:str>",
{
"extension": "png",
"path": "/"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"extension": "svg",
"size_byte": 1,
"is_folder": false,
"is_favorite": false,
"path": "/djib.svg",
"parent": "/",
"content_type": "image/svg+xml",
"public_link": null,
"created_at": "2022-05-19 09:58:48.836000",
"updated_at": "2022-05-19 09:58:48.836000"
}
],
"id": 0
}
recentFiles
Returns list of recently interacted files on private drive.
Parameters
<string>
- An access token as base-58 encoded string<int>
- Number of recent files
Results
<array>
- An array of JSON objects containing:file_name: <string>
- Path of stored object on driveextension: <string>
- Extension of stored object on drivesize_byte: <float>
- Size of stored object on drive in bytesis_folder: <bool>
- Is stored object is folder or notpath: <string>
- A path to listed objectparent: <string>
- A path to parent of listed objectpublic_link: <string>
- Link of file on IPFS public network if file has been shared publiclycreated_at: <date>
- Date of object creationupdated_at: <date>
- Date of last modification on object
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "recentFiles",
"params": [
"<Token:str>",
10
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"extension": "svg",
"size_byte": 1,
"is_folder": false,
"is_favorite": false,
"path": "/djib.svg",
"parent": "/",
"content_type": "image/svg+xml",
"public_link": null,
"created_at": "2022-05-19 09:58:48.836000",
"updated_at": "2022-05-19 09:58:48.836000"
}
],
"id": 0
}
moveTrash
Moves objects into trash.
Parameters
<string>
- An access token as base-58 encoded string<array>
- An array containing objects paths
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "moveTrash",
"params": [
"<Token:str>",
[
"/Object Path"
]
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
lsTrash
Returns list of moved objects on trash.
Parameters
<string>
- An access token as base-58 encoded string
Results
<array>
- An array of JSON objects containing:file_name: <string>
- Path of stored object on driveextension: <string>
- Extension of stored object on drivesize_byte: <float>
- Size of stored object on drive in bytesis_folder: <bool>
- Is stored object is folder or notis_favourite: <bool>
- Is stored object selected as favourite or notpath: <string>
- A path to listed objectparent: <string>
- A path to parent of listed objectcontent_type: <string>
- The content_type header of selcted filepublic_link: <string>
- Link of file on IPFS public network if file has been shared publiclycreated_at: <date>
- Date of object creationupdated_at: <date>
- Date of last modification on objectdeleted_at: <date>
- Date of moving to trash
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsTrash",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"extension": "svg",
"size_byte": 1,
"is_folder": false,
"is_favorite": false,
"path": "/djib.svg",
"parent": "/",
"content_type": "image/svg+xml",
"public_link": null,
"created_at": "2022-05-19 09:58:48.836000",
"updated_at": "2022-05-19 09:58:48.836000",
"deleted_at": "2022-05-19 09:58:48.836000"
}
],
"id": 0
}
restoreFromTrash
Restores object from trash.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Object path on trash<string>
- Delete date of object
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "restoreFromTrash",
"params": [
"<Token:str>",
"/Object Path",
"<ISODateTime:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
setFavorite
Marks object as favorite.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Object path on drive
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "setFavorite",
"params": [
"<Token:str>",
"/Object Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
lsFavorite
Returns list of marked objects as favorite on drive.
Parameters
<string>
- An access token as base-58 encoded string
Results
<array>
- An array of JSON objects containing:file_name: <string>
- Path of stored object on driveextension: <string>
- Extension of stored object on drivesize_byte: <float>
- Size of stored object on drive in bytesis_folder: <bool>
- Is stored object is folder or notis_favourite: <bool>
- Is stored object selected as favourite or notpath: <string>
- A path to listed objectparent: <string>
- A path to parent of listed objectcontent_type: <string>
- The content_type header of selcted filepublic_link: <string>
- Link of file on IPFS public network if file has been shared publiclycreated_at: <date>
- Date of object creationupdated_at: <date>
- Date of last modification on object
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsFavorite",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"extension": "svg",
"size_byte": 1,
"is_folder": false,
"is_favorite": false,
"path": "/djib.svg",
"parent": "/",
"content_type": "image/svg+xml",
"public_link": null,
"created_at": "2022-05-19 09:58:48.836000",
"updated_at": "2022-05-19 09:58:48.836000"
}
],
"id": 0
}
unsetFavorite
Unsets the object mark from favorite.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "unsetFavorite",
"params": [
"<Token:str>",
"/Object Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
rename
Renames an object on private drive.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<string>
- New name for specified object
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "rename",
"params": [
"<Token:str>",
"/Object Path",
"<Text:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
move
Moves an object to another directory.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<string>
- New directory to move in
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "move",
"params": [
"<Token:str>",
"/Old Path",
"/New Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
copy
Copies an object to another directory.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<string>
- New directory to copy in
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "copy",
"params": [
"<Token:str>",
"/Object Path",
"/Dest Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
duplicate
Duplicates an object .
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "duplicate",
"params": [
"<Token:str>",
"/Object Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
lsPublic
Returns list of publicly shared files.
Parameters
<string>
- An access token as base-58 encoded string<bool>
- Flag to set only public files
Results
<array>
- An array of JSON objects containing:cid: <string>
- Cid of shared filelink: <string>
- Link to object on public networkfile_name: <string>
- Name of filesize_byte <float>
- Size of stored object on drive in bytescontent_type: <string>
- The content_type header of selcted filedrive_path: <string>
- Path to object on private drivecreated_at: <date>
- Date of object creation
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsPublic",
"params": [
"<Token:str>",
false
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"cid": "<Cid:str>",
"link": "https://devnet.djib.io/<Cid:str>",
"file_name": "djib.svg",
"size_byte": 2431,
"content_type": "image/svg+xml",
"drive_path": "/djib.svg",
"created_at": "2022-05-19 21:14:42.097000"
}
],
"id": 0
}
savePublic
Saves list of public files on private drive.
Parameters
<string>
- An access token as base-58 encoded string<array>
- An array of publicly shared objects<string>
- Path on private drive to save public files
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "savePublic",
"params": [
"<Token:str>",
[
"<Cid:str>"
],
"/Drive Path"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
lsFileShares
List all sharing records of a file.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsFileShares",
"params": [
"<Token:str>",
"/djib"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"shares": [
{
"link": "<Link:str>",
"has_pass": true,
"is_public": false,
"share_email": "[email protected]",
"created_at": "2022-06-05 02:33:53.837000"
}
],
"has_pass": false
},
"id": 0
}
lsShareWithMe
List of all objects that shared with user.
Parameters
<string>
- An access token as base-58 encoded string<object>
- A JSON objects containing:path: <string>
- Path to object on private driveowner: <string>
- Email address of file ownerpassword: <string>
- Password of file if the file locked
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsShareWithMe",
"params": [
"<Token:str>",
{
"path": "/Shared/Object Path",
"owner": "[email protected]",
"password": "123456"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"size_byte": 44665,
"extension": "svg",
"content_type": "image/xml+svg",
"is_folder": false,
"created_at": "2022-05-27 08:26:19.358000",
"updated_at": "2022-05-27 08:26:19.358000",
"path": "/Shared/djib.svg",
"shared_at": "2022-05-27 08:51:01.569000"
}
],
"id": 0
}
lsShareByMe
List of all objects that shared by user.
Parameters
<string>
- An access token as base-58 encoded string
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsShareByMe",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"file_name": "djib",
"extension": null,
"size_byte": 0,
"is_folder": true,
"is_favorite": false,
"path": "/djib",
"parent": "/",
"content_type": null,
"public_link": null,
"created_at": "2022-06-10 00:02:06.987000",
"updated_at": "2022-06-10 00:02:06.987000"
}
],
"id": 0
}
shareObject
Share an object.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<object>
- A JSON objects containing:path: <string>
- Path to object on private driveowner: <string>
- Email address of file ownerpassword: <string>
- Password of file if the file locked
Results
<string>
- Sharing code/link of object
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "shareObject",
"params": [
"<Token:str>",
"/djib.svg",
{
"password": "a",
"email": "[email protected]"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "<Link:str>",
"id": 0
}
revokeShares
Delete sharing records of an object.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<array>
- An array of sharing codes/links
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "revokeShares",
"params": [
"<Token:str>",
"/File Path",
[
"<Link:str>"
]
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
getSharedByLink
Get shared record by link/code.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<object>
- A JSON objects containing:path: <string>
- Path to object on private driveowner: <string>
- Email address of file ownerpassword: <string>
- Password of file if the file locked
Results
<string>
- A sharing path for exploring by lsShareWithMe
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "getSharedByLink",
"params": [
"<Token:str>",
"<Link:str>",
{
"password": "123456"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "/Shared/djib",
"id": 0
}
rmSharedWithMe
Remove sharing record.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<string>
- Owner email address
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "rmSharedWithMe",
"params": [
"<Token:str>",
"/djib",
"[email protected]"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
deleteTrash
Delete an object from trash permanently.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path to object on private drive<string>
- Object deleted at date
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "deleteTrash",
"params": [
"<Token:str>",
"/Object Path",
"<DeletedAt:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
emptyTrash
Erase all trash objects permanently.
Parameters
<string>
- An access token as base-58 encoded string
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "moveTrash",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
getProfile
Get user profile information.
Parameters
<string>
- An access token as base-58 encoded string
Results
<object>
- A JSON objects containing:email: <string>
- User email addressname: <string>
- User full nameavatar: <string>
- Base64 encoded avatar fileref_code: <string>
- User referral codeconfirmation: <string>
- User email confirmation token
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "getProfile",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"email": "<EmailAddress:str>",
"name": "<Text:str>",
"avatar": "data:<ImageContentType:str>;base64,<Base64Encoded:str>",
"confirmation": "<Token:str>",
"ref_code": "<Token:str>",
"invited_by": "<PublicKey:str>"
},
"id": 0
}
setProfile
Set profile information.
Parameters
<string>
- An access token as base-58 encoded string<object>
- A JSON objects containing:email: <string>
- User email addressname: <string>
- User full nameavatar: <string>
- Base64 encoded avatar file
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "setProfile",
"params": [
"<Token:str>",
{
"email": "<EmailAddress:str>",
"name": "<Text:str>",
"avatar": "data:<ImageContentType:str>;base64,<Base64Encoded:str>"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
resendVerificationEmail
Resend verification email for confirming.
Parameters
<string>
- An access token as base-58 encoded string
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "resendVerificationEmail",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "success",
"id": 0
}
createTopUpPayment
Creates Solana Pay standard URL for increasing credits balance on Djib Token.
Parameters
<string>
- An access token as base-58 encoded string<number>
- Requested size
Results
<object>
- A JSON object containing:payment_url: <number>
- Solana Pay standard URLtracking_code: <string>
- A code to track transaction status
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "createTopUpPayment",
"params": [
"<Token:str>",
"<Number:unsigned float>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"payment_url": "solana:<PublicKey:str>?amount=<Number:unsigned float>&spl-token=<PublicKey:str>&memo=djib&message=Thanks%21&label=DjibChain&reference=<TrackingCode:str>",
"tracking_code": "<TrackingCode:str>"
},
"id": 0
}
confirmTopUpPayment
Confirms the storage payment and returns the final status of payment.
Parameters
<string>
- An access token as base-58 encoded string<string>
- A code to track transaction status
Results
<object>
- A JSON object containing:finalized: <string>
- Status of finalizationsignature: <string>
- Signature of transaction
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "confirmTopUpPayment",
"params": [
"<Token:str>",
"<TrackingCode:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"finalized": true,
"signature": "<Signature:str>"
},
"id": 0
}
lsPayments
Returns list of payment records
Parameters
<string>
- An access token as base-58 encoded string<number>
- Margin<number>
- Count
Results
<object>
- A JSON object containing:payments: <array>
- A JSON object containing:method: <string>
- Payment method ['PAYMENT
', 'TOPUP
']price: <float>
- Payed priceamount: <float>
- Requested sizeunit: <string>
- Unit of request ['KB
', 'MB
', 'GB
', 'TB
', 'NFT
']status: <string>
- Status of payment ['pending
', 'success
', 'failed
']signature: <string>
- Signature of the transactionmessage: <string>
- Message of statuspayed_at: <string>
- ISO date timecreated_at: <string>
- ISO date timeupdated_at: <string>
- ISO date time
options: <object>
- A JSON object containing:total: <number>
- Total number of all recordscount: <number>
- Countmargin: <number>
- Margin
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsPayments",
"params": [
"<Token:str>",
0,
10
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"payments": [
{
"method": "PAYMENT",
"price": 1.0,
"amount": 1,
"unit": "GB",
"status": "sold",
"signature": "<Signature:str>",
"message": "<Text:str>",
"payed_at": "<ISODateTime:str>",
"created_at": "<ISODateTime:str>",
"updated_at": "<ISODateTime:str>"
}
],
"options": {
"total": 1,
"count": 10
}
},
"id": 0
}
lsDailyBalance
Returns balance changes.
Parameters
<string>
- An access token as base-58 encoded string<number>
- Days ago
Results
<object>
- A JSON object containing:time: <string>
- YYYY-MM-DDbalance: <float>
- Balance
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsDailyBalance",
"params": [
"<Token:str>",
7
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"time": "2022-06-23",
"balance": 0
},
{
"time": "2022-06-24",
"balance": 0
},
{
"time": "2022-06-25",
"balance": 0
},
{
"time": "2022-06-26",
"balance": 0
},
{
"time": "2022-06-27",
"balance": 0
},
{
"time": "2022-06-28",
"balance": 0
},
{
"time": "2022-06-29",
"balance": 0
},
{
"time": "2022-06-30",
"balance": 0
}
],
"id": 0
}
createNftPayment
Creates Solana Pay standard URL for paying Djib Token used saving a file as an NFT
Parameters
<string>
- An access token as base-58 encoded string<number>
- Count of requested NFT
Results
<string>
- A success message
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "createNftPayment",
"params": [
"<Token:str>",
"<Number:unsigned float>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"payment_url": "solana:<PublicKey:str>?amount=<Number:unsigned float>&spl-token=<PublicKey:str>&memo=djib&message=Thanks%21&label=DjibChain&reference=<TrackingCode:str>",
"tracking_code": "<TrackingCode:str>"
},
"id": 0
}
saveAsNft
Saves a file as an NFT.
Parameters
<string>
- An access token as base-58 encoded string<string>
- Path of the object<object>
- A JSON object containing:thumbnail: <string>
- An IPFS cid of the thumbnailname: <string>
- Name of NFTsymbol: <string>
- Symbol of NFTdescription: <string>
- Description of NFTseller_fee_basis_points: <number>
- Seller fee in percentageexternal_url: <string>
- An external URLattributes: <array>
- Array of JSON object containing:trait_type: <string>
- Attribute namevalue: <string>
- Value of attribute
collection: <string>
- Collection namefamily: <string>
- Family name
Results
<object>
- A JSON object containing:cid: <string>
- An IPFS cid of the thumbnailcreated_at: <string>
- ISO date time of NFT creation time
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "saveAsNft",
"params": [
"<Token:str>",
"/djib.svg",
{
"thumbnail": null,
"name": "test",
"symbol": "TEST",
"description": "Desc for test",
"seller_fee_basis_points": 0,
"external_url": "https://app.djib.io",
"attributes" : [ { "trait_type" : "Power" , "value" : "Rare" } ],
"collection": "Test1",
"family": "Test11"
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"cid": "<Token:str>",
"created_at": "<ISODateTime:str>"
},
"id": 0
}
uploadAsset
Uploads NFT asset after saving NFT
Parameters
<string>
- An access token as base-58 encoded string<string>
- An IPFS cid of NFT file<string>
- ISO date time of NFT creation time<string>
- Tracking code of payment (Optional)
Results
<string>
- An IPFS cid of NFT file
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "uploadAsset",
"params": [
"<Token:str>",
"<Cid:str>",
"<ISODateTime:str>",
"<TrackingCode:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": "<Cid:str>",
"id": 0
}
lsNfts
Returns list of all NFTs
Parameters
<string>
- An access token as base-58 encoded string<object>
- A JSON object containing:family: <string>
- Name of special familycount: <number>
- Countmargin: <string>
- Margin
Results
<object>
- A JSON object containing:nfts: <object>
- A JSON object containingtoken: <string>
- Token address of NFTsignature: <string>
- Signature of NFT creationmetadata: <object>
- The NFT metadata saved on blockchainmessage: <string>
- Message of NFT creation processcreated_at: <date>
- Date of drive creationupdated_at: <date>
- Date of last modification on drive
options: <object>
- A JSON object containing:family: <string>
- Family name of filtertotal: <number>
- Total number of all recordscount: <number>
- Countmargin: <number>
- Margin
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsNfts",
"params": [
"<Token:str>",
{
"family": "Test1",
"count": 10,
"skip": 0
}
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": {
"nfts": [
{
"token": "<NFTPublicKey:str>",
"signature": "<Signature:str>",
"metadata": {
"name": "test",
"symbol": "TEST",
"description": "Desc for test",
"image": "https://public.djib.io/<Cid:str>",
"external_url": "https://app.djib.io",
"properties": {
"creators": [
{
"address": "<PublicKey:str>",
"share": 100
},
{
"address": "DjibYsyKG5sD32Zp1rZHzJyM91ppkAmQ4irDdenUouP7",
"share": 0
}
],
"files": [
{
"uri": "https://public.djib.io/<Cid:str>",
"type": "application/octet-stream"
},
{
"uri": "https://public.djib.io/<Cid:str>",
"type": "image/base64"
}
]
},
"collection": {
"name": "Test11",
"family": "Test1"
},
"seller_fee_basis_points": 0,
"attributes": [
{
"trait_type": "Power",
"value": "Rare"
}
]
},
"status": "success",
"message": "Success!",
"created_at": "2022-06-05 07:34:09.702000",
"updated_at": "2022-06-05 07:34:09.702000"
}
],
"options": {
"family": "Test1",
"total": 1,
"skip": 0,
"count": 10
}
},
"id": 0
}
lsNftFamilies
Returns status of drive.
Parameters
<string>
- An access token as base-58 encoded string
Results
<array>
- cfamily: <string>
- Family namecollections: <array>
- An array of string
Example
Request:
curl {api_url} -X POST -H "Content-Type: application/json" -d '
{
"method": "lsNftFamilies",
"params": [
"<Token:str>"
],
"jsonrpc": "2.0",
"id": 0
}
'
Result:
{
"jsonrpc": "2.0",
"result": [
{
"collections": [
"collection name",
"collection name1"
],
"family": "family name"
}
],
"id": 0
}
Last updated
Was this helpful?