{"id":37023134,"url":"https://github.com/zinebfadili/pinata-java-sdk","last_synced_at":"2026-01-14T02:46:20.751Z","repository":{"id":47667000,"uuid":"393788126","full_name":"zinebfadili/pinata-java-sdk","owner":"zinebfadili","description":"Unofficial Java SDK for Pinata IPFS pinning service","archived":false,"fork":false,"pushed_at":"2021-08-21T09:58:41.000Z","size":49,"stargazers_count":17,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-30T23:28:09.392Z","etag":null,"topics":["ipfs","ipfs-pinning-services","java","pinata","pinning-services","sdk-java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zinebfadili.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-07T20:41:53.000Z","updated_at":"2025-06-09T03:02:09.000Z","dependencies_parsed_at":"2022-08-21T10:10:47.228Z","dependency_job_id":null,"html_url":"https://github.com/zinebfadili/pinata-java-sdk","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/zinebfadili/pinata-java-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinebfadili%2Fpinata-java-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinebfadili%2Fpinata-java-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinebfadili%2Fpinata-java-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinebfadili%2Fpinata-java-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zinebfadili","download_url":"https://codeload.github.com/zinebfadili/pinata-java-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zinebfadili%2Fpinata-java-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ipfs","ipfs-pinning-services","java","pinata","pinning-services","sdk-java"],"created_at":"2026-01-14T02:46:20.015Z","updated_at":"2026-01-14T02:46:20.732Z","avatar_url":"https://github.com/zinebfadili.png","language":"Java","readme":"# Pinata SDK\n\nUnofficial Java SDK for [Pinata](https://pinata.cloud).\n\n## Overview\n\nThis Pinata Java SDK enables interaction with the [Pinata API](https://pinata.cloud/documentation#GettingStarted).\nPinata is a pinning service that allows you to upload and manage files on IPFS.\n\n## Install\n\n### Maven\n\nFor Maven, add the following sections to your pom.xml (replacing $LATEST_VERSION):\n```\n  \u003cdependencies\u003e\n    \u003cdependency\u003e\n      \u003cgroupId\u003eio.github.zinebfadili\u003c/groupId\u003e\n      \u003cartifactId\u003epinata-java-sdk\u003c/artifactId\u003e\n      \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\n    \u003c/dependency\u003e\n  \u003c/dependencies\u003e\n```\n\n## Setup\n\nCreate a Pinata instance without API keys:\n```Java\n  Pinata pinata = new Pinata();\n```\nOr, with Pinata API keys:\n```Java\n  Pinata pinata = new Pinata(\"yourPinataApiKey\", \"yourPinataSecretApiKey\");\n```\nTest that you can connect to the API with:\n```Java\n  // If you created a Pinata instance with keys\n  try {\n    PinataResponse authResponse = pinata.testAuthentication();\n    // If a PinataException hasn't been been thrown, it means that the status is 200  \n    System.out.println(authResponse.getStatus()); // 200\n  } catch (PinataException e) {\n    // The status returned is not 200\n  } catch (IOException e) {\n    // Unable to send request\n  }\n  \n  // If you created a Pinata instance without keys\n  try {\n    PinataResponse authResponse = pinata.testAuthentication(\"yourPinataApiKey\", \"yourPinataSecretApiKey\");\n    // If a PinataException hasn't been been thrown, it means that the status is 200  \n    System.out.println(authResponse.getStatus()); // 200\n  } catch (PinataException e) {\n    // The status returned is not 200\n  } catch (IOException e) {\n    // Unable to send request\n  }\n```\n## Usage\n\nThe available operations are:\n\n* Pinning\n  * hashMetadata\n  * hashPinPolicy\n  * pinByHash\n  * pinFileToIPFS\n  * pinFromFs\n  * pinJobs\n  * pinJSONToIPFS\n  * unpin\n  * userPinPolicy\n\n* Data\n  * testAuthentication\n  * pinList\n  * userPinnedDataTotal\n\nPlease refer to the [Pinata-SDK documentation](https://github.com/PinataCloud/Pinata-SDK#usage) for the explanation of the purpose of these methods. The method names are the same but in camel case.\n\nIf you have created a Pinata instance using your keys, you don't need to specify them again when calling the methods.\n\nAs an example, here is a call to pin by hash:\n```Java\n  // If you created a Pinata instance with keys\n  try {\n    PinataResponse pinResponse = pinata.pinByHash(\"yourHash\");\n    // If a PinataException hasn't been been thrown, it means that the status is 200  \n    System.out.println(pinResponse.getStatus()); // 200\n  } catch (PinataException e) {\n    // The status returned is not 200\n  } catch (IOException e) {\n    // Unable to send request\n  }\n  \n  // If you created a Pinata instance without keys\n  try {\n    PinataResponse pinResponse = pinata.pinByHash(\"yourPinataApiKey\", \"yourPinataSecretApiKey\", \"yourHash\");\n    // If a PinataException hasn't been been thrown, it means that the status is 200  \n    System.out.println(pinResponse.getStatus()); // 200\n  } catch (PinataException e) {\n    // The status returned is not 200\n  } catch (IOException e) {\n    // Unable to send request\n  }\n```\n\nThe return value contains two attributes:\n * `status` : an Integer containing the response status\n * `body` : a String containing the response body\n\nMethods with optional parameters (for example `pinByHash` and its `options` parameter) are overloaded so that they can be invoked without.\n\n## Remarks\n\nPlease note that this version only supports IPFS peer addresses protocols and formats that are handled in the [Multiformats Java Implementation](https://github.com/multiformats/java-multiaddr).\nThis means, for example, that addresses containing *p2p-webrtc-start* or in *Base1* are not supported.\n\n## License\n\n[MIT](LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzinebfadili%2Fpinata-java-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzinebfadili%2Fpinata-java-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzinebfadili%2Fpinata-java-sdk/lists"}