Collections REST API Reference#
Collections REST API Reference#
Collection management endpoints require authentication through an OIDC session
cookie or per-user API key. The public shared-token endpoint is the exception.
Base URL: https://ookcite-api.turtletech.us
Limits#
Plan |
Collections |
Entries/collection |
|---|---|---|
Free |
4 |
200 |
Academic |
10 |
1,000 |
Business |
20 |
4,000 |
Single-entry add, batch add, and BibTeX/RIS import are available to every signed-in plan up to its entry limit. Merge and batch move require an Academic or Business plan.
Collection CRUD#
Method |
Path |
Description |
|---|---|---|
GET |
/api/v1/collections |
List all collections (returns CollectionSummary[]) |
POST |
/api/v1/collections |
Create collection (body: |
GET |
/api/v1/collections/{id} |
Get full collection with entries |
PATCH |
/api/v1/collections/{id} |
Update name, defaultstyle, description |
DELETE |
/api/v1/collections/{id} |
Delete collection |
Entries#
Method |
Path |
Description |
|---|---|---|
POST |
/api/v1/collections/{id}/entries |
Add single entry (body: |
POST |
/api/v1/collections/{id}/entries/batch |
Add multiple entries (body: |
PATCH |
/api/v1/collections/{id}/entries/{eid} |
Update entry note, tags, or review status |
PUT |
/api/v1/collections/{id}/entries/{eid}/metadata |
Replace citation metadata |
POST |
/api/v1/collections/{id}/entries/{eid}/merge |
Merge metadata into an entry |
DELETE |
/api/v1/collections/{id}/entries/{eid} |
Remove entry |
PATCH |
/api/v1/collections/{id}/reorder |
Reorder entries (body: |
Organization#
Method |
Path |
Description |
|---|---|---|
PATCH |
/api/v1/collections/{id}/tags |
Set tags (body: |
POST |
/api/v1/collections/{id}/check-duplicates |
Check for duplicate entries (body: |
POST |
/api/v1/collections/batch-move |
Move entries between collections |
Import & Export#
Method |
Path |
Description |
|---|---|---|
POST |
/api/v1/collections/{id}/import |
Upload .bib or .ris file (multipart/form-data) |
GET |
/api/v1/collections/{id}/export.bib |
Download BibTeX with Better BibTeX keys |
Migration#
The collection merge endpoint requires an Academic or Business plan.
Method |
Path |
Description |
|---|---|---|
POST |
/api/v1/collections/merge |
Merge localStorage collections into server account |
Response Types#
CollectionSummary#
{
"id": "uuid",
"name": "My References",
"created_at": "2026-04-05T12:00:00Z",
"updated_at": "2026-04-05T14:30:00Z",
"entry_count": 42,
"tags": ["physics", "2026"],
"share_token": null
}
CollectionEntry#
{
"id": "uuid",
"added_at": "2026-04-05T12:00:00Z",
"metadata": { "...CitationMetadata..." },
"note": null,
"sort_order": 0,
"review_status": "clean"
}