Usage
Returns
Parameters
keyName
- Type:
string
maxUses (Optional)
- Type:
number
permissions
- Type: KeyPermissions
admin (Optional)
- Type:
boolean
resources (Optional)
- Type:
ResourcePermission[]
endpoints (Optional)
- Type Endpoints
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
org:write
import { PinataSDK } from "pinata";
const pinata = new PinataSDK({
pinataJwt: process.env.PINATA_JWT!,
pinataGateway: "example-gateway.mypinata.cloud",
});
const key = await pinata.keys.create({
keyName: "user 1",
permissions: {
resources: [
"org:files:read",
"org:groups:read"
]
},
maxUses: 1,
});
type KeyResponse = {
JWT: string;
pinata_api_key: string;
pinata_api_secret: string;
};
stringconst key = await pinata.keys.create({
keyName: "user 1",
permissions: {
admin: true,
},
maxUses: 1,
});
numberconst key = await pinata.keys.create({
keyName: "user 1",
permissions: {
admin: true,
},
maxUses: 1,
});
booleanconst key = await pinata.keys.create({
keyName: "user 1",
permissions: {
admin: true,
}
});
ResourcePermission[]export type ResourcePermission =
| "org:read"
| "org:write"
| "org:files:read"
| "org:files:write"
| "org:groups:read"
| "org:groups:write"
| "org:gateways:read"
| "org:gateways:write"
| "org:analytics:read"
| "org:analytics:write";
const key = await pinata.keys.create({
keyName: "user 1",
permissions: {
resources: [
"org:files:read",
"org:groups:read",
]
}
});
const key = await pinata.keys.create({
keyName: "user 1",
permissions: {
endpoints: {
data: {
pinList: true,
userPinnedDataTotal: false
},
pinning: {
hashMetadata: true,
hashPinPolicy: false,
pinByHash: true,
pinFileToIPFS: true,
pinJSONToIPFS: true,
pinJobs: false,
unpin: false,
userPinPolicy: false
}
}
}
});