BWS API Docs
Ask or search…
K
Comment on page

BWS.IPFS.Upload

Easily upload Images and JSON to IPFS!
The BWS.IPFS.Upload service provides a straightforward and efficient method for users to upload images and JSON files to the InterPlanetary File System (IPFS).
You can now use ipfs.bws.ninja as the gateway to use for the files you uploaded to IPFS using BWS.
For example, check our lovely unicorn on IPFS using BWS Gateway: https://ipfs.bws.ninja/ipfs/QmU7avmnTb4iVbNGCHMJmdEbsx9nRtUx7dWGpKeE7zjo8T
post
https://api.bws.ninja/v1
/call
Uploads a file or JSON to IPFS.
Parameter
Type
Desciption
description
string
Short description of your content (will be returned when listing your IPFS files).
content
JSON / base64
Content to save on the IPFS network. We currently support:
  • JSON (just pass the JSON or the stringified string)
  • File sent as a base64 encoded string
BWS IPFS service is expected to be used for web browsing content.
  • You must optimize your content to be less than 1 MB in size.
  • There is a hard limit of 5MB when uploading files to IPFS using our API.
  • We currently support JSON, images, and PDF files.
If your use case requires higher file sizes or other file types, please contact us.
When the API call is successfully executed, it returns the IPFS Content Identifier (CID) along with the corresponding IPFS URI and URL. These details facilitate easy access and reference to the uploaded content on the IPFS network.
{
"statusCode": 200,
"info": {
"cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"uris": {
"ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"url": "https://ipfs.bws.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
}
}
}

Upload to IPFS Examples

The following examples show how to upload a file or JSON to the InterPlanetary File System (IPFS) using the BWS.IPFS.Upload API.
Upload an Image using nodejs
Upload JSON using cURL
const fs = require('fs');
const axios = require('axios');
/* get the file you want to upload to IPFS */
const fileData = fs.readFileSync('./files/image.png');
/* encode file content to base64 */
const encodedData = fileData.toString('base64');
/* build request to use BWS IPFS solution */
const request = {
"solution": "BWS.IPFS.Upload",
"operation": "new",
"parameters": {
description: "My first IPFS file using BWS API!",
parameters: {
content: encodedData
}
}
};
/* call BWS API using Axios */
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.bws.ninja/v1/call',
headers: {
'X-Api-Key': 'XqaLg...... A5k2V729v', /* use your API key here! */
'Content-Type': 'application/json'
},
data : JSON.stringify(request)
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
curl --location 'https://api.bws.ninja/v1/call' \
--header 'X-Api-Key: XqaLg...729v' \
--header 'Content-Type: application/json' \
--data '{
"solution": "BWS.IPFS.Upload",
"operation": "new",
"parameters": {
"description": "Just a simple JSON for testing BWS API",
"content": {
"text": "Hello World!"
}
}
}'
post
https://api.bws.ninja/v1
/call
Lists your IPFS files.
Parameter
Type
Desciption
from
long
Number of milliseconds representing a timestamp to select IPFS files from.
to
long
Number of milliseconds representing a timestamp to select IPFS files to.
Once executed correctly, you will get a list of the IPFS uploaded files using BWS API.
That list will contain the timestamp of creation (in milliseconds), the CID, the file type, and URIs to easily access the file (IPFS URI and the web URL - using BWS IPFS Gateway to fetch the file.
{
"statusCode": 200,
"info": [
{
"timestamp": "1700416540067",
"cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"description": "Just a simple JSON for testing BWS API",
"fileType": "json",
"uris": {
"ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"url": "https://ipfs.bws.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
}
},
{
"timestamp": "1700121600009",
"cid": "QmcduEBAppXxnyn37deHHf33Ep7cPbYxn1mH36Nvvowkiu",
"description": "image for token 1325",
"fileType": "image",
"uris": {
"ipfs": "ipfs://QmcduEBAppXxnyn37deHHf33Ep7cPbYxn1mH36Nvvowkiu",
"url": "https://ipfs.bws.ninja/ipfs/QmcduEBAppXxnyn37deHHf33Ep7cPbYxn1mH36Nvvowkiu"
}
}
]
}

LIST IPFS Files Request Example

cURL
curl --location 'https://api.staging.bws.ninja/v1/call' \
--header 'X-Api-Key: XqaLg...729v' \
--header 'Content-Type: application/json' \
--data '{
"solution": "BWS.IPFS.Upload",
"operation": "list"
"parameters": {
"from": 1700404140000
"to": 1700411940000
}
}'