✨ Feature Request: API Access to Retrieve Private Markdown Documents Securely
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reviewing the existing account settings and authentication entry points, then inspect how documents and permissions are exposed in the application. Define the token-management flow and the two proposed endpoints, including the Markdown versus ProseMirror/BlockNote JSON response choice. Done means securely generated tokens, permission-scoped document access, and documented curl examples for listing and retrieving documents.
Written by the indexing model from the issue text.
Description
Title: Feature Request: Simple Token-Based API Access for Private Documents (Initial Phase)
Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
Currently, users cannot programmatically retrieve their private documents from Docs without manual intervention. This prevents automation of workflows like backups, content integration, or syncing with external tools while keeping documents private.
Describe the solution you'd like
A minimal, secure API to retrieve documents privately, inspired by Grist’s simplicity:
-
Token Generation:
- Users can generate a personal API token in their account settings (e.g., under "API Tokens" or "Integrations").
- Example UI: A button to "Generate new token" with a clear warning about token security.
-
Endpoints:
-
List Documents:
GET /api/documentsReturns a simple JSON list of documents the user has access to, with metadata (e.g.,
id,title,last_modified). -
Get Document Content:
GET /api/documents/{document_id}Returns the document’s content in Markdown (or raw JSON/HTML if Markdown conversion is complex).
-
-
Authentication:
- Token sent via
Authorization: Bearer {token}header. - Tokens inherit the user’s permissions (e.g., only documents they can view are accessible).
- Token sent via
Drawbacks:
- Minimal filtering/pagination for
/api/documentsinitially (can be improved later). - No support for bulk exports or formats like PDF in this phase.
Describe alternatives you've considered
- Manual UI Exports: Not scalable for automation.
- Web Scraping: Fragile and insecure.
- Complex API Design: Overkill for initial use cases. A minimal MVP aligns better with user needs.
Discovery, Documentation, Adoption, Migration Strategy
-
Discovery: Users find the token generator in their profile/account settings.
-
Documentation Example:
### Retrieve Documents via API (Beta) 1. **Generate a token**: Go to **Account Settings → API Tokens → Generate Token**. 2. **List your documents**: ```bash curl -H "Authorization: Bearer YOUR_TOKEN" https://{instance}/api/documents- Get a document:
curl -H "Authorization: Bearer YOUR_TOKEN" https://{instance}/api/documents/DOCUMENT_ID
- Get a document:
-
Adoption: Announce this as a beta feature for developers/automation enthusiasts.
-
Security Note: Advise users to store tokens securely and rotate them periodically.
Do you want to work on it through a Pull Request?
Yes, I’d like to collaborate on this after aligning with maintainers on:
- Token storage/management implementation (e.g., Django REST Framework Token).
- Preferred response format (Markdown vs. existing Prosemirror/BlockNote JSON).
- Dominant language
- Python
- Stars
- 16.8k
- Forks
- 638
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 40
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from suitenumerique/docs
-
backend performance
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
suitenumerique/docs#2656 · 1 comment ·
-
✏️ Needs design frontend good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
suitenumerique/docs#2612 · 2 comments ·
-
backend
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
suitenumerique/docs#2589 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
suitenumerique/docs#2541 ·
-
backend enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
suitenumerique/docs#2216 ·
All issues in suitenumerique/docs
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100