Pulse is API-first
The Pulse demo UI is one client of the same REST API that any external site or app can call directly. Endpoints return structured JSON — claims, entities, confidence labels and source links — ready to drop into your own product.
DayWeave is an example of the kind of third-party consumer this is designed for: a travel-planning app that pulls confirmed events and travel signals from Pulse and surfaces them alongside itinerary suggestions — without needing to build its own signal ingestion pipeline.
API key authentication is not yet finalised. The examples below omit auth headers. When keys are issued, a single Authorization: Bearer <key> header will be added.
POST /agent/pulse — quick start
const res = await fetch(
"https://api.pulse.bb/agent/pulse",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ query: "What's happening tonight?" }),
}
);
const data = await res.json();
console.log(data.claims);Example response
{
"claim_id": "cl_01hxr3m9qw2vz8kn",
"claim_type": "event_activity",
"text": "Live music at Harbour Lights, Friday night",
"topics": ["nightlife", "music"],
"sentiment": {
"label": "positive",
"score": 0.74,
"reason": "Upbeat language, no negative modifiers"
},
"entities": ["Harbour Lights", "St Lawrence Gap"],
"supporting_sources": [
{
"source_id": "src_q1007",
"url": "https://nationalnews.com/...",
"observed_at": "2026-08-01T21:14:00Z",
"excerpt": "Harbour Lights announced live sets from 9 pm Friday"
},
{
"source_id": "src_tiktok_creator_xyz",
"url": "https://tiktok.com/@bridgetownvibes/video/...",
"observed_at": "2026-08-01T22:03:00Z",
"excerpt": "Just pulled up to Harbour Lights — band is already on stage"
}
],
"confidence": "high",
"confidence_reason": "Two independent sources, both recent, both with explicit time and place",
"review_status": "confirmed"
}Field reference
claim_idstringUnique, stable identifier for this claim in the knowledge graph.
claim_typestringCategory of claim. Common values: "event_activity", "travel_alert", "sentiment_signal".
textstringHuman-readable summary of the claim as extracted from source material.
topicsstring[]Taxonomy tags assigned by the Triage agent.
sentimentobjectlabel ("positive" | "negative" | "neutral"), normalised score 0–1, and a brief reason string.
entitiesstring[]Named entities extracted and resolved against the knowledge graph (places, people, organisations).
supporting_sourcesobject[]Each source that contributed to this claim: its ID, original URL, UTC timestamp, and a short excerpt.
confidence"high" | "medium" | "low" | "needs_review"Output of the Confidence agent. Reflects source trust tier, recency, and number of corroborating sources.
confidence_reasonstringPlain-language explanation of why this confidence level was assigned.
review_status"confirmed" | "pending" | "flagged""confirmed" = passed automated checks. "pending" = awaiting confidence threshold. "flagged" = queued for human review.
All endpoints
/agent/pulseFull pulse summary — themes, entities, confidence/agent/topic-pulsePulse filtered to a specific topic/agent/sentiment-pulseSentiment breakdown across active signals/agent/entity-pulseEntity-centric view of current signals/agent/operator-briefOperator-level digest for dashboards/agent/build-itineraryBuilds a user itinerary from confirmed events/agent/data-qualityData quality report on ingested signals/agent/flag-reviewSubmit a claim for human review/agent/provenance/{id}Full provenance chain for a claim ID/dashboard/review-queueCurrent items queued for human review