{"openapi":"3.1.0","info":{"title":"Daybrief API","version":"0.1.0","description":"The news, clustered across outlets and cut to what you asked for. Headlines, summaries and links only.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://daybrief.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/daybrief/docs"},"termsOfService":"https://connectorbay.com/daybrief/terms"},"servers":[{"url":"https://daybrief.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/daybrief/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/top_stories":{"post":{"operationId":"top_stories","summary":"The biggest stories in a section right now, clustered across outlets: one headline per story, how many outlets","description":"The biggest stories in a section right now, clustered across outlets: one headline per story, how many outlets\n    are covering it, a one-line summary and links to each outlet's version. Use for \"what's the news\", \"what's happening\n    in tech/business/science\", and as the first call for any digest.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"section":{"default":"top","description":"One of: top, world, us, politics, business, tech, science, health, sports, entertainment.","examples":["top","tech"],"title":"Section","type":"string"},"hours":{"default":24,"description":"How far back to look, in hours (1–72).","maximum":72,"minimum":1,"title":"Hours","type":"integer"},"limit":{"default":12,"description":"Maximum stories to return.","maximum":40,"minimum":1,"title":"Limit","type":"integer"},"mute":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Topics or words to leave out entirely, e.g. ['election', 'celebrity']. Matched against headline and summary.","examples":[["politics"],["Trump","Kardashian"]],"title":"Mute"}},"title":"top_storiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/briefing":{"post":{"operationId":"briefing","summary":"A personal news briefing in one call: the top clustered stories for each interest (sections or free-text topics),","description":"A personal news briefing in one call: the top clustered stories for each interest (sections or free-text topics),\n    with muted topics removed, deduplicated across interests, and a reading-time estimate. Use for \"catch me up\",\n    \"morning briefing\", \"what did I miss\", \"news but nothing about X\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"interests":{"default":["top"],"description":"Sections and/or free-text topics, e.g. ['top', 'tech', 'climate', 'Warriors']. Sections come from top_stories; topics are matched against every feed.","items":{"type":"string"},"maxItems":8,"minItems":1,"title":"Interests","type":"array"},"mute":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Topics or words to leave out entirely, e.g. ['election', 'celebrity']. Matched against headline and summary.","examples":[["politics"],["Trump","Kardashian"]],"title":"Mute"},"hours":{"default":18,"description":"How far back to look, in hours (1–72).","maximum":72,"minimum":1,"title":"Hours","type":"integer"},"per_interest":{"default":4,"description":"Stories per interest (1–8).","maximum":8,"minimum":1,"title":"Per Interest","type":"integer"},"include_tech_pulse":{"default":true,"description":"Add the Hacker News front page when interests include tech.","title":"Include Tech Pulse","type":"boolean"}},"title":"briefingArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/most_covered":{"post":{"operationId":"most_covered","summary":"The stories the most outlets are covering right now, across every section: the cross-outlet consensus of what","description":"The stories the most outlets are covering right now, across every section: the cross-outlet consensus of what\n    matters today. Use for \"what's the biggest story\", \"what's everyone talking about\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"hours":{"default":12,"description":"How far back to look, in hours (1–72).","maximum":72,"minimum":1,"title":"Hours","type":"integer"},"limit":{"default":10,"description":"Maximum stories to return.","maximum":40,"minimum":1,"title":"Limit","type":"integer"},"mute":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Topics or words to leave out entirely, e.g. ['election', 'celebrity']. Matched against headline and summary.","examples":[["politics"],["Trump","Kardashian"]],"title":"Mute"}},"title":"most_coveredArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_news":{"post":{"operationId":"search_news","summary":"Find coverage of a topic: first across the curated publisher feeds (clustered), then, if requested, GDELT's","description":"Find coverage of a topic: first across the curated publisher feeds (clustered), then, if requested, GDELT's\n    worldwide index for outlets we don't carry. Use for \"any news about X\", \"what's the latest on Y\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Topic, person, place or phrase.","examples":["wildfire evacuation","Federal Reserve","Nvidia"],"title":"Query","type":"string"},"hours":{"default":48,"description":"How far back to look, in hours (1–72).","maximum":72,"minimum":1,"title":"Hours","type":"integer"},"limit":{"default":15,"description":"Maximum stories to return.","maximum":40,"minimum":1,"title":"Limit","type":"integer"},"worldwide":{"default":true,"description":"Also search GDELT's global index of tens of thousands of outlets (slower; may be throttled).","title":"Worldwide","type":"boolean"}},"required":["query"],"title":"search_newsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/story_timeline":{"post":{"operationId":"story_timeline","summary":"How coverage of a topic rose and fell day by day (share of all monitored global news, from GDELT), plus the","description":"How coverage of a topic rose and fell day by day (share of all monitored global news, from GDELT), plus the\n    peak day. Use for \"is this story growing or fading\", \"when did this blow up\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Topic or phrase to trace.","examples":["Iran ceasefire","interest rates"],"title":"Query","type":"string"},"days":{"default":7,"description":"Days back (2–30).","maximum":30,"minimum":2,"title":"Days","type":"integer"}},"required":["query"],"title":"story_timelineArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/coverage":{"post":{"operationId":"coverage","summary":"Who is covering a story: which of the curated outlets have it (with their headlines), how many, and, when GDELT","description":"Who is covering a story: which of the curated outlets have it (with their headlines), how many, and, when GDELT\n    is reachable, which countries' press are covering it. Use for \"is this being widely reported\", \"how is X being\n    covered abroad\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Story or topic.","examples":["UN General Assembly"],"title":"Query","type":"string"},"hours":{"default":24,"description":"How far back to look, in hours (1–72).","maximum":72,"minimum":1,"title":"Hours","type":"integer"}},"required":["query"],"title":"coverageArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/local_news":{"post":{"operationId":"local_news","summary":"Recent coverage mentioning a place, from the curated feeds and GDELT's index of local outlets. Use for \"what's","description":"Recent coverage mentioning a place, from the curated feeds and GDELT's index of local outlets. Use for \"what's\n    happening in <city>\". Note: national feeds rarely cover small towns; GDELT does.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"location":{"description":"City and state, or region.","examples":["Menlo Park, CA","Bay Area","Austin"],"title":"Location","type":"string"},"hours":{"default":48,"description":"How far back to look, in hours (1–72).","maximum":72,"minimum":1,"title":"Hours","type":"integer"},"limit":{"default":15,"description":"Maximum stories to return.","maximum":40,"minimum":1,"title":"Limit","type":"integer"}},"required":["location"],"title":"local_newsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/outlet_feed":{"post":{"operationId":"outlet_feed","summary":"The latest headlines from one outlet across the sections we carry for it. Use when the user names a source.","description":"The latest headlines from one outlet across the sections we carry for it. Use when the user names a source.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"outlet":{"description":"Outlet name or id, e.g. 'NPR', 'BBC', 'Guardian', 'Ars Technica'.","title":"Outlet","type":"string"},"limit":{"default":15,"description":"Maximum stories to return.","maximum":40,"minimum":1,"title":"Limit","type":"integer"},"mute":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Topics or words to leave out entirely, e.g. ['election', 'celebrity']. Matched against headline and summary.","examples":[["politics"],["Trump","Kardashian"]],"title":"Mute"}},"required":["outlet"],"title":"outlet_feedArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/catch_up":{"post":{"operationId":"catch_up","summary":"\"What did I miss?\" — the most-covered stories published since the user was last looking, optionally focused on","description":"\"What did I miss?\" — the most-covered stories published since the user was last looking, optionally focused on\n    their interests and with muted topics removed, sized to read in a couple of minutes.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"since_hours":{"default":12,"description":"How long they've been away, in hours (2–72).","maximum":72,"minimum":2,"title":"Since Hours","type":"integer"},"interests":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional sections/topics to focus on; default: the most-covered stories overall.","title":"Interests"},"mute":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Topics or words to leave out entirely, e.g. ['election', 'celebrity']. Matched against headline and summary.","examples":[["politics"],["Trump","Kardashian"]],"title":"Mute"},"limit":{"default":8,"description":"Maximum stories to return.","maximum":40,"minimum":1,"title":"Limit","type":"integer"}},"title":"catch_upArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/whats_happening":{"post":{"operationId":"whats_happening","summary":"Wikipedia's editor-curated current-events digest for a day: armed conflicts, disasters, politics, science, sports","description":"Wikipedia's editor-curated current-events digest for a day: armed conflicts, disasters, politics, science, sports\n    and more, each item with source links and the Wikipedia topics involved. A calm, sourced overview; use alongside\n    top_stories for context and for \"what happened on <date>\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"day":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"YYYY-MM-DD (UTC). Default: today.","title":"Day"}},"title":"whats_happeningArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/background":{"post":{"operationId":"background","summary":"Wikipedia's summary of a topic plus, optionally, the current stories mentioning it: the \"who/what is this\"","description":"Wikipedia's summary of a topic plus, optionally, the current stories mentioning it: the \"who/what is this\"\n    behind a headline. Use for \"explain the background\", \"who is X\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"description":"A person, place, organisation or thing in the news.","examples":["Kalshi","Strait of Hormuz","Federal Reserve"],"title":"Topic","type":"string"},"with_news":{"default":true,"description":"Also attach current coverage from the curated feeds.","title":"With News","type":"boolean"}},"required":["topic"],"title":"backgroundArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/tech_pulse":{"post":{"operationId":"tech_pulse","summary":"What builders are reading: the Hacker News front page with points, comment counts, source domains and discussion","description":"What builders are reading: the Hacker News front page with points, comment counts, source domains and discussion\n    links. Use for \"what's on HN\", \"what's the tech community talking about\", startup and developer news.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"default":15,"description":"How many (1–30).","maximum":30,"minimum":1,"title":"Limit","type":"integer"},"ranking":{"default":"top","description":"'top' (front page), 'best' (highest voted recently) or 'new'.","title":"Ranking","type":"string"}},"title":"tech_pulseArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/story_context":{"post":{"operationId":"story_context","summary":"Context for a link someone shared: the page's own title, summary, outlet, author and publish time (from its meta","description":"Context for a link someone shared: the page's own title, summary, outlet, author and publish time (from its meta\n    tags, like any link preview), plus other outlets' coverage of the same story from the curated feeds and Wikipedia\n    background on the main topic. Use when a user pastes a news link and asks \"is this true / what's this about / who\n    else is reporting it\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"url":{"description":"A link to a news article the user shared.","title":"Url","type":"string"}},"required":["url"],"title":"story_contextArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/outlets":{"post":{"operationId":"outlets","summary":"The outlets and sections Daybrief carries, with feed ids, for outlet_feed and to explain coverage.","description":"The outlets and sections Daybrief carries, with feed ids, for outlet_feed and to explain coverage.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"outletsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}