3601 lines
38 KiB
Markdown
3601 lines
38 KiB
Markdown
---
|
||
created: 2026-04-01T10:04:33 (UTC +02:00)
|
||
tags: []
|
||
source: https://rss.jaandrle.cz/api-documentation/
|
||
---
|
||
|
||
# CommaFeed API (OpenAPI UI, powered by Quarkus 3.31.4)
|
||
|
||
---
|
||
### [Admin](https://rss.jaandrle.cz/api-documentation/#/Admin)
|
||
|
||
GET/rest/admin/metrics
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/admin/user/delete
|
||
|
||
Delete a user, and all his subscriptions
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/admin/user/get/{id}
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
id \*
|
||
|
||
integer($int64)
|
||
|
||
(path)
|
||
|
||
|
|
||
|
||
user id
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"email": "string",
|
||
"apiKey": "string",
|
||
"password": "string",
|
||
"enabled": true,
|
||
"created": "string",
|
||
"lastLogin": "string",
|
||
"admin": true,
|
||
"lastForceRefresh": "string"
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/admin/user/getAll
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
[
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"email": "string",
|
||
"apiKey": "string",
|
||
"password": "string",
|
||
"enabled": true,
|
||
"created": "string",
|
||
"lastLogin": "string",
|
||
"admin": true,
|
||
"lastForceRefresh": "string"
|
||
}
|
||
]
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/admin/user/save
|
||
|
||
Save or update a user. If the id is not specified, a new user will be created
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"email": "string",
|
||
"password": "string",
|
||
"enabled": true,
|
||
"admin": true
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
### [Feed categories](https://rss.jaandrle.cz/api-documentation/#/Feed%20categories)
|
||
|
||
POST/rest/category/add
|
||
|
||
```
|
||
{
|
||
"name": "string",
|
||
"parentId": "string"
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
0
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/category/collapse
|
||
|
||
Save collapsed or expanded status for a category
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"collapse": true
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/category/delete
|
||
|
||
Delete an existing feed category
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/category/entries
|
||
|
||
Get a list of category entries
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
excludedSubscriptionIds
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
comma-separated list of excluded subscription ids
|
||
|
||
|
|
||
|
|
||
|
||
id \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
id of the category, 'all' or 'starred'
|
||
|
||
|
|
||
|
|
||
|
||
keywords
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
search for keywords in either the title or the content of the entries, separated by spaces
|
||
|
||
|
|
||
|
|
||
|
||
limit
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
limit for paging, default 20, maximum 1000
|
||
|
||
_Default value_ : 20
|
||
|
||
|
|
||
|
|
||
|
||
newerThan
|
||
|
||
integer($int64)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
only entries newer than this
|
||
|
||
|
|
||
|
|
||
|
||
offset
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
offset for paging
|
||
|
||
_Default value_ : 0
|
||
|
||
|
|
||
|
|
||
|
||
order
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
ordering
|
||
|
||
_Available values_ : asc, desc
|
||
|
||
_Default value_ : desc
|
||
|
||
|
|
||
|
|
||
|
||
readType \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
all entries or only unread ones
|
||
|
||
_Available values_ : all, unread
|
||
|
||
_Default value_ : unread
|
||
|
||
|
|
||
|
|
||
|
||
tag
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
keep only entries tagged with this tag
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"name": "string",
|
||
"message": "string",
|
||
"errorCount": 0,
|
||
"feedLink": "string",
|
||
"timestamp": 0,
|
||
"hasMore": true,
|
||
"offset": 0,
|
||
"limit": 0,
|
||
"entries": [
|
||
{
|
||
"id": "string",
|
||
"guid": "string",
|
||
"title": "string",
|
||
"content": "string",
|
||
"categories": "string",
|
||
"rtl": true,
|
||
"author": "string",
|
||
"enclosureUrl": "string",
|
||
"enclosureType": "string",
|
||
"mediaDescription": "string",
|
||
"mediaThumbnailUrl": "string",
|
||
"mediaThumbnailWidth": 0,
|
||
"mediaThumbnailHeight": 0,
|
||
"date": "string",
|
||
"insertedDate": "string",
|
||
"feedId": "string",
|
||
"feedName": "string",
|
||
"feedUrl": "string",
|
||
"feedLink": "string",
|
||
"iconUrl": "string",
|
||
"url": "string",
|
||
"read": true,
|
||
"starred": true,
|
||
"markable": true,
|
||
"tags": [
|
||
"string"
|
||
]
|
||
}
|
||
],
|
||
"ignoredReadStatus": true
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 404 |
|
||
|
||
category not found
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/category/entriesAsFeed
|
||
|
||
Get a feed of category entries
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
excludedSubscriptionIds
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
comma-separated list of excluded subscription ids
|
||
|
||
|
|
||
|
|
||
|
||
id \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
id of the category, 'all' or 'starred'
|
||
|
||
|
|
||
|
|
||
|
||
keywords
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
search for keywords in either the title or the content of the entries, separated by spaces
|
||
|
||
|
|
||
|
|
||
|
||
limit
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
limit for paging, default 20, maximum 1000
|
||
|
||
_Default value_ : 20
|
||
|
||
|
|
||
|
|
||
|
||
newerThan
|
||
|
||
integer($int64)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
only entries newer than this
|
||
|
||
|
|
||
|
|
||
|
||
offset
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
offset for paging
|
||
|
||
_Default value_ : 0
|
||
|
||
|
|
||
|
|
||
|
||
order
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
date ordering
|
||
|
||
_Available values_ : asc, desc
|
||
|
||
_Default value_ : desc
|
||
|
||
|
|
||
|
|
||
|
||
readType \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
all entries or only unread ones
|
||
|
||
_Available values_ : all, unread
|
||
|
||
_Default value_ : all
|
||
|
||
|
|
||
|
|
||
|
||
tag
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
keep only entries tagged with this tag
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/category/get
|
||
|
||
Get all categories and subscriptions of the user
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"id": "string",
|
||
"parentId": "string",
|
||
"parentName": "string",
|
||
"name": "string",
|
||
"children": [
|
||
"string"
|
||
],
|
||
"feeds": [
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"message": "string",
|
||
"errorCount": 0,
|
||
"lastRefresh": "string",
|
||
"nextRefresh": "string",
|
||
"feedUrl": "string",
|
||
"feedLink": "string",
|
||
"iconUrl": "string",
|
||
"unread": 0,
|
||
"categoryId": "string",
|
||
"position": 0,
|
||
"newestItemTime": "string",
|
||
"filter": "string",
|
||
"filterLegacy": "string",
|
||
"pushNotificationsEnabled": true,
|
||
"autoMarkAsReadAfterDays": 0
|
||
}
|
||
],
|
||
"expanded": true,
|
||
"position": 0
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/category/mark
|
||
|
||
Mark feed entries of this category as read
|
||
|
||
```
|
||
{
|
||
"id": "string",
|
||
"read": true,
|
||
"olderThan": 0,
|
||
"insertedBefore": 0,
|
||
"keywords": "string",
|
||
"excludedSubscriptions": [
|
||
0
|
||
]
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/category/modify
|
||
|
||
Modify an existing feed category
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"parentId": "string",
|
||
"position": 0
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/category/unreadCount
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
[
|
||
{
|
||
"feedId": 0,
|
||
"unreadCount": 0,
|
||
"newestItemTime": "string"
|
||
}
|
||
]
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
### [Feed entries](https://rss.jaandrle.cz/api-documentation/#/Feed%20entries)
|
||
|
||
POST/rest/entry/mark
|
||
|
||
Mark a feed entry as read/unread
|
||
|
||
```
|
||
{
|
||
"id": "string",
|
||
"read": true,
|
||
"olderThan": 0,
|
||
"insertedBefore": 0,
|
||
"keywords": "string",
|
||
"excludedSubscriptions": [
|
||
0
|
||
]
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/entry/markMultiple
|
||
|
||
Mark feed entries as read/unread
|
||
|
||
```
|
||
{
|
||
"requests": [
|
||
{
|
||
"id": "string",
|
||
"read": true,
|
||
"olderThan": 0,
|
||
"insertedBefore": 0,
|
||
"keywords": "string",
|
||
"excludedSubscriptions": [
|
||
0
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/entry/star
|
||
|
||
Mark a feed entry as read/unread
|
||
|
||
```
|
||
{
|
||
"id": "string",
|
||
"feedId": 0,
|
||
"starred": true
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/entry/tag
|
||
|
||
```
|
||
{
|
||
"entryId": 0,
|
||
"tags": [
|
||
"string"
|
||
]
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/entry/tags
|
||
|
||
Get list of tags for the user
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
### [Feeds](https://rss.jaandrle.cz/api-documentation/#/Feeds)
|
||
|
||
GET/rest/feed/entries
|
||
|
||
Get a list of feed entries
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
id \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
id of the feed
|
||
|
||
|
|
||
|
|
||
|
||
keywords
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
search for keywords in either the title or the content of the entries, separated by spaces
|
||
|
||
|
|
||
|
|
||
|
||
limit
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
limit for paging, default 20, maximum 1000
|
||
|
||
_Default value_ : 20
|
||
|
||
|
|
||
|
|
||
|
||
newerThan
|
||
|
||
integer($int64)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
only entries newer than this
|
||
|
||
|
|
||
|
|
||
|
||
offset
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
offset for paging
|
||
|
||
_Default value_ : 0
|
||
|
||
|
|
||
|
|
||
|
||
order
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
ordering
|
||
|
||
_Available values_ : asc, desc
|
||
|
||
_Default value_ : desc
|
||
|
||
|
|
||
|
|
||
|
||
readType \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
all entries or only unread ones
|
||
|
||
_Available values_ : all, unread
|
||
|
||
_Default value_ : unread
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"name": "string",
|
||
"message": "string",
|
||
"errorCount": 0,
|
||
"feedLink": "string",
|
||
"timestamp": 0,
|
||
"hasMore": true,
|
||
"offset": 0,
|
||
"limit": 0,
|
||
"entries": [
|
||
{
|
||
"id": "string",
|
||
"guid": "string",
|
||
"title": "string",
|
||
"content": "string",
|
||
"categories": "string",
|
||
"rtl": true,
|
||
"author": "string",
|
||
"enclosureUrl": "string",
|
||
"enclosureType": "string",
|
||
"mediaDescription": "string",
|
||
"mediaThumbnailUrl": "string",
|
||
"mediaThumbnailWidth": 0,
|
||
"mediaThumbnailHeight": 0,
|
||
"date": "string",
|
||
"insertedDate": "string",
|
||
"feedId": "string",
|
||
"feedName": "string",
|
||
"feedUrl": "string",
|
||
"feedLink": "string",
|
||
"iconUrl": "string",
|
||
"url": "string",
|
||
"read": true,
|
||
"starred": true,
|
||
"markable": true,
|
||
"tags": [
|
||
"string"
|
||
]
|
||
}
|
||
],
|
||
"ignoredReadStatus": true
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 404 |
|
||
|
||
feed not found
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/feed/entriesAsFeed
|
||
|
||
Get a feed of feed entries
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
id \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
id of the feed
|
||
|
||
|
|
||
|
|
||
|
||
keywords
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
search for keywords in either the title or the content of the entries, separated by spaces
|
||
|
||
|
|
||
|
|
||
|
||
limit
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
limit for paging, default 20, maximum 1000
|
||
|
||
_Default value_ : 20
|
||
|
||
|
|
||
|
|
||
|
||
newerThan
|
||
|
||
integer($int64)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
only entries newer than this
|
||
|
||
|
|
||
|
|
||
|
||
offset
|
||
|
||
integer($int32)
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
offset for paging
|
||
|
||
_Default value_ : 0
|
||
|
||
|
|
||
|
|
||
|
||
order
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
date ordering
|
||
|
||
_Available values_ : asc, desc
|
||
|
||
_Default value_ : desc
|
||
|
||
|
|
||
|
|
||
|
||
readType \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
all entries or only unread ones
|
||
|
||
_Available values_ : all, unread
|
||
|
||
_Default value_ : all
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/feed/export
|
||
|
||
Export an OPML file of the user's subscriptions
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/feed/favicon/{id}
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
id \*
|
||
|
||
integer($int64)
|
||
|
||
(path)
|
||
|
||
|
|
||
|
||
subscription id
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/feed/fetch
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"url": "string",
|
||
"title": "string"
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 404 |
|
||
|
||
feed not found
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/feed/get/{id}
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
id \*
|
||
|
||
integer($int64)
|
||
|
||
(path)
|
||
|
||
|
|
||
|
||
user id
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"message": "string",
|
||
"errorCount": 0,
|
||
"lastRefresh": "string",
|
||
"nextRefresh": "string",
|
||
"feedUrl": "string",
|
||
"feedLink": "string",
|
||
"iconUrl": "string",
|
||
"unread": 0,
|
||
"categoryId": "string",
|
||
"position": 0,
|
||
"newestItemTime": "string",
|
||
"filter": "string",
|
||
"filterLegacy": "string",
|
||
"pushNotificationsEnabled": true,
|
||
"autoMarkAsReadAfterDays": 0
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 404 |
|
||
|
||
feed not found
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/feed/import
|
||
|
||
Import an OPML file, posted as a FORM with the 'file' name
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/feed/mark
|
||
|
||
Mark feed entries as read (unread is not supported)
|
||
|
||
```
|
||
{
|
||
"id": "string",
|
||
"read": true,
|
||
"olderThan": 0,
|
||
"insertedBefore": 0,
|
||
"keywords": "string",
|
||
"excludedSubscriptions": [
|
||
0
|
||
]
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/feed/modify
|
||
|
||
Modify a feed subscription
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"categoryId": "string",
|
||
"position": 0,
|
||
"filter": "string",
|
||
"pushNotificationsEnabled": true,
|
||
"autoMarkAsReadAfterDays": 0
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/feed/refreshAll
|
||
|
||
Manually add all feeds of the user to the refresh queue
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/feed/subscribe
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
url \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
feed url
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/feed/subscribe
|
||
|
||
```
|
||
{
|
||
"url": "string",
|
||
"title": "string",
|
||
"categoryId": "string"
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
0
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/feed/unsubscribe
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
### [Server](https://rss.jaandrle.cz/api-documentation/#/Server)
|
||
|
||
GET/rest/server/get
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"announcement": "string",
|
||
"version": "string",
|
||
"gitCommit": "string",
|
||
"allowRegistrations": true,
|
||
"emailAddressRequired": true,
|
||
"smtpEnabled": true,
|
||
"demoAccountEnabled": true,
|
||
"websocketEnabled": true,
|
||
"websocketPingInterval": 0,
|
||
"treeReloadInterval": 0,
|
||
"forceRefreshCooldownDuration": 0,
|
||
"initialSetupRequired": true,
|
||
"minimumPasswordLength": 0,
|
||
"pushNotificationsEnabled": true
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/server/proxy
|
||
|
||
| Name | Description |
|
||
| --- | --- |
|
||
|
|
||
u \*
|
||
|
||
string
|
||
|
||
(query)
|
||
|
||
|
|
||
|
||
image url
|
||
|
||
|
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
### [Users](https://rss.jaandrle.cz/api-documentation/#/Users)
|
||
|
||
POST/rest/user/initialSetup
|
||
|
||
This endpoint is only available when no users exist in the database
|
||
|
||
```
|
||
{
|
||
"name": "string",
|
||
"password": "string",
|
||
"email": "string"
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/passwordReset
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/passwordResetCallback
|
||
|
||
```
|
||
{
|
||
"email": "string",
|
||
"token": "string",
|
||
"password": "string"
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/profile
|
||
|
||
```
|
||
{
|
||
"currentPassword": "string",
|
||
"email": "string",
|
||
"newPassword": "string",
|
||
"newApiKey": true
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/user/profile
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"id": 0,
|
||
"name": "string",
|
||
"email": "string",
|
||
"apiKey": "string",
|
||
"password": "string",
|
||
"enabled": true,
|
||
"created": "string",
|
||
"lastLogin": "string",
|
||
"admin": true,
|
||
"lastForceRefresh": "string"
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/profile/deleteAccount
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/pushNotificationTest
|
||
|
||
```
|
||
{
|
||
"type": "ntfy",
|
||
"serverUrl": "string",
|
||
"userId": "string",
|
||
"userSecret": "string",
|
||
"topic": "string"
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/register
|
||
|
||
```
|
||
{
|
||
"name": "string",
|
||
"password": "string",
|
||
"email": "string"
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
POST/rest/user/settings
|
||
|
||
```
|
||
{
|
||
"language": "string",
|
||
"readingMode": "all",
|
||
"readingOrder": "asc",
|
||
"showRead": true,
|
||
"scrollMarks": true,
|
||
"customCss": "string",
|
||
"customJs": "string",
|
||
"scrollSpeed": 0,
|
||
"scrollMode": "always",
|
||
"entriesToKeepOnTopWhenScrolling": 0,
|
||
"starIconDisplayMode": "always",
|
||
"externalLinkIconDisplayMode": "always",
|
||
"markAllAsReadConfirmation": true,
|
||
"markAllAsReadNavigateToNextUnread": true,
|
||
"customContextMenu": true,
|
||
"mobileFooter": true,
|
||
"unreadCountTitle": true,
|
||
"unreadCountFavicon": true,
|
||
"disablePullToRefresh": true,
|
||
"primaryColor": "string",
|
||
"sharingSettings": {
|
||
"email": true,
|
||
"gmail": true,
|
||
"facebook": true,
|
||
"twitter": true,
|
||
"tumblr": true,
|
||
"pocket": true,
|
||
"instapaper": true,
|
||
"buffer": true
|
||
},
|
||
"pushNotificationSettings": {
|
||
"type": "ntfy",
|
||
"serverUrl": "string",
|
||
"userId": "string",
|
||
"userSecret": "string",
|
||
"topic": "string"
|
||
}
|
||
}
|
||
```
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
"string"
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 400 |
|
||
|
||
Bad Request
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
GET/rest/user/settings
|
||
|
||
| Code | Description | Links |
|
||
| --- | --- | --- |
|
||
| 200 |
|
||
OK
|
||
|
||
Media type
|
||
|
||
Controls `Accept` header.
|
||
|
||
```
|
||
{
|
||
"language": "string",
|
||
"readingMode": "all",
|
||
"readingOrder": "asc",
|
||
"showRead": true,
|
||
"scrollMarks": true,
|
||
"customCss": "string",
|
||
"customJs": "string",
|
||
"scrollSpeed": 0,
|
||
"scrollMode": "always",
|
||
"entriesToKeepOnTopWhenScrolling": 0,
|
||
"starIconDisplayMode": "always",
|
||
"externalLinkIconDisplayMode": "always",
|
||
"markAllAsReadConfirmation": true,
|
||
"markAllAsReadNavigateToNextUnread": true,
|
||
"customContextMenu": true,
|
||
"mobileFooter": true,
|
||
"unreadCountTitle": true,
|
||
"unreadCountFavicon": true,
|
||
"disablePullToRefresh": true,
|
||
"primaryColor": "string",
|
||
"sharingSettings": {
|
||
"email": true,
|
||
"gmail": true,
|
||
"facebook": true,
|
||
"twitter": true,
|
||
"tumblr": true,
|
||
"pocket": true,
|
||
"instapaper": true,
|
||
"buffer": true
|
||
},
|
||
"pushNotificationSettings": {
|
||
"type": "ntfy",
|
||
"serverUrl": "string",
|
||
"userId": "string",
|
||
"userSecret": "string",
|
||
"topic": "string"
|
||
}
|
||
}
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 401 |
|
||
|
||
Not Authorized
|
||
|
||
|
||
|
||
| _No links_ |
|
||
| 403 |
|
||
|
||
Not Allowed
|
||
|
||
|
||
|
||
| _No links_ |
|
||
|
||
#### Schemas
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 128\] characters
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
parent category id, if any
|
||
|
||
|
||
**object**
|
||
|
||
- **integer**int64
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **boolean**
|
||
|
||
- **boolean**
|
||
|
||
|
||
**object**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **array<any>**
|
||
|
||
category children categories
|
||
|
||
**any**
|
||
|
||
$refhttps://rss.jaandrle.cz/openapi#/components/schemas/Category
|
||
|
||
- **array<object>**
|
||
|
||
**object**
|
||
|
||
- **integer**int64
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
error message while fetching the feed
|
||
|
||
- **integer**int32
|
||
|
||
- **any**
|
||
|
||
last time the feed was refreshed
|
||
|
||
- **any**
|
||
|
||
next time the feed refresh is planned, null if refresh is already queued
|
||
|
||
- **string**
|
||
|
||
this subscription's feed url
|
||
|
||
- **string**
|
||
|
||
this subscription's website url
|
||
|
||
- **string**
|
||
|
||
The favicon url to use for this feed
|
||
|
||
- **integer**int64
|
||
|
||
- **string**
|
||
|
||
- **integer**int32
|
||
|
||
position of the subscription's in the list
|
||
|
||
- **any**
|
||
|
||
- **string**
|
||
|
||
CEL string evaluated on new entries to mark them as read if they do not match
|
||
|
||
- **string**
|
||
|
||
- **boolean**
|
||
|
||
whether to send push notifications for new entries of this feed
|
||
|
||
- **integer**int32
|
||
|
||
automatically mark entries as read after this many days (null to disable)
|
||
|
||
|
||
- **boolean**
|
||
|
||
whether the category is expanded or collapsed
|
||
|
||
- **integer**int32
|
||
|
||
position of the category in the list
|
||
|
||
|
||
**object**
|
||
|
||
Category modification request
|
||
|
||
- **integer**int64
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
new name, null if not changed
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
- **integer**int32
|
||
|
||
new display position, null if not changed
|
||
|
||
|
||
**object**
|
||
|
||
- **integer**int64
|
||
|
||
- **boolean**
|
||
|
||
|
||
**object**
|
||
|
||
List of entries with some metadata
|
||
|
||
- **string**
|
||
|
||
name of the feed or the category requested
|
||
|
||
- **string**
|
||
|
||
- **integer**int32
|
||
|
||
times the server tried to refresh the feed and failed
|
||
|
||
- **string**
|
||
|
||
URL of the website, extracted from the feed, only filled if querying for feed entries, not category entries
|
||
|
||
- **integer**int64
|
||
|
||
list generation timestamp
|
||
|
||
- **boolean**
|
||
|
||
if the query has more elements
|
||
|
||
- **integer**int32
|
||
|
||
- **integer**int32
|
||
|
||
- **array<object>**
|
||
|
||
**object**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
comma-separated list of categories
|
||
|
||
- **boolean**
|
||
|
||
whether entry content and title are rtl
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
entry enclosure url, if any
|
||
|
||
- **string**
|
||
|
||
entry enclosure mime type, if any
|
||
|
||
- **string**
|
||
|
||
entry media description, if any
|
||
|
||
- **string**
|
||
|
||
entry media thumbnail url, if any
|
||
|
||
- **integer**int32
|
||
|
||
entry media thumbnail width, if any
|
||
|
||
- **integer**int32
|
||
|
||
entry media thumbnail height, if any
|
||
|
||
- **any**
|
||
|
||
- **any**
|
||
|
||
entry insertion date in the database
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
The favicon url to use for this feed
|
||
|
||
- **string**
|
||
|
||
- **boolean**
|
||
|
||
- **boolean**
|
||
|
||
- **boolean**
|
||
|
||
whether the entry is still markable (old entry statuses are discarded)
|
||
|
||
- **array<string>**
|
||
|
||
|
||
- **boolean**
|
||
|
||
if true, the unread flag was ignored in the request, all entries are returned regardless of their read status
|
||
|
||
|
||
**object**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
comma-separated list of categories
|
||
|
||
- **boolean**
|
||
|
||
whether entry content and title are rtl
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
entry enclosure url, if any
|
||
|
||
- **string**
|
||
|
||
entry enclosure mime type, if any
|
||
|
||
- **string**
|
||
|
||
entry media description, if any
|
||
|
||
- **string**
|
||
|
||
entry media thumbnail url, if any
|
||
|
||
- **integer**int32
|
||
|
||
entry media thumbnail width, if any
|
||
|
||
- **integer**int32
|
||
|
||
entry media thumbnail height, if any
|
||
|
||
- **any**
|
||
|
||
- **any**
|
||
|
||
entry insertion date in the database
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
The favicon url to use for this feed
|
||
|
||
- **string**
|
||
|
||
- **boolean**
|
||
|
||
- **boolean**
|
||
|
||
- **boolean**
|
||
|
||
whether the entry is still markable (old entry statuses are discarded)
|
||
|
||
- **array<string>**
|
||
|
||
|
||
**object**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 4096\] characters
|
||
|
||
|
||
**object**
|
||
|
||
Feed modification request
|
||
|
||
- **integer**int64
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
new name, null if not changed
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
- **integer**int32
|
||
|
||
new display position, null if not changed
|
||
|
||
- **string**≤ 4096 characters
|
||
|
||
CEL string evaluated on new entries to mark them as read if they do not match
|
||
|
||
- **boolean**
|
||
|
||
whether to send push notifications for new entries of this feed
|
||
|
||
- **integer**int32
|
||
|
||
automatically mark entries as read after this many days (null to disable)
|
||
|
||
|
||
**object**
|
||
|
||
**string**
|
||
|
||
**array**
|
||
|
||
- #0"always"
|
||
|
||
- #1"never"
|
||
|
||
- #2"on\_desktop"
|
||
|
||
- #3"on\_mobile"
|
||
|
||
|
||
**object**
|
||
|
||
Initial admin account setup request
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 128\] characters
|
||
|
||
entry id, category id, 'all' or 'starred'
|
||
|
||
- **boolean**
|
||
|
||
- **integer**int64
|
||
|
||
mark only entries older than this
|
||
|
||
- **integer**int64
|
||
|
||
pass the timestamp you got from the entry list to avoid marking entries that may have been fetched in the mean time and never displayed
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
only mark read if a feed has these keywords in the title or rss content
|
||
|
||
- **array<integer>**
|
||
|
||
if marking a category or 'all', exclude those subscriptions from the marking
|
||
|
||
|
||
**object**
|
||
|
||
- **array<object>**
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 128\] characters
|
||
|
||
entry id, category id, 'all' or 'starred'
|
||
|
||
- **boolean**
|
||
|
||
- **integer**int64
|
||
|
||
mark only entries older than this
|
||
|
||
- **integer**int64
|
||
|
||
pass the timestamp you got from the entry list to avoid marking entries that may have been fetched in the mean time and never displayed
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
only mark read if a feed has these keywords in the title or rss content
|
||
|
||
- **array<integer>**
|
||
|
||
if marking a category or 'all', exclude those subscriptions from the marking
|
||
|
||
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 255\] characters
|
||
|
||
email address for password recovery
|
||
|
||
- **string**≥ 1 characters
|
||
|
||
- **string**≥ 1 characters
|
||
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 255\] characters
|
||
|
||
email address for password recovery
|
||
|
||
|
||
**object**
|
||
|
||
Profile modification request
|
||
|
||
- **string**\[1, 128\] characters
|
||
|
||
current user password, required to change profile data
|
||
|
||
- **string**≤ 255 characters
|
||
|
||
changes email of the user, if specified
|
||
|
||
- **string**
|
||
|
||
changes password of the user, if specified
|
||
|
||
- **boolean**
|
||
|
||
|
||
**object**
|
||
|
||
User notification settings
|
||
|
||
- **string**
|
||
|
||
notification provider type
|
||
|
||
**array**
|
||
|
||
- #0"ntfy"
|
||
|
||
- #1"gotify"
|
||
|
||
- #2"pushover"
|
||
|
||
|
||
- **string**
|
||
|
||
server URL for ntfy or gotify
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
user secret for authentication with the service
|
||
|
||
- **string**
|
||
|
||
|
||
**string**
|
||
|
||
**array**
|
||
|
||
- #0"ntfy"
|
||
|
||
- #1"gotify"
|
||
|
||
- #2"pushover"
|
||
|
||
|
||
**string**
|
||
|
||
**string**
|
||
|
||
**object**
|
||
|
||
- **string**\[3, 32\] characters
|
||
|
||
username, between 3 and 32 characters
|
||
|
||
- **string**≥ 1 characters
|
||
|
||
- **string**\[1, 255\] characters
|
||
|
||
email address for password recovery
|
||
|
||
|
||
**string**
|
||
|
||
**array**
|
||
|
||
- #0"always"
|
||
|
||
- #1"never"
|
||
|
||
- #2"if\_needed"
|
||
|
||
|
||
**object**
|
||
|
||
- allowRegistrations
|
||
|
||
**boolean**
|
||
|
||
- emailAddressRequired
|
||
|
||
**boolean**
|
||
|
||
|
||
- demoAccountEnabled
|
||
|
||
**boolean**
|
||
|
||
|
||
- websocketPingInterval
|
||
|
||
**integer**int64
|
||
|
||
- treeReloadInterval
|
||
|
||
**integer**int64
|
||
|
||
- forceRefreshCooldownDuration
|
||
|
||
**integer**int64
|
||
|
||
- initialSetupRequired
|
||
|
||
**boolean**
|
||
|
||
- minimumPasswordLength
|
||
|
||
**integer**int32
|
||
|
||
- pushNotificationsEnabled
|
||
|
||
**boolean**
|
||
|
||
|
||
**object**
|
||
|
||
- **string**
|
||
|
||
user's preferred language, english if none
|
||
|
||
- **string**
|
||
|
||
user reads all entries or unread entries only
|
||
|
||
- **string**
|
||
|
||
user reads entries in ascending or descending order
|
||
|
||
- **boolean**
|
||
|
||
user wants category and feeds with no unread entries shown
|
||
|
||
- **boolean**
|
||
|
||
In expanded view, scroll through entries mark them as read
|
||
|
||
- **string**
|
||
|
||
user's custom css for the website
|
||
|
||
- **string**
|
||
|
||
user's custom js for the website
|
||
|
||
- **integer**int32
|
||
|
||
user's preferred scroll speed when navigating between entries
|
||
|
||
- **string**
|
||
|
||
whether to scroll to the selected entry
|
||
|
||
**array**
|
||
|
||
- #0"always"
|
||
|
||
- #1"never"
|
||
|
||
- #2"if\_needed"
|
||
|
||
|
||
- **integer**int32
|
||
|
||
number of entries to keep above the selected entry when scrolling
|
||
|
||
- **string**
|
||
|
||
whether to show the star icon in the header of entries
|
||
|
||
**array**
|
||
|
||
- #0"always"
|
||
|
||
- #1"never"
|
||
|
||
- #2"on\_desktop"
|
||
|
||
- #3"on\_mobile"
|
||
|
||
|
||
- **string**
|
||
|
||
whether to show the external link icon in the header of entries
|
||
|
||
**array**
|
||
|
||
- #0"always"
|
||
|
||
- #1"never"
|
||
|
||
- #2"on\_desktop"
|
||
|
||
- #3"on\_mobile"
|
||
|
||
|
||
- **boolean**
|
||
|
||
ask for confirmation when marking all entries as read
|
||
|
||
- **boolean**
|
||
|
||
navigate to the next unread category or feed after marking all entries as read
|
||
|
||
- **boolean**
|
||
|
||
show commafeed's own context menu on right click
|
||
|
||
- **boolean**
|
||
|
||
on mobile, show action buttons at the bottom of the screen
|
||
|
||
- **boolean**
|
||
|
||
show unread count in the title
|
||
|
||
- **boolean**
|
||
|
||
show unread count in the favicon
|
||
|
||
- **boolean**
|
||
|
||
- **string**
|
||
|
||
primary theme color to use in the UI
|
||
|
||
- **object**
|
||
|
||
- **object**
|
||
|
||
push notification settings
|
||
|
||
- **string**
|
||
|
||
notification provider type
|
||
|
||
**array**
|
||
|
||
- #0"ntfy"
|
||
|
||
- #1"gotify"
|
||
|
||
- #2"pushover"
|
||
|
||
|
||
- **string**
|
||
|
||
server URL for ntfy or gotify
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
user secret for authentication with the service
|
||
|
||
- **string**
|
||
|
||
|
||
|
||
**object**
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 128\] characters
|
||
|
||
- **integer**int64
|
||
|
||
- **boolean**
|
||
|
||
|
||
**object**
|
||
|
||
- **string**\[1, 4096\] characters
|
||
|
||
- **string**\[1, 128\] characters
|
||
|
||
name of the feed for the user
|
||
|
||
- **string**≤ 128 characters
|
||
|
||
id of the user category to place the feed in
|
||
|
||
|
||
**object**
|
||
|
||
- **integer**int64
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
error message while fetching the feed
|
||
|
||
- **integer**int32
|
||
|
||
- **any**
|
||
|
||
last time the feed was refreshed
|
||
|
||
- **any**
|
||
|
||
next time the feed refresh is planned, null if refresh is already queued
|
||
|
||
- **string**
|
||
|
||
this subscription's feed url
|
||
|
||
- **string**
|
||
|
||
this subscription's website url
|
||
|
||
- **string**
|
||
|
||
The favicon url to use for this feed
|
||
|
||
- **integer**int64
|
||
|
||
- **string**
|
||
|
||
- **integer**int32
|
||
|
||
position of the subscription's in the list
|
||
|
||
- **any**
|
||
|
||
- **string**
|
||
|
||
CEL string evaluated on new entries to mark them as read if they do not match
|
||
|
||
- **string**
|
||
|
||
- **boolean**
|
||
|
||
whether to send push notifications for new entries of this feed
|
||
|
||
- **integer**int32
|
||
|
||
automatically mark entries as read after this many days (null to disable)
|
||
|
||
|
||
**object**
|
||
|
||
- **integer**int64
|
||
|
||
- **array<string>**
|
||
|
||
|
||
**object**
|
||
|
||
- **any**
|
||
|
||
|
||
**object**
|
||
|
||
- **integer**int64
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
- **string**
|
||
|
||
user password, never returned by the api
|
||
|
||
- **boolean**
|
||
|
||
- **any**
|
||
|
||
- **any**
|
||
|
||
- **boolean**
|
||
|
||
- **any**
|