PulseBetaAbout Pulse
BackIntegrate Pulse
Developer docs

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.

🔑
Coming soon

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

fetch (JavaScript)
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

Illustrative — matches real claim schema
JSON response (example)
{
  "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_idstring

Unique, stable identifier for this claim in the knowledge graph.

claim_typestring

Category of claim. Common values: "event_activity", "travel_alert", "sentiment_signal".

textstring

Human-readable summary of the claim as extracted from source material.

topicsstring[]

Taxonomy tags assigned by the Triage agent.

sentimentobject

label ("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_reasonstring

Plain-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

POST
/agent/pulseFull pulse summary — themes, entities, confidence
POST
/agent/topic-pulsePulse filtered to a specific topic
POST
/agent/sentiment-pulseSentiment breakdown across active signals
POST
/agent/entity-pulseEntity-centric view of current signals
POST
/agent/operator-briefOperator-level digest for dashboards
POST
/agent/build-itineraryBuilds a user itinerary from confirmed events
POST
/agent/data-qualityData quality report on ingested signals
POST
/agent/flag-reviewSubmit a claim for human review
GET
/agent/provenance/{id}Full provenance chain for a claim ID
GET
/dashboard/review-queueCurrent items queued for human review
How Pulse Works
Pipeline overview, confidence model, source adapters