List and filter files pinned to your Pinata account
Usage
import { PinataSDK } from "pinata";
const pinata = new PinataSDK({
pinataJwt: process.env.PINATA_JWT!,
pinataGateway: "example-gateway.mypinata.cloud",
});
const files = await pinata.files.public.list()
Returns
type FileListResponse = {
files: FileListItem[];
next_page_token: string;
};
type FileListItem = {
id: string;
name: string | null;
cid: "pending" | string;
size: number;
numberOfFiles: number;
mimeType: string;
groupId: string;
updatedAt: string;
createdAt: string;
};
Parameters
Filter response with the following additional methods. All filters are optional.
name
Filter results based on name
const files = await pinata.files.public
.list()
.name("pinnie")
group
Filter results based on group ID
const files = await pinata.files.public
.list()
.group("5b56981c-7e5b-4dff-aeca-de784728dddb")
noGroup
Filter results to only show files that are not part of a group
const files = await pinata.files.public
.list()
.noGroup(true)
cid
Filter results based on CID
const files = await pinata.files.public
.list()
.cid("bafkreih5aznjvttude6c3wbvqeebb6rlx5wkbzyppv7garjiubll2ceym4")
keyvalues
- Type:
Record<string, string>
Filter results based on keyvalue pairs in metadata
const files = await pinata.files.public
.list()
.keyvalues({
env: "prod"
})
mimeType
Filter results based on mime type
const files = await pinata.files.public
.list()
.mimeType("image/png")
order
Order results either ascending or descending by created date
const files = await pinata.files.public
.list()
.order("ASC")
limit
Limit the number of results
const files = await pinata.files.public
.list()
.limit(10)
cidPending
Filters results and only returns files where cid
is still pending
const files = await pinata.files.public
.list()
.cid(true)
pageToken
Paginates through files based on a provided page token
const files = await pinata.files.public
.list()
.pageToken("MDE5MWIzZWYtM2U0Zi03YTY5LWE3OTQtOTRhZDE5NjQxMTk0")
Auto Paginate
The list
method has an auto pagination feature that is triggered when used inside a for await
iterator
for await (const item of pinata.files.public.list()) {
console.log(item.id);
}
Works like magic ✨