Webhooks

Initiative updated

Sent when an Initiative's intrinsic properties change (title, description, status, dates, external id, confidence, progress). Verify the signature and respond 2xx.

postWebhookinitiative.updated

Headers

X-Workpath-Eventstring required
Example:goal.created

The event key (matches event in the body).

X-Workpath-Signaturestring required

Base64-encoded raw Ed25519 signature of the exact request body.

X-Workpath-Key-IDstring required
Example:production

Identifies which published public key signed this delivery.

Payload

schema_versioninteger required

Envelope schema version. Increments only on breaking changes (field removal, rename, type change). Additive new fields do not bump it — consumers must ignore unknown fields.

account_subdomainstring required

Subdomain of the Workpath account the event belongs to (e.g. acme for acme.workpath.com). Useful if your organization has multiple Workpath subdomains.

eventstring required

The event key, e.g. goal.created. Matches the X-Workpath-Event header.

event_idinteger required

Monotonic, 1-based sequence number scoped to your subscription. Use it as an idempotency key — retried deliveries reuse the same value.

created_atstring date-time required

When the event occurred in Workpath (not when it was delivered).

Example payload

{
  "schema_version": 1,
  "account_subdomain": "acme",
  "event": "goal.created",
  "event_id": 9,
  "created_at": "2026-04-30T09:17:32Z",
  "data": {
    "id": 8912,
    "title": "Launch self-service onboarding flow",
    "description": "Replace the assisted setup with a guided product tour.",
    "status": "in_progress",
    "confidence_level": 7,
    "progress": 0.4,
    "start_date": "2026-02-01",
    "target_date": "2026-05-31",
    "external_id": "PRJ-1042"
  }
}

Response

Any 2xx acknowledges receipt. A non-2xx response or timeout is retried.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.