Skip to content

REST reference ​

Every route answers under https://keepsake-gateway.onclick.workers.dev/api/v1 and needs a token, as Tokens and limits describes. This page is generated from the API's OpenAPI document, so it always matches what the API accepts.

List bookmarks, newest first

GET /bookmarks

Parameters

NameTypeRequiredNotes
cursorstring in queryno
limitinteger in queryno1 to 100; defaults to 50.
tagstring in queryno1 to 64 characters.
filterone of all, readLater, failed, dead in querynoDefaults to "all".

Answer

FieldTypeAlways presentNotes
itemsarray of objectyes
items[].idstringyes
items[].urlstringyes
items[].titlestringyes
items[].notesstringyes
items[].tagsarray of stringyes
items[].readLaterbooleanyes
items[].isPublicbooleanyes
items[].archiveStatusone of pending, ready, partial, failedyes
items[].archiveErrorstringyes
items[].linkStatusone of unknown, alive, redirected, deadyes
items[].excerptstringyes
items[].createdAtstringyesAn ISO 8601 timestamp in UTC.
items[].updatedAtstringyesAn ISO 8601 timestamp in UTC.
nextCursorstring or nullyes

Save a bookmark and archive its page

POST /bookmarks

Body

FieldTypeRequiredNotes
urlstringyes1 to 2048 characters.
titlestringno1 to 512 characters.
notesstringnoUp to 10000 characters.
tagsarray of stringnoUp to 32 items.
readLaterbooleannoDefaults to false.
isPublicbooleannoDefaults to false.
htmlstringnoThe page as the caller rendered it, archived instead of fetching the URL. 1 to 8388608 characters.

Answer

FieldTypeAlways presentNotes
idstringyes
urlstringyes
titlestringyes
notesstringyes
tagsarray of stringyes
readLaterbooleanyes
isPublicbooleanyes
archiveStatusone of pending, ready, partial, failedyes
archiveErrorstringyes
linkStatusone of unknown, alive, redirected, deadyes
excerptstringyes
createdAtstringyesAn ISO 8601 timestamp in UTC.
updatedAtstringyesAn ISO 8601 timestamp in UTC.

Read a bookmark

GET /bookmarks/{id}

Parameters

NameTypeRequiredNotes
idstring in pathyes

Answer

FieldTypeAlways presentNotes
idstringyes
urlstringyes
titlestringyes
notesstringyes
tagsarray of stringyes
readLaterbooleanyes
isPublicbooleanyes
archiveStatusone of pending, ready, partial, failedyes
archiveErrorstringyes
linkStatusone of unknown, alive, redirected, deadyes
excerptstringyes
createdAtstringyesAn ISO 8601 timestamp in UTC.
updatedAtstringyesAn ISO 8601 timestamp in UTC.

Edit a bookmark

PATCH /bookmarks/{id}

Parameters

NameTypeRequiredNotes
idstring in pathyes

Body

FieldTypeRequiredNotes
titlestringno1 to 512 characters.
notesstringnoUp to 10000 characters.
tagsarray of stringnoUp to 32 items.
readLaterbooleanno
isPublicbooleanno

Answer

FieldTypeAlways presentNotes
idstringyes
urlstringyes
titlestringyes
notesstringyes
tagsarray of stringyes
readLaterbooleanyes
isPublicbooleanyes
archiveStatusone of pending, ready, partial, failedyes
archiveErrorstringyes
linkStatusone of unknown, alive, redirected, deadyes
excerptstringyes
createdAtstringyesAn ISO 8601 timestamp in UTC.
updatedAtstringyesAn ISO 8601 timestamp in UTC.

Delete a bookmark and its archive

DELETE /bookmarks/{id}

Parameters

NameTypeRequiredNotes
idstring in pathyes

Answer

FieldTypeAlways presentNotes
successbooleanyes

Read a bookmark's archived text

GET /bookmarks/{id}/archive

Parameters

NameTypeRequiredNotes
idstring in pathyes

Answer

FieldTypeAlways presentNotes
titlestringyes
bylinestringyes
siteNamestringyes
wordCountintegeryes
markdownstringyes
pdfUrlstring or nullyes
capturedAtstringyesAn ISO 8601 timestamp in UTC.

List tags with their bookmark counts

GET /tags

Answer

FieldTypeAlways presentNotes
itemsarray of objectyes
items[].namestringyes
items[].countintegeryes

GET /search

Parameters

NameTypeRequiredNotes
qstring in queryyesUp to 256 characters.
limitinteger in queryno1 to 50; defaults to 20.
offsetinteger in queryno0 to 1000; defaults to 0.

Answer

FieldTypeAlways presentNotes
itemsarray of objectyes
items[].bookmarkobjectyes
items[].bookmark.idstringyes
items[].bookmark.urlstringyes
items[].bookmark.titlestringyes
items[].bookmark.notesstringyes
items[].bookmark.tagsarray of stringyes
items[].bookmark.readLaterbooleanyes
items[].bookmark.isPublicbooleanyes
items[].bookmark.archiveStatusone of pending, ready, partial, failedyes
items[].bookmark.archiveErrorstringyes
items[].bookmark.linkStatusone of unknown, alive, redirected, deadyes
items[].bookmark.excerptstringyes
items[].bookmark.createdAtstringyesAn ISO 8601 timestamp in UTC.
items[].bookmark.updatedAtstringyesAn ISO 8601 timestamp in UTC.
items[].snippetstringyes
nextOffsetinteger or nullyesThe offset of the next page, or null after the last one.