Sources
A source is an endpoint plus a fetch schedule — registered once, then fetched on its own cron, politely, with auth when the origin needs it.
Formats
The source's type selects the parser — each one reading the format's real conventions, not a lowest common denominator.
guid (falling back to link), with content:encoded and dc:creator read when present.id, body from content_html falling back to content_text.mutation { feeds { sources { add(input: { name: "Example News" configuration: { type: RSS endpoint: "https://example.com/feed.xml" cronInterval: "0 * * * *" enabled: true } }) { id url } } } }
Scheduling
Every enabled source runs on its own cron — and every scheduled fetch is conditional, so unchanged feeds cost one round trip and nothing more.
cronInterval; enabling creates it, disabling removes it, and edits reschedule it from scratch.If-None-Match / If-Modified-Since — a 304 short-circuits to a no-op.304 Not Modifiedno-op200 · 3 new itemsingestedAuth & ownership
Protected feeds get outbound credentials; personal feeds get personal sources — with the secret handled the way secrets should be.
authSecret, stored in the platform's configuration service, never returned by any query. Deleting the source deletes the secret.0 * * * *Keep exploring