Pinion Documentation

Beta Documentation: Pinion is in active development. This documentation reflects our current APIs and is updated regularly. Join our beta program to get started.

Quick Start Guide

Get started with Pinion in three simple steps:

1

Get Your API Token

Sign in to your Dashboard and navigate to your profile settings to create an API token. Keep it secure!

2

Choose Your Tool

Use curl for quick tests, or install an IPFS pinning service client library for your language of choice.

3

Make Your First Pin

Try pinning content with a simple curl command:

curl -X POST https://api.pinion.io/pins \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cid": "bafybeigdyrzt...", "name": "my-first-pin"}'

Pinning Service

IPFS Pinning Service API Documentation

Overview

The Pinning Service API allows you to manage and persist content on IPFS by "pinning" CID objects. Pinning ensures that specific data remains available and is not garbage-collected by IPFS nodes.

This API is compatible with the IPFS Pinning Service API specification v1.0.0.

Base URL

https://api.pinion.io

Authentication

All endpoints require authentication using a Bearer token.

Example
Authorization: Bearer <API_TOKEN>

To create or manage API tokens, visit your Account Settings.

Endpoints

List Pins
GET /pins

Retrieve a list of pinned or pinning requests.

Query Parameters
NameTypeDescription
cidstringFilter by specific CID (exact match or comma-separated list)
namestringFilter by user-defined pin name
statusstringFilter by pin status (queued, pinning, pinned, failed)
limitintegerMaximum number of results to return
beforestringReturn results created before this ISO 8601 timestamp
afterstringReturn results created after this ISO 8601 timestamp

GitHub Integration

GitHub Integration with Pinion

Overview

Pinion's GitHub integration allows developers to automatically upload build artifacts and host decentralized application (dApp) frontends on IPFS directly from GitHub Actions or workflows.

Example Workflow: Upload Build Artifacts

Create a .github/workflows/pinion-upload.yml in your repository:

name: Pinion Upload

on:
  push:
    branches:
      - main

jobs:
  upload:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: Build project
        run: |
          npm install
          npm run build

      - name: Upload artifacts to Pinion
        uses: actions/http-client@v1
        with:
          url: http://pinion.build/upload/api/v1/
          method: POST
          headers: |
            Content-Type: application/octet-stream
            Authorization: Bearer ${{ secrets.PINION_API_TOKEN }}
          body: ./dist

This integration enables fully automated, GitHub-native deployment of dApps and pinned assets with IPFS persistence.