Skip to main content

Documentation Index

Fetch the complete documentation index at: https://hc.starbridge.ai/llms.txt

Use this file to discover all available pages before exploring further.

When a bridge row is created or updated, Starbridge sends an HTTP POST request to your webhook URL with the row data.

Headers

Every request includes three headers used for signature verification:
HeaderDescriptionExample
webhook-idUnique identifier for this webhook deliverymsg_350d6ad7-13e1-47f8-8111-33f96313fabe
webhook-timestampUnix timestamp (seconds) when the request was sent1775589603
webhook-signatureEd25519 signature, prefixed with v1a,v1a,oB5S13Gyt...YuxkAg==

Event types

Event typeDescription
bridge.row.createdA new row was added to the bridge
bridge.row.updatedAn existing row was updated

Payload structure

The body is a JSON object with the following structure:
{
  "type": "bridge.row.created",
  "timestamp": "2026-04-09T15:57:42.586897Z",
  "data": {
    "rowId": "3c39eb0d-61f5-4cd4-9b77-93b6daeb59b3",
    "name": "City of Fort Worth",
    "bridgeId": "201377ef-0ae3-4103-988c-ed6ebfac03a6",
    "updatedAt": "2026-04-09T15:57:11.197818Z",
    "status": "Processed",
    "columns": {
      "Status": {
        "value": "New",
        "status": "Processed",
        "processedAt": "2026-04-09T15:57:11.008777Z"
      },
      "Buyer State Name": {
        "value": "Texas",
        "status": "Processed",
        "processedAt": "2026-04-09T15:57:12.482506Z"
      },
      "Buyer Summary": {
        "value": "## What's recent?\n\n**Municipal signal emergence...**",
        "status": "Processed",
        "processedAt": "2026-04-09T15:57:41.359512Z"
      }
    }
  }
}

Field reference

FieldTypeDescription
typestring"bridge.row.created" or "bridge.row.updated"
timestampstringISO 8601 timestamp of when the webhook was created
data.rowIdstringUnique ID of the bridge row
data.namestringName of the row (nullable)
data.bridgeIdstringID of the bridge this row belongs to
data.updatedAtstringWhen the row was last updated
data.statusstringProcessing status of the row
data.columnsobjectMap of column names to their values and status
data.columns[name].valueanyThe computed value for this column (string, object, etc.)
data.columns[name].statusstringProcessing status of this column
data.columns[name].processedAtstringWhen this column finished processing

Response

Your endpoint should return an HTTP 200 status code to indicate successful receipt. Any other status code is treated as a failure — see Error Handling and Retries for details.

Quick reference

  • Signature algorithm: Ed25519 (asymmetric)
  • Signed message format: {webhook-id}.{webhook-timestamp}.{body}
  • Signature header format: v1a,{base64_signature}
  • Public key format: whpk_{base64_key} (DER-encoded X.509/SPKI)
  • Event types: bridge.row.created, bridge.row.updated
  • Request timeout: 30 seconds
  • Based on: Standard Webhooks specification