API-Referenz

Feeds (RSS)

RSS-/Atom-Feeds abonnieren, Einträge abrufen und Artikel als Notizen speichern. Unterstützt OPML-Import/-Export.

Typdefinitionen

bash
type Feed {
  id: ID!
  url: String!                # RSS/Atom URL
  name: String!               # display name (defaults to feed title)
  fetchContent: Boolean!      # when true, the server fetches the full article body
  updatedAt: String!
}

type FeedCount {
  feedId: ID!
  count: Int!                 # total entries
  unreadCount: Int!
}

type FeedEntry {
  id: ID!
  feedId: ID!
  title: String!
  description: String!        # short summary
  content: String!            # full article body (may be empty until fetched)
  url: String!                # canonical article URL
  publishedAt: String!        # ISO 8601
  read: Boolean!
  favorite: Boolean!
  tags: [Tag!]!
}

Operationen

query

feeds

Alle abonnierten Feeds auflisten.

bash
query GetFeeds {
  feeds { id url name fetchContent updatedAt }
}
query

feedsCount

Gesamt- und ungelesene Eintrags-Zähler pro Feed.

bash
query GetFeedsCount {
  feedsCount { feedId count unreadCount }
}
query

feedEntries

Feed-Einträge durchsuchen (Titel + Beschreibung). Abfrage leer lassen, um alle aufzulisten.

bash
query GetFeedEntries($offset: Int!, $limit: Int!, $query: String!) {
  feedEntries(offset: $offset, limit: $limit, query: $query) {
    id feedId title description content url publishedAt read favorite
    tags { id name }
  }
}
query

feedEntryCount

Anzahl der auf eine Abfrage passenden Feed-Einträge zählen.

bash
query GetFeedEntryCount($query: String!) {
  feedEntryCount(query: $query)
}
query

feedEntry

Einen einzelnen Feed-Eintrag anhand der ID abrufen.

bash
query GetFeedEntry($id: ID!) {
  feedEntry(id: $id) { id feedId title description content url publishedAt read favorite }
}
mutation

createFeed

Einen neuen Feed abonnieren. Der Server ruft den RSS-Kanal ab, um den Namen zu füllen, und startet dann eine einmalige Synchronisierung.

bash
mutation CreateFeed($url: String!, $fetchContent: Boolean!) {
  createFeed(url: $url, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}
mutation

updateFeed

Anzeigenamen oder fetchContent-Flag eines Feeds aktualisieren.

bash
mutation UpdateFeed($id: ID!, $name: String!, $fetchContent: Boolean!) {
  updateFeed(id: $id, name: $name, fetchContent: $fetchContent) { id url name fetchContent updatedAt }
}
mutation

deleteFeed

Von einem Feed abmelden und alle seine Einträge (und deren Tag-Beziehungen) löschen.

bash
mutation DeleteFeed($id: ID!) {
  deleteFeed(id: $id)
}
mutation

syncFeeds

Einen einmaligen Feed-Sync-Worker auslösen. id übergeben, um einen einzelnen Feed zu synchronisieren; null oder leer übergeben, um alle zu synchronisieren.

bash
mutation SyncFeeds($id: ID) {
  syncFeeds(id: $id)
}
mutation

syncFeedEntryContent

Fetch the full article body for a single feed entry. Returns the updated entry.

bash
mutation SyncFeedEntryContent($id: ID!) {
  syncFeedEntryContent(id: $id) { id content }
}
mutation

deleteFeedEntries

Feed-Einträge, die auf eine Abfrage passen, löschen (und deren Tag-Beziehungen).

bash
mutation DeleteFeedEntries($query: String!) {
  deleteFeedEntries(query: $query)
}
mutation

importFeeds

Ein OPML-Dokument (als String) in die Feeds-Datenbank importieren.

bash
mutation ImportFeeds($content: String!) {
  importFeeds(content: $content)
}
mutation

exportFeeds

Alle abonnierten Feeds als OPML-String exportieren.

bash
mutation ExportFeeds {
  exportFeeds
}