sherlock.
OBSERVABILITY / MODULE REFERENCE

Pulse

Make trust telemetry, risk scores, and latency aggregated and understandable.

Direct API: POST /api/v1/modules/pulseManage API keys ↗View code boilerplate ↗

When to use it

Summarize pipeline health in your own monitoring service or downstream in a published workflow graph.

Supported Operations & Data Contracts

Call this module with a key scoped to 'pulse'. Provide the operation name and matching input dictionary.

observe · Aggregate Scores or Query Historical TelemetryPOST /api/v1/modules/pulse

Computes trust score averages and latency metrics across transactions, or retrieves historical telemetry recorded under this integration.

Input Parameters

FieldTypeRequirementDescription
samplesnumber[]OptionalArray of risk/authenticity scores (0-100) for stateless aggregation.
latenciesnumber[]OptionalArray of transaction latencies in milliseconds (0-300,000 ms).
limitnumberOptionalWhen samples are omitted, max historical observations to retrieve (1-1000, default 100).

Output Fields

FieldTypeDescription
countnumberTotal number of samples evaluated.
latestnumber | nullMost recent score in the batch.
meannumber | nullAverage trust/authenticity score.
meanLatencyMsnumber | nullAverage processing latency across calls.
sourcestringLabelled 'caller-supplied' for stateless runs.

Example Request Payload

JSON Request BodyContent-Type: application/json
{
  "operation": "observe",
  "input": {
    "samples": [
      88,
      94,
      91
    ],
    "latencies": [
      120,
      145,
      130
    ]
  }
}

Example Response

JSON Response (HTTP 200)Cache-Control: no-store
{
  "module": "pulse",
  "output": {
    "count": 3,
    "latest": 91,
    "mean": 91,
    "meanLatencyMs": 131.67,
    "source": "caller-supplied"
  }
}

Configuration in Graph Builder

When adding Pulse into a visual component or graph workflow, configure its node runtime settings in the builder inspector:

Use Pulse as a telemetry collector. Configure node runtime with 'observe'. Use multi-source bindings with select: 'all' to gather scores from multiple upstream verification or policy nodes into 'input.samples'.

Direct API Code Examples

Invoke this module directly from your backend services without passing through the visual builder:

TypeScript / Node.js (Fetch)index.ts
const response = await fetch("https://api.sherlock.dev/api/v1/modules/pulse", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.SHERLOCK_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    operation: "observe",
    input: { samples: [90, 85, 95], latencies: [150, 180, 140] }
  }),
});
const { output } = await response.json();
console.log("Mean Trust:", output.mean, "Latency:", output.meanLatencyMs);
cURL / Bashterminal
curl -X POST "$SHERLOCK_BASE_URL/api/v1/modules/pulse" \
  -H "Authorization: Bearer $SHERLOCK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"observe","input":{"samples":[85,92,88],"latencies":[140,175,160]}}'

Current Boundaries & Guarantees

Stored observations contain module Voiceprint and Policy results attributed to this owner. Pulse does not calculate authorization rules or analyze speech patterns.

Related Trust Modules