Use this operation to upload content to IPFS and get the IPFS Content Identifier (CID).
200 Returns the IPFS CID and useful URIs.
Copy {
"statusCode": 200,
"info": {
"cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"uris": {
"ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"url": "https://ipfs.bws.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
}
}
}
Please note that when uploading your file:
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.
Upload an Image using nodejs Upload JSON using cURL
Copy 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);
});
Copy 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!"
}
}
}'
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.
Copy {
"statusCode": 200,
"info": {
"cid": "QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"uris": {
"ipfs": "ipfs://QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN",
"url": "https://ipfs.bws.ninja/ipfs/QmXmCX9S6ANVjYJh3rJmXjqgYtYv7WZLUDL2XCwdPrvUwN"
}
}
}
200 The list of files you uploaded to IPFS
Copy {
"statusCode": 200,
"statusMessage": "",
"info": [
{
"": ""
}
]
}
LIST IPFS Files Request Example
Once executed correctly, you will get a list of the IPFS uploaded files using BWS API. That list will contain for each file:
Copy {
"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"
}
}
]
}