Oskar Stark

Paperless-ngx

Officev1.0.0
By Oskar StarkUpdated 2026-05-11paperless-ngx@clawhub_oskarstark/paperless-ngx
Documents#Rest Api#Document

According to AlphaMoat, as of 2026-09, Paperless-ngx has 3,992 downloads and 4 stars — ranked #2,568 of 5,078 AI skills overall, and #210 of 435 in Office.

Installs
122
Downloads
4.0K
Stars
4
Overall Rank
#2,568
Top 51% overall · Top 49% in Office
PlatformInstallsDownloadsStarsComments
ClawHub ↗1224.0K4-
SkillHub ↗1213.7K4—

Platforms count differently and update at different times.

What this skill does

The guide also gives request examples for metadata updates, bulk edits, and deletion, and requires the service URL and API token as environment variables. Deletion, reprocessing, or bulk changes may affect multiple documents; list exact document IDs and obtain explicit confirmation before acting, and use the narrowest available API token.

Profile published 2026-10-29

What you can do with it

  • Search for or download archived documents
  • Plan an upload with title, tags, or document type
  • Review the target scope for bulk metadata changes or deletion

When to use it

  • When the user authorizes access to a Paperless-ngx instance and explicitly confirms the target documents and requested operation

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Plan document-search filters without accessing the instance.
Before a bulk change, list the exact document IDs, proposed edits, and required confirmation.

Monthly Trend

Downloads4.0K
2.4K3.2K4.1K2026-03 · Downloads 2.5K2026-05 · Downloads 3.0K2026-06 · Downloads 3.2K2026-07 · Downloads 3.6K2026-08 · Downloads 3.8K2026-09 · Downloads 4.0K26-0326-09
Stars4
3452026-03 · Stars 42026-05 · Stars 42026-06 · Stars 42026-07 · Stars 42026-08 · Stars 42026-09 · Stars 426-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-094.0K—4
2026-083.8K+7.2%4
2026-073.6K+11.4%4
2026-063.2K+5.7%4
2026-053.0K—4
2026-032.5K—4

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

3.9 KB · ClawHub v1.0.0
---
name: paperless-ngx
description: Interact with Paperless-ngx document management system via REST API. Use when users want to search, upload, download, organize documents, manage tags, correspondents, or document types in their Paperless-ngx instance.
---

# Paperless-ngx Skill

Manage documents in Paperless-ngx via its REST API using HTTP requests.

## Configuration
Show all (154 lines)

Requires environment variables:
- `PAPERLESS_URL`: Base URL (e.g., `https://paperless.example.com`)
- `PAPERLESS_TOKEN`: API token from Paperless-ngx settings

## Authentication

Include token in all requests:
```
Authorization: Token $PAPERLESS_TOKEN
```

## Core Operations

### Search Documents

```bash
curl -s "$PAPERLESS_URL/api/documents/?query=invoice" \
  -H "Authorization: Token $PAPERLESS_TOKEN"
```

Filter options: `correspondent__id`, `document_type__id`, `tags__id__in`, `created__date__gte`, `created__date__lte`, `added__date__gte`.

### Get Document Details

```bash
curl -s "$PAPERLESS_URL/api/documents/{id}/" \
  -H "Authorization: Token $PAPERLESS_TOKEN"
```

### Download Document

```bash
# Original file
curl -s "$PAPERLESS_URL/api/documents/{id}/download/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" -o document.pdf

# Archived (OCR'd) version
curl -s "$PAPERLESS_URL/api/documents/{id}/download/?original=false" \
  -H "Authorization: Token $PAPERLESS_TOKEN" -o document.pdf
```

### Upload Document

```bash
curl -s "$PAPERLESS_URL/api/documents/post_document/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" \
  -F "document=@/path/to/file.pdf" \
  -F "title=Document Title" \
  -F "correspondent=1" \
  -F "document_type=2" \
  -F "tags=3" \
  -F "tags=4"
```

Optional fields: `title`, `created`, `correspondent`, `document_type`, `storage_path`, `tags` (repeatable), `archive_serial_number`, `custom_fields`.

### Update Document Metadata

```bash
curl -s -X PATCH "$PAPERLESS_URL/api/documents/{id}/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "New Title", "correspondent": 1, "tags": [1, 2]}'
```

### Delete Document

```bash
curl -s -X DELETE "$PAPERLESS_URL/api/documents/{id}/" \
  -H "Authorization: Token $PAPERLESS_TOKEN"
```

## Organization Endpoints

### Tags

```bash
# List tags
curl -s "$PAPERLESS_URL/api/tags/" -H "Authorization: Token $PAPERLESS_TOKEN"

# Create tag
curl -s -X POST "$PAPERLESS_URL/api/tags/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Important", "color": "#ff0000"}'
```

### Correspondents

```bash
# List correspondents
curl -s "$PAPERLESS_URL/api/correspondents/" -H "Authorization: Token $PAPERLESS_TOKEN"

# Create correspondent
curl -s -X POST "$PAPERLESS_URL/api/correspondents/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "ACME Corp"}'
```

### Document Types

```bash
# List document types
curl -s "$PAPERLESS_URL/api/document_types/" -H "Authorization: Token $PAPERLESS_TOKEN"

# Create document type
curl -s -X POST "$PAPERLESS_URL/api/document_types/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Invoice"}'
```

## Bulk Operations

```bash
curl -s -X POST "$PAPERLESS_URL/api/documents/bulk_edit/" \
  -H "Authorization: Token $PAPERLESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "documents": [1, 2, 3],
    "method": "add_tag",
    "parameters": {"tag": 5}
  }'
```

Methods: `set_correspondent`, `set_document_type`, `add_tag`, `remove_tag`, `delete`, `reprocess`.

## Task Status

After upload, check task status:
```bash
curl -s "$PAPERLESS_URL/api/tasks/?task_id={uuid}" \
  -H "Authorization: Token $PAPERLESS_TOKEN"
```

## Response Handling

- List endpoints return `{"count": N, "results": [...]}` with pagination
- Single objects return the object directly
- Use `?page=2` for pagination
- Add `?ordering=-created` for sorting (prefix `-` for descending)

Popular in Office

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.