Filebase Pinning API

Pin and unpin IPFS objects

OpenAPI Specification

filebase-pinning-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Filebase IPFS Service Buckets Pinning API
  description: The Filebase IPFS Pinning Service API implements the vendor-neutral IPFS Pinning Service specification. Per-bucket Bearer tokens authenticate requests to list, add, retrieve, replace, and delete pinned objects by CID. Supports metadata tagging and filtering by CID, name, status, and timestamps. Compatible with IPFS Desktop, the IPFS CLI, and any third-party tool supporting the pinning service standard. Rate limit is 100 requests per second.
  version: '1.0'
  contact:
    name: Filebase Support
    url: https://filebase.com/
    email: support@filebase.com
  termsOfService: https://filebase.com/terms/
  license:
    name: Proprietary
    url: https://filebase.com/terms/
servers:
- url: https://api.filebase.io/v1/ipfs
  description: Filebase IPFS Pinning Service API
security:
- BearerAuth: []
tags:
- name: Pinning
  description: Pin and unpin IPFS objects
paths:
  /api/v0/pin/add:
    post:
      operationId: pinAdd
      summary: Pin an object
      description: Pin objects to local storage by CID.
      tags:
      - Pinning
      parameters:
      - name: arg
        in: query
        required: true
        description: Path to object(s) to be pinned
        schema:
          type: string
      - name: recursive
        in: query
        description: Recursively pin the object linked to by the specified object(s)
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Pinned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PinAddResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/v0/pin/rm:
    post:
      operationId: pinRemove
      summary: Remove pinned objects
      description: Remove pinned objects from local storage.
      tags:
      - Pinning
      parameters:
      - name: arg
        in: query
        required: true
        description: Path to object(s) to be unpinned
        schema:
          type: string
      - name: recursive
        in: query
        description: Recursively unpin the object linked to by the specified object(s)
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Unpinned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PinRmResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /api/v0/pin/ls:
    post:
      operationId: pinList
      summary: List pinned objects
      description: List objects pinned to local storage.
      tags:
      - Pinning
      parameters:
      - name: arg
        in: query
        description: Path to object(s) to be listed
        schema:
          type: string
      - name: type
        in: query
        description: The type of pinned keys to list
        schema:
          type: string
          enum:
          - direct
          - indirect
          - recursive
          - all
          default: all
      - name: quiet
        in: query
        description: Write just hashes of objects
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: List of pinned objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PinLsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    PinAddResponse:
      type: object
      properties:
        Pins:
          type: array
          items:
            type: string
          description: List of pinned CIDs
    PinLsResponse:
      type: object
      properties:
        Keys:
          type: object
          additionalProperties:
            type: object
            properties:
              Type:
                type: string
                enum:
                - direct
                - indirect
                - recursive
    PinRmResponse:
      type: object
      properties:
        Pins:
          type: array
          items:
            type: string
          description: List of unpinned CIDs
    Error:
      type: object
      properties:
        Message:
          type: string
          description: Error message
        Code:
          type: integer
          description: Error code
        Type:
          type: string
          description: Error type
  responses:
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized; Bearer token missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Per-bucket Bearer token for authentication
externalDocs:
  description: Filebase IPFS Pinning Service API Documentation
  url: https://filebase.com/docs/ipfs/pinning-service-api