{
  "info": {
    "name": "Pinata — mcp.ai",
    "description": "REST API for the Pinata MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/pinata",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "pinata_create_public_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/public/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "public",
            "group"
          ]
        },
        "description": "Create a group for organizing files on the connected account's public IPFS network. The connected Pinata JWT must include org:groups:write.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"is_public\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_create_signed_public_upload_url",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/signed/public/upload/url",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "signed",
            "public",
            "upload",
            "url"
          ]
        },
        "description": "Create a 60-second signed URL for one size- and MIME-constrained public IPFS upload. The URL is a secret: use it immediately and never log or persist it. This action does not upload content itself. Th",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"filename\": \"\",\n  \"group_id\": \"\",\n  \"metadata\": {},\n  \"cid_version\": \"\",\n  \"max_file_size\": 0,\n  \"allow_mime_types\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_delete_public_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/public/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "public",
            "group"
          ]
        },
        "description": "Permanently delete one public-network group by ID. This destructive action does not delete the files the group organized. The connected Pinata JWT must include org:groups:write.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_get_public_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/public/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "public",
            "group"
          ]
        },
        "description": "Return one public-network group by its Pinata group ID. The connected Pinata JWT must include org:groups:read.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_list_gateways",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/gateways",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "gateways"
          ]
        },
        "description": "Return one page of gateways owned by the connected Pinata account without changing gateway configuration. The connected Pinata JWT must include org:gateways:read.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"page_size\": 0,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_list_public_files",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/public/files",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "public",
            "files"
          ]
        },
        "description": "Return one page of files on the connected account's public IPFS network, optionally filtered by file attributes. The connected Pinata JWT must include org:files:read.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"cid\": \"\",\n  \"name\": \"\",\n  \"limit\": 0,\n  \"order\": \"\",\n  \"group_id\": \"\",\n  \"mime_type\": \"\",\n  \"cid_pending\": false,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_list_public_groups",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/public/groups",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "public",
            "groups"
          ]
        },
        "description": "Return one page of groups that organize files on the connected account's public IPFS network. The connected Pinata JWT must include org:groups:read.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"limit\": 0,\n  \"is_public\": false,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_list_upload_metadata",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/upload/metadata",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "upload",
            "metadata"
          ]
        },
        "description": "List upload-service records, including upload IDs, filenames, CIDs, sizes, group IDs, and timestamps. Use List Public Files instead to search the public IPFS file inventory.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"reverse\": false,\n  \"next_cursor\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "pinata_update_public_group",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/public/group",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "public",
            "group"
          ]
        },
        "description": "Update the name, visibility flag, or both for one public-network group. The connected Pinata JWT must include org:groups:write.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"group_id\": \"\",\n  \"is_public\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}