{
  "service": "pinata",
  "displayName": "Pinata",
  "categories": [
    "Developer Tools",
    "Storage"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "JWT",
      "placeholder": "pinata_jwt",
      "description": "Pinata JWT used with the Authorization Bearer header. Create or manage API keys from the official API keys page: https://app.pinata.cloud/developers/api-keys."
    }
  ],
  "homepageUrl": "https://pinata.cloud",
  "actions": [
    {
      "id": "pinata.add_file_to_group",
      "service": "pinata",
      "name": "add_file_to_group",
      "description": "Add a Pinata file to a Pinata group.",
      "requiredScopes": [
        "org:groups:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "groupId": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          },
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for changing Pinata group membership."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether the Pinata operation completed successfully."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by the Pinata API."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata operation result."
      }
    },
    {
      "id": "pinata.create_group",
      "service": "pinata",
      "name": "create_group",
      "description": "Create a Pinata file group on the public or private IPFS network.",
      "requiredScopes": [
        "org:groups:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The group name."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether Pinata should make the group public."
          }
        },
        "additionalProperties": false,
        "required": [
          "network",
          "name"
        ],
        "description": "Input parameters for creating a Pinata group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Pinata group identifier."
              },
              "name": {
                "type": "string",
                "description": "The Pinata group name."
              },
              "isPublic": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Pinata reports the group as public."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The creation timestamp returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by the Pinata API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pinata group record."
          }
        },
        "additionalProperties": false,
        "description": "The created Pinata group."
      }
    },
    {
      "id": "pinata.delete_file",
      "service": "pinata",
      "name": "delete_file",
      "description": "Delete one Pinata file by ID from the public or private IPFS network.",
      "requiredScopes": [
        "org:files:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a Pinata file lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether the Pinata operation completed successfully."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by the Pinata API."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata operation result."
      }
    },
    {
      "id": "pinata.get_file",
      "service": "pinata",
      "name": "get_file",
      "description": "Get one Pinata file by ID from the public or private IPFS network.",
      "requiredScopes": [
        "org:files:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a Pinata file lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Pinata file identifier."
              },
              "name": {
                "type": "string",
                "description": "The Pinata file name."
              },
              "cid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The IPFS CID, or null when Pinata has not assigned one yet."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "size": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The file size in bytes when Pinata returns it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "numberOfFiles": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of files represented by this record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mimeType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MIME type returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The group identifier assigned to the file, or null when absent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "keyvalues": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw object returned by the Pinata API."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The creation timestamp returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by the Pinata API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pinata file record."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata file lookup result."
      }
    },
    {
      "id": "pinata.get_group",
      "service": "pinata",
      "name": "get_group",
      "description": "Get one Pinata group by ID from the public or private IPFS network.",
      "requiredScopes": [
        "org:groups:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for a Pinata group lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Pinata group identifier."
              },
              "name": {
                "type": "string",
                "description": "The Pinata group name."
              },
              "isPublic": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Pinata reports the group as public."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The creation timestamp returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by the Pinata API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pinata group record."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata group lookup result."
      }
    },
    {
      "id": "pinata.list_files",
      "service": "pinata",
      "name": "list_files",
      "description": "List Pinata files from the public or private IPFS network with optional filters.",
      "requiredScopes": [
        "org:files:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "name": {
            "type": "string",
            "description": "Filter files by name."
          },
          "group": {
            "type": "string",
            "description": "Filter files by group ID. Use the string null to show files outside groups."
          },
          "mimeType": {
            "type": "string",
            "description": "Filter files by MIME type."
          },
          "cid": {
            "type": "string",
            "description": "Filter files by CID."
          },
          "cidPending": {
            "type": "boolean",
            "description": "Return only files that are still waiting for a CID."
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One Pinata metadata value."
            },
            "description": "Pinata key-value metadata. Values are sent as strings."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Limit the number of results returned by Pinata."
          },
          "order": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Sort results by creation date."
          },
          "pageToken": {
            "type": "string",
            "description": "Pagination token returned by a previous Pinata response."
          }
        },
        "additionalProperties": false,
        "required": [
          "network"
        ],
        "description": "Filters for listing Pinata files."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Pinata file identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The Pinata file name."
                },
                "cid": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The IPFS CID, or null when Pinata has not assigned one yet."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "size": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The file size in bytes when Pinata returns it."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "numberOfFiles": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of files represented by this record."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "mimeType": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MIME type returned by Pinata."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "groupId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The group identifier assigned to the file, or null when absent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "keyvalues": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The raw object returned by the Pinata API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The creation timestamp returned by Pinata."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by the Pinata API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Pinata file record."
            },
            "description": "Files returned by Pinata."
          },
          "nextPageToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The token to fetch the next page, or null when there is none."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by the Pinata API."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata file list."
      }
    },
    {
      "id": "pinata.list_groups",
      "service": "pinata",
      "name": "list_groups",
      "description": "List Pinata file groups from the public or private IPFS network.",
      "requiredScopes": [
        "org:groups:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "name": {
            "type": "string",
            "description": "Filter groups by name."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Filter groups by public visibility."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Limit the number of groups returned by Pinata."
          },
          "pageToken": {
            "type": "string",
            "description": "Pagination token returned by a previous Pinata response."
          }
        },
        "additionalProperties": false,
        "required": [
          "network"
        ],
        "description": "Filters for listing Pinata groups."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Pinata group identifier."
                },
                "name": {
                  "type": "string",
                  "description": "The Pinata group name."
                },
                "isPublic": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether Pinata reports the group as public."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The creation timestamp returned by Pinata."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by the Pinata API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Pinata group record."
            },
            "description": "Groups returned by Pinata."
          },
          "nextPageToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The token to fetch the next page, or null when there is none."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by the Pinata API."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata group list."
      }
    },
    {
      "id": "pinata.pin_by_cid",
      "service": "pinata",
      "name": "pin_by_cid",
      "description": "Ask Pinata to pin an existing public IPFS CID.",
      "requiredScopes": [
        "org:files:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cid": {
            "type": "string",
            "minLength": 1,
            "description": "The IPFS CID."
          },
          "name": {
            "type": "string",
            "description": "Optional custom name for the pinned CID."
          },
          "groupId": {
            "type": "string",
            "description": "Optional Pinata group ID to assign to the pinned CID."
          },
          "keyvalues": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One Pinata metadata value."
            },
            "description": "Pinata key-value metadata. Values are sent as strings."
          },
          "hostNodes": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One IPFS host node ID."
            },
            "description": "Optional IPFS host node IDs."
          }
        },
        "additionalProperties": false,
        "required": [
          "cid"
        ],
        "description": "Input parameters for pinning an existing public IPFS CID with Pinata."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "pinRequest": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Pinata pin request identifier."
              },
              "cid": {
                "type": "string",
                "description": "The IPFS CID queued for pinning."
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The optional name assigned to the pin request."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The current Pinata pin request status."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "keyvalues": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw object returned by the Pinata API."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The group identifier assigned to the pin request, or null when absent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "hostNodes": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One host node ID."
                },
                "description": "Host node IDs returned by Pinata."
              },
              "dateQueued": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The timestamp when Pinata queued the pin request."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by the Pinata API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pinata pin-by-CID request record."
          }
        },
        "additionalProperties": false,
        "description": "The queued Pinata pin request."
      },
      "followUpActions": [
        "pinata.query_pin_requests"
      ]
    },
    {
      "id": "pinata.query_pin_requests",
      "service": "pinata",
      "name": "query_pin_requests",
      "description": "Query Pinata pin-by-CID requests with optional filters and pagination.",
      "requiredScopes": [
        "org:files:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "order": {
            "type": "string",
            "enum": [
              "ASC",
              "DESC"
            ],
            "description": "Sort results by queue time."
          },
          "status": {
            "type": "string",
            "enum": [
              "prechecking",
              "backfilled",
              "retreiving",
              "expired",
              "searching",
              "over_free_limit",
              "over_max_size",
              "invalid_object",
              "bad_host_node"
            ],
            "description": "Filter pin requests by Pinata status."
          },
          "cid": {
            "type": "string",
            "description": "Filter pin requests by CID."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Limit the number of results returned by Pinata."
          },
          "pageToken": {
            "type": "string",
            "description": "Pagination token returned by a previous Pinata response."
          }
        },
        "additionalProperties": false,
        "description": "Filters for querying Pinata pin-by-CID requests."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "pinRequests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Pinata pin request identifier."
                },
                "cid": {
                  "type": "string",
                  "description": "The IPFS CID queued for pinning."
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The optional name assigned to the pin request."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The current Pinata pin request status."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "keyvalues": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The raw object returned by the Pinata API."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "groupId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The group identifier assigned to the pin request, or null when absent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hostNodes": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One host node ID."
                  },
                  "description": "Host node IDs returned by Pinata."
                },
                "dateQueued": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The timestamp when Pinata queued the pin request."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by the Pinata API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Pinata pin-by-CID request record."
            },
            "description": "Pin-by-CID requests returned by Pinata."
          },
          "nextPageToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The token to fetch the next page, or null when there is none."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by the Pinata API."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata pin request list."
      }
    },
    {
      "id": "pinata.remove_file_from_group",
      "service": "pinata",
      "name": "remove_file_from_group",
      "description": "Remove a Pinata file from a Pinata group.",
      "requiredScopes": [
        "org:groups:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "groupId": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          },
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for changing Pinata group membership."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether the Pinata operation completed successfully."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by the Pinata API."
          }
        },
        "additionalProperties": false,
        "description": "The Pinata operation result."
      }
    },
    {
      "id": "pinata.update_file",
      "service": "pinata",
      "name": "update_file",
      "description": "Update a Pinata file name or key-value metadata.",
      "requiredScopes": [
        "org:files:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          },
          "name": {
            "type": "string",
            "description": "The updated file name."
          },
          "keyvalues": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One Pinata metadata value."
            },
            "description": "Pinata key-value metadata. Values are sent as strings."
          }
        },
        "additionalProperties": false,
        "required": [
          "network",
          "id"
        ],
        "description": "Input parameters for updating Pinata file metadata."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "file": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Pinata file identifier."
              },
              "name": {
                "type": "string",
                "description": "The Pinata file name."
              },
              "cid": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The IPFS CID, or null when Pinata has not assigned one yet."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "size": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The file size in bytes when Pinata returns it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "numberOfFiles": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of files represented by this record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mimeType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MIME type returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "groupId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The group identifier assigned to the file, or null when absent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "keyvalues": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The raw object returned by the Pinata API."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The creation timestamp returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by the Pinata API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pinata file record."
          }
        },
        "additionalProperties": false,
        "description": "The updated Pinata file."
      }
    },
    {
      "id": "pinata.update_group",
      "service": "pinata",
      "name": "update_group",
      "description": "Update a Pinata group name or public visibility setting.",
      "requiredScopes": [
        "org:groups:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "enum": [
              "public",
              "private"
            ],
            "description": "The Pinata IPFS network to target."
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Pinata file or group identifier."
          },
          "name": {
            "type": "string",
            "description": "The updated group name."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether Pinata should make the group public."
          }
        },
        "additionalProperties": false,
        "required": [
          "network",
          "id"
        ],
        "description": "Input parameters for updating a Pinata group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Pinata group identifier."
              },
              "name": {
                "type": "string",
                "description": "The Pinata group name."
              },
              "isPublic": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Pinata reports the group as public."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The creation timestamp returned by Pinata."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by the Pinata API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Pinata group record."
          }
        },
        "additionalProperties": false,
        "description": "The updated Pinata group."
      }
    }
  ]
}
