> ## Documentation Index
> Fetch the complete documentation index at: https://pinata-mintlify-5df45191.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pinata IPFS CLI commands

> Upload files, manage groups, run gateways, rotate keys, and configure swaps on Pinata directly from your terminal using the IPFS CLI.

The Pinata CLI is equipped with the majority of features on both the Public IPFS API and Private IPFS API.

## `upload`

```
NAME:
   pinata upload - Upload a file to Pinata

USAGE:
   pinata upload [options] [path to file]

OPTIONS:
   --group string, -g string       Upload a file to a specific group by passing in the groupId
   --name string, -n string        Add a name for the file you are uploading. By default it will use the filename on your system. (default: "nil")
   --verbose                        Show upload progress
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                       show help
```

## `files`

```
NAME:
   pinata files - Interact with your files on Pinata

USAGE:
   pinata files [command [command options]]

COMMANDS:
   delete, d  Delete a file by ID
   get, g     Get file info by ID
   update, u  Update a file by ID
   list, l    List most recent files

OPTIONS:
   --help, -h  show help
```

### `get`

```
NAME:
   pinata files get - Get file info by ID

USAGE:
   pinata files get [options] [ID of file]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `list`

```
NAME:
   pinata files list - List most recent files

USAGE:
   pinata files list [options]

OPTIONS:
   --name string, -n string                                             Filter by name of the target file
   --cid string, -c string                                              Filter results by CID
   --group string, -g string                                            Filter results by group ID
   --mime string, -m string                                             Filter results by file mime type
   --amount string, -a string                                           The number of files you would like to return
   --token string, -t string                                            Paginate through file results using the pageToken
   --cidPending                                                         Filter results based on whether or not the CID is pending
   --keyvalues string, --kv string [ --keyvalues string, --kv string ]  Filter results by metadata keyvalues (format: key=value)
   --network string, --net string                                       Specify the network (public or private). Uses default if not specified
   --help, -h                                                           show help
```

### `update`

```
NAME:
   pinata files update - Update a file by ID

USAGE:
   pinata files update [options] [ID of file]

OPTIONS:
   --name string, -n string        Update the name of a file
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `delete`

```
NAME:
   pinata files delete - Delete a file by ID

USAGE:
   pinata files delete [options] [ID of file]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

## `groups`

```
NAME:
   pinata groups - Interact with file groups

USAGE:
   pinata groups [command [command options]]

COMMANDS:
   create, c  Create a new group
   list, l    List groups on your account
   update, u  Update a group
   delete, d  Delete a group by ID
   get, g     Get group info by ID
   add, a     Add a file to a group
   remove, r  Remove a file from a group

OPTIONS:
   --help, -h  show help
```

### `create`

```
NAME:
   pinata groups create - Create a new group

USAGE:
   pinata groups create [options] [name of group]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `get`

```
NAME:
   pinata groups get - Get group info by ID

USAGE:
   pinata groups get [options] [ID of group]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `list`

```
NAME:
   pinata groups list - List groups on your account

USAGE:
   pinata groups list [options]

OPTIONS:
   --amount string, -a string      The number of groups you would like to return (default: "10")
   --name string, -n string        Filter groups by name
   --token string, -t string       Paginate through results using the pageToken
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `update`

```
NAME:
   pinata groups update - Update a group

USAGE:
   pinata groups update [options] [ID of group]

OPTIONS:
   --name string, -n string        Update the name of a group
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `add`

```
NAME:
   pinata groups add - Add a file to a group

USAGE:
   pinata groups add [options] [group id] [file id]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `remove`

```
NAME:
   pinata groups remove - Remove a file from a group

USAGE:
   pinata groups remove [options] [group id] [file id]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

## `gateways`

```
NAME:
   pinata gateways - Interact with your gateways on Pinata

USAGE:
   pinata gateways [command [command options]]

COMMANDS:
   set, s   Set your default gateway to be used by the CLI
   open, o  Open a file in the browser
   link, l  Get either an IPFS link for a public file or a temporary access link for a Private IPFS file

OPTIONS:
   --help, -h  show help
```

### `set`

<Tip>
  Use the command with no arguments and get a list of your gateways to choose from!
</Tip>

```
NAME:
   pinata gateways set - Set your default gateway to be used by the CLI

USAGE:
   pinata gateways set [options] [domain of the gateway]

OPTIONS:
   --help, -h  show help
```

### `link`

```
NAME:
   pinata gateways link - Get either an IPFS link for a public file or a temporary access link for a Private IPFS file

USAGE:
   pinata gateways link [options] [cid of the file, seconds the url is valid for]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `open`

```
NAME:
   pinata gateways open - Open a file in the browser

USAGE:
   pinata gateways open [options] [CID of the file]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

## `keys`

```
NAME:
   pinata keys - Create and manage generated API keys

USAGE:
   pinata keys [command [command options]]

COMMANDS:
   create, c  Create an API key with admin or scoped permissions
   list, l    List and filter API key
   revoke, r  Revoke an API key

OPTIONS:
   --help, -h  show help
```

### `create`

```
NAME:
   pinata keys create - Create an API key with admin or scoped permissions

USAGE:
   pinata keys create [options]

OPTIONS:
   --name string, -n string                                         Name of the API key
   --admin, -a                                                      Set the key as Admin
   --uses int, -u int                                               Max uses a key can use (default: 0)
   --endpoints string, -e string [ --endpoints string, -e string ]  Optional array of endpoints the key is allowed to use
   --help, -h                                                       show help
```

### `list`

```
NAME:
   pinata keys list - List and filter API key

USAGE:
   pinata keys list [options]

OPTIONS:
   --name string, -n string    Name of the API key
   --revoked, -r               Set the key as Admin
   --exhausted, -e             Filter keys that are exhausted or not
   --uses, -u                  Filter keys that do or don't have limited uses
   --offset string, -o string  Offset the number of results to paginate
   --help, -h                  show help
```

### `revoke`

```
NAME:
   pinata keys revoke - Revoke an API key

USAGE:
   pinata keys revoke [options] [key]

OPTIONS:
   --help, -h  show help
```

## `swaps`

```
NAME:
   pinata swaps - Interact and manage hot swaps on Pinata

USAGE:
   pinata swaps [command [command options]]

COMMANDS:
   list, l    List swaps for a given gateway domain or for your config gateway domain
   add, a     Add a swap for a CID
   delete, d  Remeove a swap for a CID

OPTIONS:
   --help, -h  show help
```

### `list`

```
NAME:
   pinata swaps list - List swaps for a given gateway domain or for your config gateway domain

USAGE:
   pinata swaps list [options] [cid] [optional gateway domain]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `add`

```
NAME:
   pinata swaps add - Add a swap for a CID

USAGE:
   pinata swaps add [options] [cid] [swap cid]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```

### `delete`

```
NAME:
   pinata swaps delete - Remeove a swap for a CID

USAGE:
   pinata swaps delete [options] [cid]

OPTIONS:
   --network string, --net string  Specify the network (public or private). Uses default if not specified
   --help, -h                      show help
```
