Files
List files

List files

List uploads for the authenticated user. API endpoint: GET /users/me/uploads.

Scope required: files:read


Endpoint

MethodGET
URLhttps://api.pinarkive.com/api/v3/users/me/uploads

Headers: Authorization: Bearer YOUR_API_KEY or X-API-Key: YOUR_API_KEY

Query parameters: page (default 1), limit (default/max per plan), parentCid, hasExpiration=true (filter by expiration).


Request

cURL

curl -X GET "https://api.pinarkive.com/api/v3/users/me/uploads?page=1&limit=20" \
  -H "X-API-Key: YOUR_API_KEY"

JavaScript (fetch)

const response = await fetch(
  "https://api.pinarkive.com/api/v3/users/me/uploads?page=1&limit=20",
  {
    headers: { "X-API-Key": process.env.PINARKIVE_API_KEY },
  }
);
const data = await response.json();

JavaScript (axios)

const { data } = await axios.get(
  "https://api.pinarkive.com/api/v3/users/me/uploads",
  {
    params: { page: 1, limit: 20 },
    headers: { "X-API-Key": process.env.PINARKIVE_API_KEY },
  }
);

Python

import os
import requests
 
url = "https://api.pinarkive.com/api/v3/users/me/uploads"
params = {"page": 1, "limit": 20}
headers = {"X-API-Key": os.environ["PINARKIVE_API_KEY"]}
r = requests.get(url, headers=headers, params=params)
r.raise_for_status()
print(r.json())

Go

package main
 
import (
	"net/http"
	"os"
)
 
func main() {
	url := "https://api.pinarkive.com/api/v3/users/me/uploads?page=1&limit=20"
	apiKey := os.Getenv("PINARKIVE_API_KEY")
	req, _ := http.NewRequest("GET", url, nil)
	req.Header.Set("X-API-Key", apiKey)
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}

PHP

<?php
$url = 'https://api.pinarkive.com/api/v3/users/me/uploads?page=1&limit=20';
$apiKey = getenv('PINARKIVE_API_KEY');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: ' . $apiKey]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);

Response

Success (200)

{
  "uploads": [
    {
      "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
      "clusterId": "cl0-global",
      "expiresAt": "2026-12-31T23:59:59.000Z",
      "createdAt": "2026-03-09T10:00:00.000Z"
    }
  ],
  "total": 1
}

Each item includes clusterId (needed for Delete file).

Error (4xx / 5xx)

{
  "error": "Unauthorized",
  "message": "Invalid or missing API key",
  "code": "INVALID_API_KEY"
}

Common codes: 401, 403 (code: missing_scope, required), 429 (rate limit). See Error handling.