Subscribe once and receive every state change as it happens. Events are signed, delivered at least once, and retried with exponential backoff for 24 hours.
Events
EventSent when
project.createdA project is created, in the app or over the API.
project.stage_changedA verified step moves the project to a new stage.
proposal.acceptedThe customer accepts a proposal.
sop_step.verifiedA manager verifies a step's evidence.
milestone.releasedA milestone payment is released.
Subscribe an endpoint
POST/v1/webhook_endpoints
Register a URL to receive events. The response includes the signing secret — it is shown once.
Each delivery carries a ReDesk-Signature header: a timestamp and an HMAC-SHA256 of timestamp.body keyed with your endpoint's secret. Reject anything older than five minutes.
Respond with a 2xx within 10 seconds and do the work asynchronously. Deliveries can arrive more than once or out of order — deduplicate on the event id.