Files
list
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.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
- Type:
string
Filter results based on name
const files = await pinata.files
.list()
.name("pinnie")
group
- Type:
string
Filter results based on group ID
const files = await pinata.files
.list()
.group("5b56981c-7e5b-4dff-aeca-de784728dddb")
cid
- Type:
string
Filter results based on CID
const files = await pinata.files
.list()
.cid("bafkreih5aznjvttude6c3wbvqeebb6rlx5wkbzyppv7garjiubll2ceym4")
mimeType
- Type:
string
Filter results based on mime type
const files = await pinata.files
.list()
.mimeType("image/png")
order
- Type:
"ASC" | "DESC"
Order results either ascending or descending by created date
const files = await pinata.files
.list()
.order("ASC")
limit
- Type:
number
Limit the number of results
const files = await pinata.files
.list()
.limit(10)
cidPending
- Type:
boolean
Filters results and only returns files where cid
is still pending
const files = await pinata.files
.list()
.cid(true)
pageToken
- Type:
string
Paginates through files based on a provided page token
const files = await pinata.files
.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.list()) {
console.log(item.id);
}
Works like magic ✨