QuickNode · Capability

QuickNode IPFS REST API

The QuickNode IPFS REST API provides programmatic access to QuickNode's managed IPFS pinning, gateway, and account services. Developers can pin files and CIDs to keep them persistently available on the InterPlanetary File System, manage dedicated gateways for retrieval, and inspect account usage including bandwidth and storage. Authentication is performed using an API key issued from the QuickNode dashboard.

Run with Naftiko QuicknodeAPI

What You Can Do

POST
Putobject — Upload and pin a file
/v1/s3/put-object
GET
Listpins — List pinned objects
/v1/pinning
POST
Pinbycid — Pin an existing CID
/v1/pinning
GET
Getpin — Get a pin by request id
/v1/pinning/{requestId}
DELETE
Deletepin — Unpin an object
/v1/pinning/{requestId}
GET
Listgateways — List gateways
/v1/gateways
POST
Creategateway — Create gateway
/v1/gateways
GET
Getaccountusage — Get account usage
/v1/account/usage

MCP Tools

putobject

Upload and pin a file

listpins

List pinned objects

read-only idempotent
pinbycid

Pin an existing CID

getpin

Get a pin by request id

read-only idempotent
deletepin

Unpin an object

idempotent
listgateways

List gateways

read-only idempotent
creategateway

Create gateway

getaccountusage

Get account usage

read-only idempotent

Capability Spec

quicknode-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: QuickNode IPFS REST API
  description: The QuickNode IPFS REST API provides programmatic access to QuickNode's managed IPFS pinning, gateway, and
    account services. Developers can pin files and CIDs to keep them persistently available on the InterPlanetary File System,
    manage dedicated gateways for retrieval, and inspect account usage including bandwidth and storage. Authentication is
    performed using an API key issued from the QuickNode dashboard.
  tags:
  - Quicknode
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: quicknode
    baseUri: https://api.quicknode.com/ipfs/rest
    description: QuickNode IPFS REST API HTTP API.
    authentication:
      type: apikey
      in: header
      name: x-api-key
      value: '{{QUICKNODE_TOKEN}}'
    resources:
    - name: v1-s3-put-object
      path: /v1/s3/put-object
      operations:
      - name: putobject
        method: POST
        description: Upload and pin a file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-pinning
      path: /v1/pinning
      operations:
      - name: listpins
        method: GET
        description: List pinned objects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: pinbycid
        method: POST
        description: Pin an existing CID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-pinning-requestid
      path: /v1/pinning/{requestId}
      operations:
      - name: getpin
        method: GET
        description: Get a pin by request id
        inputParameters:
        - name: requestId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletepin
        method: DELETE
        description: Unpin an object
        inputParameters:
        - name: requestId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-gateways
      path: /v1/gateways
      operations:
      - name: listgateways
        method: GET
        description: List gateways
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: creategateway
        method: POST
        description: Create gateway
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-account-usage
      path: /v1/account/usage
      operations:
      - name: getaccountusage
        method: GET
        description: Get account usage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: quicknode-rest
    description: REST adapter for QuickNode IPFS REST API.
    resources:
    - path: /v1/s3/put-object
      name: putobject
      operations:
      - method: POST
        name: putobject
        description: Upload and pin a file
        call: quicknode.putobject
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pinning
      name: listpins
      operations:
      - method: GET
        name: listpins
        description: List pinned objects
        call: quicknode.listpins
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pinning
      name: pinbycid
      operations:
      - method: POST
        name: pinbycid
        description: Pin an existing CID
        call: quicknode.pinbycid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pinning/{requestId}
      name: getpin
      operations:
      - method: GET
        name: getpin
        description: Get a pin by request id
        call: quicknode.getpin
        with:
          requestId: rest.requestId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pinning/{requestId}
      name: deletepin
      operations:
      - method: DELETE
        name: deletepin
        description: Unpin an object
        call: quicknode.deletepin
        with:
          requestId: rest.requestId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gateways
      name: listgateways
      operations:
      - method: GET
        name: listgateways
        description: List gateways
        call: quicknode.listgateways
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/gateways
      name: creategateway
      operations:
      - method: POST
        name: creategateway
        description: Create gateway
        call: quicknode.creategateway
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/account/usage
      name: getaccountusage
      operations:
      - method: GET
        name: getaccountusage
        description: Get account usage
        call: quicknode.getaccountusage
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: quicknode-mcp
    transport: http
    description: MCP adapter for QuickNode IPFS REST API for AI agent use.
    tools:
    - name: putobject
      description: Upload and pin a file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: quicknode.putobject
      outputParameters:
      - type: object
        mapping: $.
    - name: listpins
      description: List pinned objects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: quicknode.listpins
      outputParameters:
      - type: object
        mapping: $.
    - name: pinbycid
      description: Pin an existing CID
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: quicknode.pinbycid
      outputParameters:
      - type: object
        mapping: $.
    - name: getpin
      description: Get a pin by request id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: quicknode.getpin
      with:
        requestId: tools.requestId
      inputParameters:
      - name: requestId
        type: string
        description: requestId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletepin
      description: Unpin an object
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: quicknode.deletepin
      with:
        requestId: tools.requestId
      inputParameters:
      - name: requestId
        type: string
        description: requestId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listgateways
      description: List gateways
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: quicknode.listgateways
      outputParameters:
      - type: object
        mapping: $.
    - name: creategateway
      description: Create gateway
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: quicknode.creategateway
      outputParameters:
      - type: object
        mapping: $.
    - name: getaccountusage
      description: Get account usage
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: quicknode.getaccountusage
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    QUICKNODE_TOKEN: QUICKNODE_TOKEN