openapi: 3.0.3 info: version: 0.1.89 title: Blockfrost.io ~ API Documentation Cardano » Accounts IPFS » Pins API x-logo: url: https://staging.blockfrost.io/images/logo.svg altText: Blockfrost contact: name: Blockfrost Team url: https://blockfrost.io email: contact@blockfrost.io license: name: MIT url: https://opensource.org/licenses/MIT termsOfService: https://blockfrost.io/terms description: "Blockfrost is an API as a service that allows users to interact with the Cardano blockchain, Midnight blockchain, and parts of their ecosystems.\n\n## Tokens\n\nAfter signing up on https://blockfrost.io, a `project_id` token is automatically generated for each project.\nHTTP header of your request MUST include this `project_id` in order to authenticate against Blockfrost servers.\n\n## Available networks\n\nAt the moment, you can use the following networks. Please, note that each network has its own `project_id`.\n\n
| \n Network\n | \n\n Endpoint\n | \n
| Cardano mainnet | \n\n https://cardano-mainnet.blockfrost.io/api/v0\n | \n
| Cardano preprod | \n\n https://cardano-preprod.blockfrost.io/api/v0\n | \n
| Cardano preview | \n\n https://cardano-preview.blockfrost.io/api/v0\n | \n
| Midnight mainnet | \n\n https://midnight-mainnet.blockfrost.io/api/v0\n | \n
| InterPlanetary File System | \n\n https://ipfs.blockfrost.io/api/v0\n | \n
| Programming language | \nSDK | \n
| JavaScript | \n\n blockfrost-js\n | \n
| Haskell | \n\n blockfrost-haskell\n | \n
| Python | \n\n blockfrost-python\n | \n
| Rust | \n\n blockfrost-rust\n | \n
| Golang | \n\n blockfrost-go\n | \n
| Ruby | \n\n blockfrost-ruby\n | \n
| Java | \n\n blockfrost-java\n | \n
| Scala | \n\n blockfrost-scala\n | \n
| Swift | \n\n blockfrost-swift\n | \n
| Kotlin | \n\n blockfrost-kotlin\n | \n
| Elixir | \n\n blockfrost-elixir\n | \n
| .NET | \n\n blockfrost-dotnet\n | \n
| Arduino | \n\n blockfrost-arduino\n | \n
| PHP | \n\n blockfrost-php\n | \n
| Crystal | \n\n blockfrost-crystal\n | \n
\n Hosted Endpoint only available for hosted variant.\n
\n" parameters: - in: query name: count required: false schema: type: integer minimum: 1 maximum: 100 default: 100 description: The number of results displayed on one page. - in: query name: page required: false schema: type: integer minimum: 1 maximum: 21474836 default: 1 description: The page number for listing the results. - in: query name: order required: false schema: type: string enum: - asc - desc default: asc description: 'The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. ' x-codeSamples: - lang: Shell label: cURL source: "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/pin/list/\" \\\n -H \"project_id: $PROJECT_ID\" \\\n" responses: '200': description: Returns pinned objects content: application/json: schema: type: array items: type: object properties: time_created: type: integer description: Creation time of the IPFS object on our backends example: 1615551024 time_pinned: type: integer description: Pin time of the IPFS object on our backends example: 1615551024 ipfs_hash: type: string description: IPFS hash of the pinned object example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx size: type: string description: Size of the object in Bytes example: '1615551024' state: type: string enum: - queued - pinned - unpinned - failed - gc description: 'State of the pinned object, which is `queued` when we are retriving object. If this is successful the state is changed to `pinned` or `failed` if not. The state `gc` means the pinned item has been garbage collected due to account being over storage quota or after it has been moved to `unpinned` state by removing the object pin. ' example: pinned filecoin: type: boolean description: Whether filecoin was used to pin the resource. required: - time_created - time_pinned - ipfs_hash - size - state - filecoin '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' /ipfs/pin/list/{IPFS_path}: servers: - url: https://ipfs.blockfrost.io/api/v0 get: tags: - IPFS » Pins summary: Get details about pinned object description: "Get information about locally pinned IPFS object\n\n\n Hosted Endpoint only available for hosted variant.\n
\n" parameters: - in: path required: true name: IPFS_path schema: type: string description: The path to the IPFS object x-codeSamples: - lang: Shell label: cURL source: "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/pin/list/{IPFS_PATH}\" \\\n -H \"project_id: $PROJECT_ID\" \\\n" responses: '200': description: Returns the pins pinned content: application/json: schema: type: object properties: time_created: type: integer description: Time of the creation of the IPFS object on our backends example: 1615551024 time_pinned: type: integer description: Time of the pin of the IPFS object on our backends example: 1615551024 ipfs_hash: type: string description: IPFS hash of the pinned object example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx size: type: string description: Size of the object in Bytes example: '1615551024' state: type: string enum: - queued - pinned - unpinned - failed - gc description: 'State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`. When the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`. If the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise. When object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection. State `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota. ' example: pinned filecoin: type: boolean description: Whether filecoin was used to pin the resource. required: - time_created - time_pinned - ipfs_hash - size - state - filecoin '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' /ipfs/pin/remove/{IPFS_path}: servers: - url: https://ipfs.blockfrost.io/api/v0 post: tags: - IPFS » Pins summary: Remove a IPFS pin description: "Remove pinned objects from local storage\n\n\n Hosted Endpoint only available for hosted variant.\n
\n\n**Note:** If the object was pinned to Filecoin (using `filecoin=true`), it cannot be removed or unpinned due to Filecoin's immutable and persistent storage guarantees. Please ensure careful consideration when pinning objects to Filecoin, as the action is irreversible.\n" parameters: - in: path required: true name: IPFS_path schema: type: string description: The path to the IPFS object x-codeSamples: - lang: Shell label: cURL source: "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/pin/remove/{IPFS_PATH}\" \\\n -X POST \\\n -H \"project_id: $PROJECT_ID\" \\\n" responses: '200': description: Returns the pins removed content: application/json: schema: type: object properties: ipfs_hash: type: string example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 description: IPFS hash of the pinned object state: type: string enum: - queued - pinned - unpinned - failed - gc example: unpinned description: State of the pin action required: - ipfs_hash - state '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' components: responses: '500': description: Internal Server Error content: application/json: schema: type: object properties: status_code: type: integer example: 500 error: type: string example: Internal Server Error message: type: string example: An unexpected response was received from the backend. required: - error - message - status_code '429': description: Usage limit reached content: application/json: schema: type: object properties: status_code: type: integer example: 429 error: type: string example: Project Over Limit message: type: string example: Usage is over limit. required: - error - message - status_code 425-2: description: Pin queue is currently full, not accepting new txs straight away content: application/json: schema: type: object properties: status_code: type: integer example: 425 error: type: string example: Pin Queue Full message: type: string example: Your pin queue is currently full, please try pinning again later. required: - error - message - status_code '404': description: Component not found content: application/json: schema: type: object properties: status_code: type: integer example: 404 error: type: string example: Not Found message: type: string example: The requested component has not been found. required: - error - message - status_code '403': description: Authentication secret is missing or invalid content: application/json: schema: type: object properties: status_code: type: integer example: 403 error: type: string example: Forbidden message: type: string example: Invalid project token. required: - error - message - status_code '400': description: Bad request content: application/json: schema: type: object properties: status_code: type: integer example: 400 error: type: string example: Bad Request message: type: string example: Backend did not understand your request. required: - error - message - status_code '418': description: IP has been auto-banned for extensive sending of requests after usage limit has been reached content: application/json: schema: type: object properties: status_code: type: integer example: 418 error: type: string example: Requested Banned message: type: string example: IP has been auto-banned for flooding. required: - error - message - status_code securitySchemes: project_id: type: apiKey in: header name: project_id description: 'There are multiple token types available based on network you choose when creating a Blockfrost a project, for a list of token types see available networks. '