Beta Documentation: Pinion is in active development. This documentation reflects our current APIs and is updated regularly. Join our beta program to get started.
Get started with Pinion in three simple steps:
Sign in to your Dashboard and navigate to your profile settings to create an API token. Keep it secure!
Use curl for quick tests, or install an IPFS pinning service client library for your language of choice.
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"}'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.
All endpoints require authentication using a Bearer token.
Authorization: Bearer <API_TOKEN>
To create or manage API tokens, visit your Account Settings.
Retrieve a list of pinned or pinning requests.
| Name | Type | Description |
|---|---|---|
| cid | string | Filter by specific CID (exact match or comma-separated list) |
| name | string | Filter by user-defined pin name |
| status | string | Filter by pin status (queued, pinning, pinned, failed) |
| limit | integer | Maximum number of results to return |
| before | string | Return results created before this ISO 8601 timestamp |
| after | string | Return results created after this ISO 8601 timestamp |
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.
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: ./distThis integration enables fully automated, GitHub-native deployment of dApps and pinned assets with IPFS persistence.