Upload a JSON object to Private IPFS
Usage
import { PinataSDK } from "pinata";
const pinata = new PinataSDK({
pinataJwt: process.env.PINATA_JWT!,
pinataGateway: "example-gateway.mypinata.cloud",
});
const upload = await pinata.upload.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
Returns
type UploadResponse = {
id: string;
name: string;
cid: string;
size: number;
created_at: string;
number_of_files: number;
mime_type: string;
group_id: string | null;
keyvalues: {
[key: string]: string;
};
vectorized: boolean;
network: string;
};
Parameters
JSON
- Type:
Record<string, unknown>
Accepts an object that is turned into JSON
const upload = await pinata.upload.private.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
group (Optional)
Upload to a specific group by passing in the groupId
const upload = await pinata.upload.private
.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
.group("b07da1ff-efa4-49af-bdea-9d95d8881103")
keyvalues (Optional)
- Type:
Record<string, string>
Add optional keyvalues to file
const upload = await pinata.upload.private
.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
.keyvalues({
env: "prod"
})
name (Optional)
Add optional name to file
const upload = await pinata.upload.private
.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
.name("metadata.json")
vectorize (Optional)
The file vectors feature is still in beta. Please contact the team at [email protected] if you have any issues.
Vectorize a file on upload, requires a group to be used as well.
const upload = await pinata.upload.private
.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
.group("b07da1ff-efa4-49af-bdea-9d95d8881103")
.vectorize()
url (Optional)
Pass in a presigned upload URL created with createSignedURL
const upload = await pinata.upload.private
.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
.url(url)
key (Optional)
Upload a file using a secondary API key generated through keys.create()
const upload = await pinata.upload.private
.json({
content: "console.log('hello world!)",
name: "helloworld.ts",
lang: "ts"
})
.key("GENERATED_API_JWT")